├── .cargo
└── config.toml
├── .codesandbox
└── task.json
├── .devcontainer
├── build.sh
├── devcontainer.json
├── docker-compose.yml
└── setup-user.sh
├── .docker
├── dev
│ ├── .env.example
│ ├── .gitignore
│ ├── README.md
│ ├── certs
│ │ └── .gitkeep
│ ├── compose.yml.example
│ ├── nginx
│ │ └── nginx.conf
│ └── templates
│ │ ├── nginx.conf
│ │ └── openssl.conf
└── selfhost
│ ├── .env.example
│ ├── .gitignore
│ ├── compose.yml
│ ├── config.example.json
│ └── schema.json
├── .editorconfig
├── .gitattributes
├── .github
├── CLA.md
├── CODEOWNERS
├── FUNDING.yml
├── ISSUE_TEMPLATE
│ ├── BUG-REPORT.yml
│ ├── FEATURE-REQUEST.yml
│ └── config.yml
├── actions
│ ├── build-rust
│ │ └── action.yml
│ ├── cluster-auth
│ │ └── action.yml
│ ├── copilot-test
│ │ └── action.yml
│ ├── deploy
│ │ ├── action.yml
│ │ └── deploy.mjs
│ ├── download-web
│ │ └── action.yml
│ ├── prepare-release
│ │ └── action.yml
│ ├── server-test-env
│ │ └── action.yml
│ ├── setup-node
│ │ └── action.yml
│ ├── setup-sentry
│ │ └── action.yml
│ └── setup-version
│ │ └── action.yml
├── auto_assign.yml
├── deployment
│ ├── front
│ │ ├── Dockerfile
│ │ ├── affine.nginx.conf
│ │ └── nginx.conf
│ └── node
│ │ └── Dockerfile
├── helm
│ ├── affine
│ │ ├── .helmignore
│ │ ├── Chart.yaml
│ │ ├── charts
│ │ │ ├── doc
│ │ │ │ ├── Chart.yaml
│ │ │ │ ├── templates
│ │ │ │ │ ├── NOTES.txt
│ │ │ │ │ ├── _helpers.tpl
│ │ │ │ │ ├── deployment.yaml
│ │ │ │ │ ├── service.yaml
│ │ │ │ │ ├── serviceaccount.yaml
│ │ │ │ │ └── tests
│ │ │ │ │ │ └── test-connection.yaml
│ │ │ │ └── values.yaml
│ │ │ ├── gcloud-sql-proxy
│ │ │ │ ├── .helmignore
│ │ │ │ ├── Chart.yaml
│ │ │ │ ├── templates
│ │ │ │ │ ├── NOTES.txt
│ │ │ │ │ ├── _helpers.tpl
│ │ │ │ │ ├── deployment.yaml
│ │ │ │ │ ├── service.yaml
│ │ │ │ │ ├── serviceaccount.yaml
│ │ │ │ │ └── tests
│ │ │ │ │ │ └── test-connection.yaml
│ │ │ │ └── values.yaml
│ │ │ ├── graphql
│ │ │ │ ├── Chart.yaml
│ │ │ │ ├── templates
│ │ │ │ │ ├── NOTES.txt
│ │ │ │ │ ├── _helpers.tpl
│ │ │ │ │ ├── deployment.yaml
│ │ │ │ │ ├── migration.yaml
│ │ │ │ │ ├── secret.yaml
│ │ │ │ │ ├── service.yaml
│ │ │ │ │ ├── serviceaccount.yaml
│ │ │ │ │ └── tests
│ │ │ │ │ │ └── test-connection.yaml
│ │ │ │ └── values.yaml
│ │ │ ├── renderer
│ │ │ │ ├── Chart.yaml
│ │ │ │ ├── templates
│ │ │ │ │ ├── NOTES.txt
│ │ │ │ │ ├── _helpers.tpl
│ │ │ │ │ ├── deployment.yaml
│ │ │ │ │ ├── service.yaml
│ │ │ │ │ ├── serviceaccount.yaml
│ │ │ │ │ └── tests
│ │ │ │ │ │ └── test-connection.yaml
│ │ │ │ └── values.yaml
│ │ │ ├── sync
│ │ │ │ ├── .helmignore
│ │ │ │ ├── Chart.yaml
│ │ │ │ ├── templates
│ │ │ │ │ ├── NOTES.txt
│ │ │ │ │ ├── _helpers.tpl
│ │ │ │ │ ├── deployment.yaml
│ │ │ │ │ ├── service.yaml
│ │ │ │ │ ├── serviceaccount.yaml
│ │ │ │ │ └── tests
│ │ │ │ │ │ └── test-connection.yaml
│ │ │ │ └── values.yaml
│ │ │ └── web
│ │ │ │ ├── .helmignore
│ │ │ │ ├── Chart.yaml
│ │ │ │ ├── templates
│ │ │ │ ├── NOTES.txt
│ │ │ │ ├── _helpers.tpl
│ │ │ │ ├── deployment.yaml
│ │ │ │ ├── service.yaml
│ │ │ │ ├── serviceaccount.yaml
│ │ │ │ └── tests
│ │ │ │ │ └── test-connection.yaml
│ │ │ │ └── values.yaml
│ │ ├── templates
│ │ │ ├── _helpers.tpl
│ │ │ ├── configmap.yaml
│ │ │ ├── indexer-secret.yaml
│ │ │ ├── ingress.yaml
│ │ │ ├── monitoring.yaml
│ │ │ ├── pg-secret.yaml
│ │ │ └── redis-secret.yaml
│ │ └── values.yaml
│ ├── releaser.yaml
│ └── separate-config
│ │ ├── Dockerfile_pgvector
│ │ └── backend-config.yaml
├── labeler.yml
├── renovate.json
└── workflows
│ ├── auto-labeler.yml
│ ├── build-images.yml
│ ├── build-test.yml
│ ├── copilot-test-automatically.yml
│ ├── copilot-test.yml
│ ├── pr-title-lint.yml
│ ├── release-cloud.yml
│ ├── release-desktop.yml
│ ├── release-mobile.yml
│ ├── release.yml
│ ├── sync-i18n.yml
│ └── windows-signer.yml
├── .gitignore
├── .husky
└── pre-commit
├── .npmrc
├── .nvmrc
├── .prettierignore
├── .prettierrc
├── .taplo.toml
├── .vscode
├── extensions.json
├── launch.template.json
└── settings.template.json
├── .yarn
├── patches
│ ├── @atlaskit-pragmatic-drag-and-drop-npm-1.4.0-75c45f52d3.patch
│ ├── @nestjs-testing-npm-10.4.15-d591a1705a.patch
│ ├── decode-named-character-reference-npm-1.0.2-db17a755fd.patch
│ ├── tinykeys-npm-2.1.0-819feeaed0.patch
│ └── yjs-npm-13.6.21-c9f1f3397c.patch
└── releases
│ └── yarn-4.9.1.cjs
├── .yarnrc.yml
├── CHANGELOG.md
├── Cargo.lock
├── Cargo.toml
├── LICENSE
├── LICENSE-MIT
├── README.md
├── SECURITY.md
├── blocksuite
├── affine
│ ├── all
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── __tests__
│ │ │ │ ├── adapters
│ │ │ │ │ ├── html.unit.spec.ts
│ │ │ │ │ ├── markdown.unit.spec.ts
│ │ │ │ │ ├── notion-html.unit.spec.ts
│ │ │ │ │ ├── notion-text.unit.spec.ts
│ │ │ │ │ └── plain-text.unit.spec.ts
│ │ │ │ ├── database
│ │ │ │ │ ├── database.unit.spec.ts
│ │ │ │ │ └── typesystem.unit.spec.ts
│ │ │ │ └── utils
│ │ │ │ │ ├── create-job.ts
│ │ │ │ │ ├── get-provider.ts
│ │ │ │ │ ├── nanoid-replacement.ts
│ │ │ │ │ └── store.ts
│ │ │ ├── blocks
│ │ │ │ ├── attachment
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── bookmark
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── callout
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── code
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── data-view
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── database
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── divider
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── edgeless-text
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── embed-doc
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── embed
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── frame
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── image
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── latex
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── list
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── note
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── paragraph
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── root
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── surface-ref
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── surface
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ └── table
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ ├── components
│ │ │ │ ├── block-selection.ts
│ │ │ │ ├── block-zero-width.ts
│ │ │ │ ├── caption.ts
│ │ │ │ ├── card-style-dropdown-menu.ts
│ │ │ │ ├── citation.ts
│ │ │ │ ├── color-picker.ts
│ │ │ │ ├── context-menu.ts
│ │ │ │ ├── date-picker.ts
│ │ │ │ ├── drop-indicator.ts
│ │ │ │ ├── edgeless-line-styles-panel.ts
│ │ │ │ ├── edgeless-line-width-panel.ts
│ │ │ │ ├── edgeless-shape-color-picker.ts
│ │ │ │ ├── embed-card-modal.ts
│ │ │ │ ├── filterable-list.ts
│ │ │ │ ├── highlight-dropdown-menu.ts
│ │ │ │ ├── hover.ts
│ │ │ │ ├── icon-button.ts
│ │ │ │ ├── icons.ts
│ │ │ │ ├── link-preview.ts
│ │ │ │ ├── linked-doc-title.ts
│ │ │ │ ├── notification.ts
│ │ │ │ ├── open-doc-dropdown-menu.ts
│ │ │ │ ├── peek.ts
│ │ │ │ ├── portal.ts
│ │ │ │ ├── resource.ts
│ │ │ │ ├── size-dropdown-menu.ts
│ │ │ │ ├── smooth-corner.ts
│ │ │ │ ├── toast.ts
│ │ │ │ ├── toggle-button.ts
│ │ │ │ ├── toggle-switch.ts
│ │ │ │ ├── toolbar.ts
│ │ │ │ ├── tooltip-content-with-shortcut.ts
│ │ │ │ ├── tooltip.ts
│ │ │ │ └── view-dropdown-menu.ts
│ │ │ ├── data-view
│ │ │ │ ├── effects.ts
│ │ │ │ └── index.ts
│ │ │ ├── effects.ts
│ │ │ ├── ext-loader
│ │ │ │ └── index.ts
│ │ │ ├── extensions
│ │ │ │ ├── store.ts
│ │ │ │ └── view.ts
│ │ │ ├── foundation
│ │ │ │ ├── clipboard.ts
│ │ │ │ ├── store.ts
│ │ │ │ └── view.ts
│ │ │ ├── fragments
│ │ │ │ ├── adapter-panel
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── doc-title
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── frame-panel
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── view.ts
│ │ │ │ └── outline
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── view.ts
│ │ │ ├── gfx
│ │ │ │ ├── brush
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── connector
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── group
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── link
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── mindmap
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── note
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── pointer
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── shape
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── template
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── text
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ └── turbo-renderer.ts
│ │ │ ├── global
│ │ │ │ ├── di.ts
│ │ │ │ ├── disposable.ts
│ │ │ │ ├── env.ts
│ │ │ │ ├── exceptions.ts
│ │ │ │ ├── gfx.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── lit.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── utils.ts
│ │ │ ├── index.ts
│ │ │ ├── inlines
│ │ │ │ ├── comment
│ │ │ │ │ └── index.ts
│ │ │ │ ├── footnote
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── latex
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── link
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── mention
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── preset
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ │ └── reference
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── view.ts
│ │ │ ├── model
│ │ │ │ └── index.ts
│ │ │ ├── rich-text
│ │ │ │ ├── effects.ts
│ │ │ │ └── index.ts
│ │ │ ├── schemas.ts
│ │ │ ├── shared
│ │ │ │ ├── adapters.ts
│ │ │ │ ├── commands.ts
│ │ │ │ ├── consts.ts
│ │ │ │ ├── selection.ts
│ │ │ │ ├── services.ts
│ │ │ │ ├── styles.ts
│ │ │ │ ├── theme.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── utils.ts
│ │ │ ├── std
│ │ │ │ ├── effects.ts
│ │ │ │ ├── gfx.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── inline.ts
│ │ │ ├── store
│ │ │ │ ├── index.ts
│ │ │ │ └── test.ts
│ │ │ ├── sync
│ │ │ │ └── index.ts
│ │ │ └── widgets
│ │ │ │ ├── drag-handle
│ │ │ │ ├── index.ts
│ │ │ │ └── view.ts
│ │ │ │ ├── edgeless-auto-connect
│ │ │ │ ├── index.ts
│ │ │ │ └── view.ts
│ │ │ │ ├── edgeless-dragging-area
│ │ │ │ ├── index.ts
│ │ │ │ └── view.ts
│ │ │ │ ├── edgeless-selected-rect
│ │ │ │ ├── index.ts
│ │ │ │ └── view.ts
│ │ │ │ ├── edgeless-toolbar
│ │ │ │ ├── index.ts
│ │ │ │ └── view.ts
│ │ │ │ ├── edgeless-zoom-toolbar
│ │ │ │ ├── index.ts
│ │ │ │ └── view.ts
│ │ │ │ ├── frame-title
│ │ │ │ ├── index.ts
│ │ │ │ └── view.ts
│ │ │ │ ├── keyboard-toolbar
│ │ │ │ ├── index.ts
│ │ │ │ └── view.ts
│ │ │ │ ├── linked-doc
│ │ │ │ ├── index.ts
│ │ │ │ └── view.ts
│ │ │ │ ├── note-slicer
│ │ │ │ ├── index.ts
│ │ │ │ └── view.ts
│ │ │ │ ├── page-dragging-area
│ │ │ │ ├── index.ts
│ │ │ │ └── view.ts
│ │ │ │ ├── remote-selection
│ │ │ │ ├── index.ts
│ │ │ │ └── view.ts
│ │ │ │ ├── scroll-anchoring
│ │ │ │ ├── index.ts
│ │ │ │ └── view.ts
│ │ │ │ ├── slash-menu
│ │ │ │ ├── index.ts
│ │ │ │ └── view.ts
│ │ │ │ ├── toolbar
│ │ │ │ ├── index.ts
│ │ │ │ └── view.ts
│ │ │ │ └── viewport-overlay
│ │ │ │ ├── index.ts
│ │ │ │ └── view.ts
│ │ ├── tsconfig.json
│ │ └── vitest.config.ts
│ ├── blocks
│ │ ├── attachment
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── adapters
│ │ │ │ │ ├── extension.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── markdown.ts
│ │ │ │ │ └── notion-html.ts
│ │ │ │ ├── attachment-block.ts
│ │ │ │ ├── attachment-edgeless-block.ts
│ │ │ │ ├── attachment-service.ts
│ │ │ │ ├── components
│ │ │ │ │ ├── rename-model.ts
│ │ │ │ │ └── styles.ts
│ │ │ │ ├── configs
│ │ │ │ │ ├── slash-menu.ts
│ │ │ │ │ ├── toolbar.ts
│ │ │ │ │ └── tooltips.ts
│ │ │ │ ├── edgeless-clipboard-config.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── embed.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── store.ts
│ │ │ │ ├── styles.ts
│ │ │ │ ├── utils.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── bookmark
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── __tests__
│ │ │ │ │ └── adapters
│ │ │ │ │ │ └── preprocessor.unit.spec.ts
│ │ │ │ ├── adapters
│ │ │ │ │ ├── extension.ts
│ │ │ │ │ ├── html.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── markdown
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── markdown.ts
│ │ │ │ │ │ └── preprocessor.ts
│ │ │ │ │ ├── notion-html.ts
│ │ │ │ │ └── plain-text.ts
│ │ │ │ ├── bookmark-block.ts
│ │ │ │ ├── bookmark-edgeless-block.ts
│ │ │ │ ├── commands
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── insert-bookmark.ts
│ │ │ │ │ └── insert-link-by-quick-search.ts
│ │ │ │ ├── components
│ │ │ │ │ ├── bookmark-card.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── configs
│ │ │ │ │ ├── slash-menu.ts
│ │ │ │ │ ├── toolbar.ts
│ │ │ │ │ └── tooltips.ts
│ │ │ │ ├── edgeless-clipboard-config.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── store.ts
│ │ │ │ ├── styles.ts
│ │ │ │ ├── utils.ts
│ │ │ │ └── view.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vitest.config.ts
│ │ ├── callout
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── adapters
│ │ │ │ │ └── markdown.ts
│ │ │ │ ├── callout-block-styles.ts
│ │ │ │ ├── callout-block.ts
│ │ │ │ ├── callout-keymap.ts
│ │ │ │ ├── commands
│ │ │ │ │ ├── callout-to-paragraph.ts
│ │ │ │ │ └── split-callout.ts
│ │ │ │ ├── configs
│ │ │ │ │ ├── slash-menu.ts
│ │ │ │ │ ├── toolbar.ts
│ │ │ │ │ └── tooltips.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── icon-picker-wrapper.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── store.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── code
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── adapters
│ │ │ │ │ ├── extension.ts
│ │ │ │ │ ├── html.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── markdown
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── markdown.ts
│ │ │ │ │ │ └── preprocessor.ts
│ │ │ │ │ ├── notion-html.ts
│ │ │ │ │ └── plain-text.ts
│ │ │ │ ├── clipboard
│ │ │ │ │ └── index.ts
│ │ │ │ ├── code-block-config.ts
│ │ │ │ ├── code-block-inline.ts
│ │ │ │ ├── code-block-service.ts
│ │ │ │ ├── code-block.ts
│ │ │ │ ├── code-keymap.ts
│ │ │ │ ├── code-preview-extension.ts
│ │ │ │ ├── code-toolbar
│ │ │ │ │ ├── components
│ │ │ │ │ │ ├── code-toolbar.ts
│ │ │ │ │ │ ├── lang-button.ts
│ │ │ │ │ │ └── preview-button.ts
│ │ │ │ │ ├── config.ts
│ │ │ │ │ ├── context.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── configs
│ │ │ │ │ └── slash-menu.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── highlight
│ │ │ │ │ ├── affine-code-unit.ts
│ │ │ │ │ └── const.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── markdown.ts
│ │ │ │ ├── store.ts
│ │ │ │ ├── styles.ts
│ │ │ │ ├── turbo
│ │ │ │ │ ├── code-layout-handler.ts
│ │ │ │ │ └── code-painter.worker.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── data-view
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── block-meta
│ │ │ │ │ ├── base.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── todo.ts
│ │ │ │ ├── columns
│ │ │ │ │ └── index.ts
│ │ │ │ ├── configs
│ │ │ │ │ ├── slash-menu.ts
│ │ │ │ │ └── tooltips.ts
│ │ │ │ ├── data-source.ts
│ │ │ │ ├── data-view-block.ts
│ │ │ │ ├── data-view-model.ts
│ │ │ │ ├── data-view-spec.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── store.ts
│ │ │ │ ├── view.ts
│ │ │ │ └── views
│ │ │ │ │ └── index.ts
│ │ │ └── tsconfig.json
│ │ ├── database
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── adapters
│ │ │ │ │ ├── extension.ts
│ │ │ │ │ ├── html.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── markdown.ts
│ │ │ │ │ ├── notion-html.ts
│ │ │ │ │ ├── plain-text.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── block-icons.ts
│ │ │ │ ├── commands.ts
│ │ │ │ ├── components
│ │ │ │ │ ├── layout.ts
│ │ │ │ │ └── title
│ │ │ │ │ │ └── index.ts
│ │ │ │ ├── config.ts
│ │ │ │ ├── configs
│ │ │ │ │ ├── slash-menu.ts
│ │ │ │ │ └── tooltips.ts
│ │ │ │ ├── context
│ │ │ │ │ ├── host-context.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── data-source.ts
│ │ │ │ ├── database-block-styles.ts
│ │ │ │ ├── database-block.ts
│ │ │ │ ├── database-dnd-preview-block.ts
│ │ │ │ ├── detail-panel
│ │ │ │ │ ├── block-renderer.ts
│ │ │ │ │ └── note-renderer.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── properties
│ │ │ │ │ ├── converts.ts
│ │ │ │ │ ├── created-time
│ │ │ │ │ │ ├── cell-renderer.ts
│ │ │ │ │ │ └── define.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── link
│ │ │ │ │ │ ├── cell-renderer-css.ts
│ │ │ │ │ │ ├── cell-renderer.ts
│ │ │ │ │ │ └── define.ts
│ │ │ │ │ ├── model.ts
│ │ │ │ │ ├── rich-text
│ │ │ │ │ │ ├── cell-renderer-css.ts
│ │ │ │ │ │ ├── cell-renderer.ts
│ │ │ │ │ │ └── define.ts
│ │ │ │ │ └── title
│ │ │ │ │ │ ├── cell-renderer-css.ts
│ │ │ │ │ │ ├── cell-renderer.ts
│ │ │ │ │ │ ├── define.ts
│ │ │ │ │ │ ├── icon.ts
│ │ │ │ │ │ └── text.ts
│ │ │ │ ├── selection.ts
│ │ │ │ ├── service
│ │ │ │ │ └── index.ts
│ │ │ │ ├── store.ts
│ │ │ │ ├── utils
│ │ │ │ │ ├── block-utils.ts
│ │ │ │ │ ├── current-view.ts
│ │ │ │ │ └── title-doc.ts
│ │ │ │ ├── view.ts
│ │ │ │ ├── views
│ │ │ │ │ └── index.ts
│ │ │ │ └── widgets
│ │ │ │ │ └── index.ts
│ │ │ └── tsconfig.json
│ │ ├── divider
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── adapters
│ │ │ │ │ ├── extension.ts
│ │ │ │ │ ├── html.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── markdown.ts
│ │ │ │ │ ├── notion-html.ts
│ │ │ │ │ └── plain-text.ts
│ │ │ │ ├── divider-block.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── markdown.ts
│ │ │ │ ├── store.ts
│ │ │ │ ├── styles.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── edgeless-text
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── edgeless-clipboard-config.ts
│ │ │ │ ├── edgeless-text-block.ts
│ │ │ │ ├── edgeless-toolbar
│ │ │ │ │ ├── config.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── store.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── embed-doc
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── common
│ │ │ │ │ └── render-linked-doc.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── embed-linked-doc-block
│ │ │ │ │ ├── adapters
│ │ │ │ │ │ ├── extension.ts
│ │ │ │ │ │ ├── html.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── markdown.ts
│ │ │ │ │ │ └── plain-text.ts
│ │ │ │ │ ├── commands
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── insert-embed-linked-doc.ts
│ │ │ │ │ ├── configs
│ │ │ │ │ │ ├── slash-menu.ts
│ │ │ │ │ │ ├── toolbar.ts
│ │ │ │ │ │ └── tooltips.ts
│ │ │ │ │ ├── edgeless-clipboard-config.ts
│ │ │ │ │ ├── embed-edgeless-linked-doc-block.ts
│ │ │ │ │ ├── embed-linked-doc-block.ts
│ │ │ │ │ ├── embed-linked-doc-spec.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── styles.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── embed-synced-doc-block
│ │ │ │ │ ├── adapters
│ │ │ │ │ │ ├── extension.ts
│ │ │ │ │ │ ├── html.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── markdown.ts
│ │ │ │ │ │ └── plain-text.ts
│ │ │ │ │ ├── commands
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── insert-embed-synced-doc.ts
│ │ │ │ │ ├── components
│ │ │ │ │ │ └── embed-synced-doc-card.ts
│ │ │ │ │ ├── configs
│ │ │ │ │ │ ├── edgeless-interaction.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── toolbar.ts
│ │ │ │ │ ├── edgeless-clipboard-config.ts
│ │ │ │ │ ├── embed-edgeless-synced-doc-block.ts
│ │ │ │ │ ├── embed-synced-doc-block.ts
│ │ │ │ │ ├── embed-synced-doc-spec.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── init-height-extension.ts
│ │ │ │ │ ├── styles.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── store.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── embed
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── common
│ │ │ │ │ ├── adapters
│ │ │ │ │ │ ├── html.ts
│ │ │ │ │ │ ├── markdown.ts
│ │ │ │ │ │ ├── notion-html.ts
│ │ │ │ │ │ └── plain-text.ts
│ │ │ │ │ ├── embed-block-element.ts
│ │ │ │ │ ├── embed-note-content-styles.ts
│ │ │ │ │ ├── insert-embed-card.ts
│ │ │ │ │ ├── render-linked-doc.ts
│ │ │ │ │ ├── to-edgeless-embed-block.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── configs
│ │ │ │ │ └── toolbar.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── embed-figma-block
│ │ │ │ │ ├── adapters
│ │ │ │ │ │ ├── extension.ts
│ │ │ │ │ │ ├── html.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── markdown.ts
│ │ │ │ │ │ ├── notion-html.ts
│ │ │ │ │ │ └── plain-text.ts
│ │ │ │ │ ├── configs
│ │ │ │ │ │ ├── slash-menu.ts
│ │ │ │ │ │ └── tooltips.ts
│ │ │ │ │ ├── edgeless-clipboard-config.ts
│ │ │ │ │ ├── embed-edgeless-figma-block.ts
│ │ │ │ │ ├── embed-figma-block.ts
│ │ │ │ │ ├── embed-figma-model.ts
│ │ │ │ │ ├── embed-figma-service.ts
│ │ │ │ │ ├── embed-figma-spec.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── styles.ts
│ │ │ │ ├── embed-github-block
│ │ │ │ │ ├── adapters
│ │ │ │ │ │ ├── extension.ts
│ │ │ │ │ │ ├── html.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── markdown.ts
│ │ │ │ │ │ ├── notion-html.ts
│ │ │ │ │ │ └── plain-text.ts
│ │ │ │ │ ├── configs
│ │ │ │ │ │ ├── slash-menu.ts
│ │ │ │ │ │ └── tooltips.ts
│ │ │ │ │ ├── edgeless-clipboard-config.ts
│ │ │ │ │ ├── embed-edgeless-github-block.ts
│ │ │ │ │ ├── embed-github-block.ts
│ │ │ │ │ ├── embed-github-model.ts
│ │ │ │ │ ├── embed-github-service.ts
│ │ │ │ │ ├── embed-github-spec.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── styles.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── embed-html-block
│ │ │ │ │ ├── components
│ │ │ │ │ │ └── fullscreen-toolbar.ts
│ │ │ │ │ ├── configs
│ │ │ │ │ │ ├── toolbar.ts
│ │ │ │ │ │ └── tooltips.ts
│ │ │ │ │ ├── edgeless-clipboard-config.ts
│ │ │ │ │ ├── embed-edgeless-html-block.ts
│ │ │ │ │ ├── embed-html-block.ts
│ │ │ │ │ ├── embed-html-spec.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── styles.ts
│ │ │ │ ├── embed-iframe-block
│ │ │ │ │ ├── adapters
│ │ │ │ │ │ ├── html.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── markdown.ts
│ │ │ │ │ │ └── plain-text.ts
│ │ │ │ │ ├── commands
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── insert-embed-iframe-with-url.ts
│ │ │ │ │ │ └── insert-empty-embed-iframe.ts
│ │ │ │ │ ├── components
│ │ │ │ │ │ ├── embed-iframe-error-card.ts
│ │ │ │ │ │ ├── embed-iframe-idle-card.ts
│ │ │ │ │ │ ├── embed-iframe-link-edit-popup.ts
│ │ │ │ │ │ ├── embed-iframe-link-input-base.ts
│ │ │ │ │ │ ├── embed-iframe-link-input-popup.ts
│ │ │ │ │ │ └── embed-iframe-loading-card.ts
│ │ │ │ │ ├── configs
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── providers
│ │ │ │ │ │ │ ├── excalidraw.ts
│ │ │ │ │ │ │ ├── generic.ts
│ │ │ │ │ │ │ ├── google-docs.ts
│ │ │ │ │ │ │ ├── google-drive.ts
│ │ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ │ ├── miro.ts
│ │ │ │ │ │ │ └── spotify.ts
│ │ │ │ │ │ ├── slash-menu
│ │ │ │ │ │ │ ├── slash-menu.ts
│ │ │ │ │ │ │ └── tooltip.ts
│ │ │ │ │ │ └── toolbar.ts
│ │ │ │ │ ├── consts.ts
│ │ │ │ │ ├── edgeless-clipboard-config.ts
│ │ │ │ │ ├── embed-edgeless-iframe-block.ts
│ │ │ │ │ ├── embed-iframe-block.ts
│ │ │ │ │ ├── embed-iframe-spec.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── style.ts
│ │ │ │ │ ├── types.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── embed-loom-block
│ │ │ │ │ ├── adapters
│ │ │ │ │ │ ├── extension.ts
│ │ │ │ │ │ ├── html.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── markdown.ts
│ │ │ │ │ │ ├── notion-html.ts
│ │ │ │ │ │ └── plain-text.ts
│ │ │ │ │ ├── configs
│ │ │ │ │ │ ├── slash-menu.ts
│ │ │ │ │ │ └── tooltips.ts
│ │ │ │ │ ├── edgeless-clipboard-config.ts
│ │ │ │ │ ├── embed-edgeless-loom-bock.ts
│ │ │ │ │ ├── embed-loom-block.ts
│ │ │ │ │ ├── embed-loom-model.ts
│ │ │ │ │ ├── embed-loom-service.ts
│ │ │ │ │ ├── embed-loom-spec.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── styles.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── embed-youtube-block
│ │ │ │ │ ├── adapters
│ │ │ │ │ │ ├── extension.ts
│ │ │ │ │ │ ├── html.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── markdown.ts
│ │ │ │ │ │ ├── notion-html.ts
│ │ │ │ │ │ └── plain-text.ts
│ │ │ │ │ ├── configs
│ │ │ │ │ │ ├── slash-menu.ts
│ │ │ │ │ │ └── tooltips.ts
│ │ │ │ │ ├── edgeless-clipboard-config.ts
│ │ │ │ │ ├── embed-edgeless-youtube-block.ts
│ │ │ │ │ ├── embed-youtube-block.ts
│ │ │ │ │ ├── embed-youtube-model.ts
│ │ │ │ │ ├── embed-youtube-service.ts
│ │ │ │ │ ├── embed-youtube-spec.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── styles.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── store.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── frame
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── edgeless-clipboard-config.ts
│ │ │ │ ├── edgeless-toolbar
│ │ │ │ │ ├── config.ts
│ │ │ │ │ ├── frame-dense-menu.ts
│ │ │ │ │ ├── frame-menu.ts
│ │ │ │ │ ├── frame-tool-button.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── presentation-toolbar.ts
│ │ │ │ │ └── quick-tool.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── frame-block.ts
│ │ │ │ ├── frame-highlight-manager.ts
│ │ │ │ ├── frame-manager.ts
│ │ │ │ ├── frame-spec.ts
│ │ │ │ ├── frame-tool.ts
│ │ │ │ ├── frame-toolbar.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── present-tool.ts
│ │ │ │ ├── present
│ │ │ │ │ ├── frame-order-button.ts
│ │ │ │ │ ├── frame-order-menu.ts
│ │ │ │ │ ├── navigator-bg-widget.ts
│ │ │ │ │ ├── navigator-setting-button.ts
│ │ │ │ │ └── present-button.ts
│ │ │ │ ├── store.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── image
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── adapters
│ │ │ │ │ ├── extension.ts
│ │ │ │ │ ├── html.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── markdown.ts
│ │ │ │ │ ├── notion-html.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── commands
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── insert-images.ts
│ │ │ │ ├── components
│ │ │ │ │ ├── image-block-fallback.ts
│ │ │ │ │ ├── image-selected-rect.ts
│ │ │ │ │ └── page-image-block.ts
│ │ │ │ ├── configs
│ │ │ │ │ ├── slash-menu.ts
│ │ │ │ │ ├── toolbar.ts
│ │ │ │ │ └── tooltips.ts
│ │ │ │ ├── edgeless-clipboard-config.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── image-block.ts
│ │ │ │ ├── image-edgeless-block.ts
│ │ │ │ ├── image-resize-manager.ts
│ │ │ │ ├── image-service.ts
│ │ │ │ ├── image-spec.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── preview-image
│ │ │ │ │ ├── edgeless.ts
│ │ │ │ │ └── page.ts
│ │ │ │ ├── store.ts
│ │ │ │ ├── turbo
│ │ │ │ │ ├── image-layout-handler.ts
│ │ │ │ │ └── image-painter.worker.ts
│ │ │ │ ├── utils.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── latex
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── adapters
│ │ │ │ │ ├── extension.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── markdown
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── markdown.ts
│ │ │ │ │ │ └── preprocessor.ts
│ │ │ │ │ ├── notion-html.ts
│ │ │ │ │ └── plain-text.ts
│ │ │ │ ├── commands.ts
│ │ │ │ ├── configs
│ │ │ │ │ ├── slash-menu.ts
│ │ │ │ │ └── tooltips.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── latex-block.ts
│ │ │ │ ├── store.ts
│ │ │ │ ├── styles.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── list
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── adapters
│ │ │ │ │ ├── extension.ts
│ │ │ │ │ ├── html.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── markdown.ts
│ │ │ │ │ ├── notion-html.ts
│ │ │ │ │ └── plain-text.ts
│ │ │ │ ├── commands
│ │ │ │ │ ├── convert-to-numbered-list.ts
│ │ │ │ │ ├── dedent-list.ts
│ │ │ │ │ ├── indent-list.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── list-to-paragraph.ts
│ │ │ │ │ ├── split-list.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── list-block.ts
│ │ │ │ ├── list-keymap.ts
│ │ │ │ ├── markdown.ts
│ │ │ │ ├── store.ts
│ │ │ │ ├── styles.ts
│ │ │ │ ├── turbo
│ │ │ │ │ ├── list-layout-handler.ts
│ │ │ │ │ └── list-painter.worker.ts
│ │ │ │ ├── utils
│ │ │ │ │ ├── forward-delete.ts
│ │ │ │ │ ├── get-list-icon.ts
│ │ │ │ │ └── get-number-prefix.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── note
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── adapters
│ │ │ │ │ ├── html.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── markdown.ts
│ │ │ │ │ └── plain-text.ts
│ │ │ │ ├── commands
│ │ │ │ │ ├── block-type.ts
│ │ │ │ │ ├── change-note-display-mode.ts
│ │ │ │ │ ├── dedent-block-to-root.ts
│ │ │ │ │ ├── dedent-block.ts
│ │ │ │ │ ├── dedent-blocks-to-root.ts
│ │ │ │ │ ├── dedent-blocks.ts
│ │ │ │ │ ├── indent-block.ts
│ │ │ │ │ ├── indent-blocks.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── select-block.ts
│ │ │ │ │ ├── select-blocks-between.ts
│ │ │ │ │ └── update-block-align.ts
│ │ │ │ ├── components
│ │ │ │ │ ├── edgeless-note-background.css.ts
│ │ │ │ │ ├── edgeless-note-background.ts
│ │ │ │ │ ├── edgeless-note-border-dropdown-menu.ts
│ │ │ │ │ ├── edgeless-note-display-mode-dropdown-menu.ts
│ │ │ │ │ ├── edgeless-note-mask.ts
│ │ │ │ │ ├── edgeless-note-shadow-menu.ts
│ │ │ │ │ ├── edgeless-note-style-panel.ts
│ │ │ │ │ ├── edgeless-page-block-title.css.ts
│ │ │ │ │ ├── edgeless-page-block-title.ts
│ │ │ │ │ ├── icons.ts
│ │ │ │ │ └── more-indicator.ts
│ │ │ │ ├── config.ts
│ │ │ │ ├── configs
│ │ │ │ │ ├── slash-menu.ts
│ │ │ │ │ ├── toolbar.ts
│ │ │ │ │ └── tooltips.ts
│ │ │ │ ├── edgeless-clipboard-config.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── move-block.ts
│ │ │ │ ├── note-block.ts
│ │ │ │ ├── note-edgeless-block.css.ts
│ │ │ │ ├── note-edgeless-block.ts
│ │ │ │ ├── note-keymap.ts
│ │ │ │ ├── quick-action.ts
│ │ │ │ ├── store.ts
│ │ │ │ ├── turbo
│ │ │ │ │ ├── note-layout-handler.ts
│ │ │ │ │ └── note-painter.worker.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── paragraph
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── adapters
│ │ │ │ │ ├── extension.ts
│ │ │ │ │ ├── html.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── markdown.ts
│ │ │ │ │ ├── notion-html.ts
│ │ │ │ │ └── plain-text.ts
│ │ │ │ ├── commands
│ │ │ │ │ ├── add-paragraph.ts
│ │ │ │ │ ├── append-paragraph.ts
│ │ │ │ │ ├── dedent-paragraph.ts
│ │ │ │ │ ├── indent-paragraph.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── split-paragraph.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── heading-icon.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── markdown.ts
│ │ │ │ ├── paragraph-block-config.ts
│ │ │ │ ├── paragraph-block.ts
│ │ │ │ ├── paragraph-keymap.ts
│ │ │ │ ├── store.ts
│ │ │ │ ├── styles.ts
│ │ │ │ ├── turbo
│ │ │ │ │ ├── paragraph-layout-handler.ts
│ │ │ │ │ └── paragraph-painter.worker.ts
│ │ │ │ ├── utils
│ │ │ │ │ ├── forward-delete.ts
│ │ │ │ │ └── merge-with-prev.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── root
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── adapters
│ │ │ │ │ ├── extension.ts
│ │ │ │ │ ├── html.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── markdown.ts
│ │ │ │ │ └── notion-html.ts
│ │ │ │ ├── clipboard
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── page-clipboard.ts
│ │ │ │ │ └── readonly-clipboard.ts
│ │ │ │ ├── configs
│ │ │ │ │ └── toolbar.ts
│ │ │ │ ├── edgeless
│ │ │ │ │ ├── clipboard
│ │ │ │ │ │ ├── canvas.ts
│ │ │ │ │ │ ├── clipboard.ts
│ │ │ │ │ │ ├── command.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── configs
│ │ │ │ │ │ └── toolbar
│ │ │ │ │ │ │ ├── alignment.ts
│ │ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ │ ├── misc.ts
│ │ │ │ │ │ │ ├── more.ts
│ │ │ │ │ │ │ ├── render-linked-doc.ts
│ │ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── edgeless-keyboard.ts
│ │ │ │ │ ├── edgeless-root-block.ts
│ │ │ │ │ ├── edgeless-root-service.ts
│ │ │ │ │ ├── edgeless-root-spec.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── interact-extensions
│ │ │ │ │ │ └── clone-ext.ts
│ │ │ │ │ └── utils
│ │ │ │ │ │ ├── clipboard-utils.ts
│ │ │ │ │ │ ├── clone-utils.ts
│ │ │ │ │ │ ├── connector.ts
│ │ │ │ │ │ ├── consts.ts
│ │ │ │ │ │ ├── crud.ts
│ │ │ │ │ │ ├── cursors.ts
│ │ │ │ │ │ └── query.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── keyboard
│ │ │ │ │ ├── keyboard-manager.ts
│ │ │ │ │ └── keymap.ts
│ │ │ │ ├── page
│ │ │ │ │ └── page-root-block.ts
│ │ │ │ ├── preview
│ │ │ │ │ ├── edgeless-root-preview-block.ts
│ │ │ │ │ └── preview-root-block.ts
│ │ │ │ ├── store.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── surface-ref
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── commands.ts
│ │ │ │ ├── components
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── placeholder.ts
│ │ │ │ │ └── surface-ref-toolbar-title.ts
│ │ │ │ ├── configs
│ │ │ │ │ ├── slash-menu.ts
│ │ │ │ │ ├── toolbar.ts
│ │ │ │ │ └── tooltips.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── icons.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── portal
│ │ │ │ │ ├── generic-block.ts
│ │ │ │ │ └── note.ts
│ │ │ │ ├── store.ts
│ │ │ │ ├── surface-ref-block-edgeless.ts
│ │ │ │ ├── surface-ref-block.ts
│ │ │ │ ├── utils.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── surface
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── __tests__
│ │ │ │ │ ├── a-star.unit.spec.ts
│ │ │ │ │ ├── bound.unit.spec.ts
│ │ │ │ │ ├── graph.unit.spec.ts
│ │ │ │ │ ├── math-utils.unit.spec.ts
│ │ │ │ │ ├── priority-queue.unit.spec.ts
│ │ │ │ │ └── sort.unit.spec.ts
│ │ │ │ ├── adapters
│ │ │ │ │ ├── extension.ts
│ │ │ │ │ ├── html-adapter
│ │ │ │ │ │ └── html.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── markdown
│ │ │ │ │ │ ├── element-adapter
│ │ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ │ └── type.ts
│ │ │ │ │ │ └── markdown.ts
│ │ │ │ │ ├── plain-text
│ │ │ │ │ │ ├── element-adapter
│ │ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ │ └── type.ts
│ │ │ │ │ │ └── plain-text.ts
│ │ │ │ │ └── type.ts
│ │ │ │ ├── commands
│ │ │ │ │ ├── auto-align.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── reassociate-connectors.ts
│ │ │ │ ├── consts.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── element-model
│ │ │ │ │ ├── base.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── extensions
│ │ │ │ │ ├── clipboard-config.ts
│ │ │ │ │ ├── crud-extension.ts
│ │ │ │ │ ├── dom-element-renderer.ts
│ │ │ │ │ ├── edit-props-middleware-builder.ts
│ │ │ │ │ ├── element-renderer.ts
│ │ │ │ │ ├── export-manager
│ │ │ │ │ │ ├── export-manager.ts
│ │ │ │ │ │ ├── file-exporter.ts
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── legacy-slot-extension.ts
│ │ │ │ │ ├── query.ts
│ │ │ │ │ └── surface-middleware.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── renderer
│ │ │ │ │ ├── canvas-renderer.ts
│ │ │ │ │ ├── dom-elements
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── dom-renderer.ts
│ │ │ │ │ ├── elements
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── type.ts
│ │ │ │ │ ├── overlay.ts
│ │ │ │ │ └── tool-overlay.ts
│ │ │ │ ├── store.ts
│ │ │ │ ├── surface-block-void.ts
│ │ │ │ ├── surface-block.ts
│ │ │ │ ├── surface-model.ts
│ │ │ │ ├── surface-transformer.ts
│ │ │ │ ├── tool
│ │ │ │ │ ├── default-tool.ts
│ │ │ │ │ └── panning-utils.ts
│ │ │ │ ├── utils
│ │ │ │ │ ├── a-star.ts
│ │ │ │ │ ├── font.ts
│ │ │ │ │ ├── get-bg-grip-gap.ts
│ │ │ │ │ ├── get-last-props-key.ts
│ │ │ │ │ ├── get-surface-block.ts
│ │ │ │ │ ├── graph.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── path-data-parser
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ ├── absolutize.ts
│ │ │ │ │ │ ├── normalize.ts
│ │ │ │ │ │ └── parser.ts
│ │ │ │ │ ├── points-on-curve
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ ├── curve-to-bezier.ts
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── points-on-path
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── priority-queue.ts
│ │ │ │ │ ├── rough
│ │ │ │ │ │ ├── LICENSE
│ │ │ │ │ │ ├── canvas.ts
│ │ │ │ │ │ ├── core.ts
│ │ │ │ │ │ ├── fillers
│ │ │ │ │ │ │ ├── dashed-filler.ts
│ │ │ │ │ │ │ ├── dot-filler.ts
│ │ │ │ │ │ │ ├── filler-interface.ts
│ │ │ │ │ │ │ ├── filler.ts
│ │ │ │ │ │ │ ├── hachure-filler.ts
│ │ │ │ │ │ │ ├── hatch-filler.ts
│ │ │ │ │ │ │ ├── scan-line-hachure.ts
│ │ │ │ │ │ │ ├── zigzag-filler.ts
│ │ │ │ │ │ │ └── zigzag-line-filler.ts
│ │ │ │ │ │ ├── generator.ts
│ │ │ │ │ │ ├── geometry.ts
│ │ │ │ │ │ ├── math.ts
│ │ │ │ │ │ ├── renderer.ts
│ │ │ │ │ │ ├── rough.ts
│ │ │ │ │ │ └── svg.ts
│ │ │ │ │ ├── sort.ts
│ │ │ │ │ └── update-xywh.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ └── table
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ ├── adapters
│ │ │ │ ├── extension.ts
│ │ │ │ ├── html.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── markdown.ts
│ │ │ │ ├── notion-html.ts
│ │ │ │ ├── plain-text.ts
│ │ │ │ └── utils.ts
│ │ │ ├── add-button-css.ts
│ │ │ ├── add-button.ts
│ │ │ ├── color.ts
│ │ │ ├── commands.ts
│ │ │ ├── configs
│ │ │ │ ├── slash-menu.ts
│ │ │ │ └── tooltips.ts
│ │ │ ├── consts.ts
│ │ │ ├── effects.ts
│ │ │ ├── index.ts
│ │ │ ├── selection-controller.ts
│ │ │ ├── selection-layer.ts
│ │ │ ├── selection-schema.ts
│ │ │ ├── store.ts
│ │ │ ├── table-block-css.ts
│ │ │ ├── table-block.ts
│ │ │ ├── table-cell-css.ts
│ │ │ ├── table-cell.ts
│ │ │ ├── table-data-manager.ts
│ │ │ ├── utils.ts
│ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ ├── components
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── block-selection
│ │ │ │ └── index.ts
│ │ │ ├── block-zero-width
│ │ │ │ └── index.ts
│ │ │ ├── caption
│ │ │ │ ├── block-caption.ts
│ │ │ │ ├── captioned-block-component.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── styles.ts
│ │ │ ├── card-style-dropdown-menu
│ │ │ │ ├── dropdown-menu.ts
│ │ │ │ └── index.ts
│ │ │ ├── citation
│ │ │ │ ├── citation.ts
│ │ │ │ └── index.ts
│ │ │ ├── color-picker
│ │ │ │ ├── button.ts
│ │ │ │ ├── color-panel.ts
│ │ │ │ ├── color-picker.ts
│ │ │ │ ├── consts.ts
│ │ │ │ ├── custom-button.ts
│ │ │ │ ├── icons.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── styles.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── utils.ts
│ │ │ ├── context-menu
│ │ │ │ ├── button.ts
│ │ │ │ ├── dynamic.ts
│ │ │ │ ├── focusable.ts
│ │ │ │ ├── group.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── input.ts
│ │ │ │ ├── item.ts
│ │ │ │ ├── menu-all.ts
│ │ │ │ ├── menu-divider.ts
│ │ │ │ ├── menu-renderer.ts
│ │ │ │ ├── menu.ts
│ │ │ │ ├── sub-menu.ts
│ │ │ │ └── types.ts
│ │ │ ├── date-picker
│ │ │ │ ├── date-picker.ts
│ │ │ │ ├── icons.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── style.ts
│ │ │ │ └── utils.ts
│ │ │ ├── drop-indicator
│ │ │ │ ├── drop-indicator.ts
│ │ │ │ ├── file-drop-manager.ts
│ │ │ │ └── index.ts
│ │ │ ├── edgeless-line-styles-panel
│ │ │ │ ├── index.ts
│ │ │ │ └── line-styles-panel.ts
│ │ │ ├── edgeless-line-width-panel
│ │ │ │ ├── index.ts
│ │ │ │ └── line-width-panel.ts
│ │ │ ├── edgeless-shape-color-picker
│ │ │ │ ├── color-picker.ts
│ │ │ │ └── index.ts
│ │ │ ├── embed-card-modal
│ │ │ │ ├── embed-card-create-modal.ts
│ │ │ │ ├── embed-card-edit-modal.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── styles.ts
│ │ │ ├── filterable-list
│ │ │ │ ├── index.ts
│ │ │ │ ├── styles.ts
│ │ │ │ └── types.ts
│ │ │ ├── highlight-dropdown-menu
│ │ │ │ ├── dropdown-menu.ts
│ │ │ │ ├── highlight-duotone-icon.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── text-duotone-icon.ts
│ │ │ ├── hover
│ │ │ │ ├── controller.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── middlewares
│ │ │ │ │ ├── basic.ts
│ │ │ │ │ └── safe-area.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── when-hover.ts
│ │ │ ├── icon-button
│ │ │ │ └── index.ts
│ │ │ ├── icons
│ │ │ │ ├── ai.ts
│ │ │ │ ├── file-icons-rc.ts
│ │ │ │ ├── file-icons.ts
│ │ │ │ ├── import-export.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── list.ts
│ │ │ │ ├── loading.ts
│ │ │ │ ├── misc.ts
│ │ │ │ ├── tags.ts
│ │ │ │ ├── text.ts
│ │ │ │ └── utils.ts
│ │ │ ├── index.ts
│ │ │ ├── link-preview
│ │ │ │ ├── index.ts
│ │ │ │ └── link.ts
│ │ │ ├── linked-doc-title
│ │ │ │ ├── doc-title.ts
│ │ │ │ └── index.ts
│ │ │ ├── notification
│ │ │ │ ├── index.ts
│ │ │ │ └── linked-doc.ts
│ │ │ ├── open-doc-dropdown-menu
│ │ │ │ ├── dropdown-menu.ts
│ │ │ │ └── index.ts
│ │ │ ├── peek
│ │ │ │ ├── commands.ts
│ │ │ │ ├── controller.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── peekable.ts
│ │ │ │ ├── service.ts
│ │ │ │ └── type.ts
│ │ │ ├── portal
│ │ │ │ ├── helper.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── portal.ts
│ │ │ │ └── types.ts
│ │ │ ├── resource
│ │ │ │ ├── index.ts
│ │ │ │ ├── resource.ts
│ │ │ │ └── status.ts
│ │ │ ├── size-dropdown-menu
│ │ │ │ ├── dropdown-menu.ts
│ │ │ │ └── index.ts
│ │ │ ├── slider
│ │ │ │ ├── index.ts
│ │ │ │ ├── slider.ts
│ │ │ │ ├── styles.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── utils.ts
│ │ │ ├── smooth-corner
│ │ │ │ └── index.ts
│ │ │ ├── toast
│ │ │ │ ├── create.ts
│ │ │ │ ├── html-to-element.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── toast.ts
│ │ │ ├── toggle-button
│ │ │ │ ├── index.ts
│ │ │ │ └── toggle-button.ts
│ │ │ ├── toggle-switch
│ │ │ │ └── index.ts
│ │ │ ├── toolbar
│ │ │ │ ├── chevron-down.ts
│ │ │ │ ├── config.ts
│ │ │ │ ├── icon-button.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── menu-button.ts
│ │ │ │ ├── menu-context.ts
│ │ │ │ ├── separator.ts
│ │ │ │ ├── styles.ts
│ │ │ │ ├── toolbar.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── utils.ts
│ │ │ ├── tooltip-content-with-shortcut
│ │ │ │ └── index.ts
│ │ │ ├── tooltip
│ │ │ │ ├── effect.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── tooltip.ts
│ │ │ └── view-dropdown-menu
│ │ │ │ ├── dropdown-menu.ts
│ │ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── data-view
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── __tests__
│ │ │ │ ├── hotkeys.unit.spec.ts
│ │ │ │ └── table-group.unit.spec.ts
│ │ │ ├── core
│ │ │ │ ├── common
│ │ │ │ │ ├── css-variable.ts
│ │ │ │ │ ├── dv-css.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── properties.ts
│ │ │ │ │ ├── property-menu.ts
│ │ │ │ │ └── types.ts
│ │ │ │ ├── component
│ │ │ │ │ ├── button
│ │ │ │ │ │ └── button.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── overflow
│ │ │ │ │ │ └── overflow.ts
│ │ │ │ │ └── tags
│ │ │ │ │ │ ├── colors.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── multi-tag-select.ts
│ │ │ │ │ │ ├── multi-tag-view.ts
│ │ │ │ │ │ └── styles-css.ts
│ │ │ │ ├── data-source
│ │ │ │ │ ├── base.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── data-view.ts
│ │ │ │ ├── detail
│ │ │ │ │ ├── detail.ts
│ │ │ │ │ ├── field.ts
│ │ │ │ │ └── selection.ts
│ │ │ │ ├── effect.ts
│ │ │ │ ├── expression
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── ref
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── ref-view.ts
│ │ │ │ │ │ └── ref.ts
│ │ │ │ │ └── types.ts
│ │ │ │ ├── filter
│ │ │ │ │ ├── add-filter.ts
│ │ │ │ │ ├── eval.ts
│ │ │ │ │ ├── filter-fn
│ │ │ │ │ │ ├── boolean.ts
│ │ │ │ │ │ ├── create.ts
│ │ │ │ │ │ ├── date.ts
│ │ │ │ │ │ ├── matcher.ts
│ │ │ │ │ │ ├── multi-tag.ts
│ │ │ │ │ │ ├── number.ts
│ │ │ │ │ │ ├── string.ts
│ │ │ │ │ │ ├── tag.ts
│ │ │ │ │ │ ├── unknown.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── generate-default-values.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── literal
│ │ │ │ │ │ ├── create.ts
│ │ │ │ │ │ ├── define.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── matcher.ts
│ │ │ │ │ │ └── types.ts
│ │ │ │ │ ├── trait.ts
│ │ │ │ │ ├── types.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── group-by
│ │ │ │ │ ├── default.ts
│ │ │ │ │ ├── define.ts
│ │ │ │ │ ├── group-title.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── matcher.ts
│ │ │ │ │ ├── renderer
│ │ │ │ │ │ ├── base.ts
│ │ │ │ │ │ ├── boolean-group.ts
│ │ │ │ │ │ ├── number-group.ts
│ │ │ │ │ │ ├── select-group.ts
│ │ │ │ │ │ └── string-group.ts
│ │ │ │ │ ├── setting.ts
│ │ │ │ │ ├── trait.ts
│ │ │ │ │ └── types.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── logical
│ │ │ │ │ ├── composite-type.ts
│ │ │ │ │ ├── data-type.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── matcher.ts
│ │ │ │ │ ├── type-presets.ts
│ │ │ │ │ ├── type-system.ts
│ │ │ │ │ ├── type-variable.ts
│ │ │ │ │ └── type.ts
│ │ │ │ ├── property
│ │ │ │ │ ├── base-cell.ts
│ │ │ │ │ ├── convert.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── manager.ts
│ │ │ │ │ ├── property-config.ts
│ │ │ │ │ ├── renderer.ts
│ │ │ │ │ ├── types.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── sort
│ │ │ │ │ ├── add-sort.ts
│ │ │ │ │ ├── eval.ts
│ │ │ │ │ ├── manager.ts
│ │ │ │ │ ├── types.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── statistics
│ │ │ │ │ ├── any.ts
│ │ │ │ │ ├── checkbox.ts
│ │ │ │ │ ├── create.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── number.ts
│ │ │ │ │ └── types.ts
│ │ │ │ ├── traits
│ │ │ │ │ └── key.ts
│ │ │ │ ├── types.ts
│ │ │ │ ├── utils
│ │ │ │ │ ├── auto-scroll.ts
│ │ │ │ │ ├── cache.ts
│ │ │ │ │ ├── drag.ts
│ │ │ │ │ ├── event.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── lazy.ts
│ │ │ │ │ ├── lock.ts
│ │ │ │ │ ├── menu-title.ts
│ │ │ │ │ ├── uni-component
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── operation.ts
│ │ │ │ │ │ ├── render-template.ts
│ │ │ │ │ │ └── uni-component.ts
│ │ │ │ │ ├── uni-icon.ts
│ │ │ │ │ ├── utils.ts
│ │ │ │ │ └── wc-dnd
│ │ │ │ │ │ ├── dnd-context.ts
│ │ │ │ │ │ ├── sensors
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── mouse.ts
│ │ │ │ │ │ ├── sort
│ │ │ │ │ │ ├── sort-context.ts
│ │ │ │ │ │ └── strategies
│ │ │ │ │ │ │ ├── horizontal-list-sorting.ts
│ │ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ │ └── vertical-list-sorting.ts
│ │ │ │ │ │ ├── types.ts
│ │ │ │ │ │ └── utils
│ │ │ │ │ │ ├── adjustment.ts
│ │ │ │ │ │ ├── apply-modifiers.ts
│ │ │ │ │ │ ├── array-move.ts
│ │ │ │ │ │ ├── closest-center.ts
│ │ │ │ │ │ ├── data-directive.ts
│ │ │ │ │ │ ├── distance-between-points.ts
│ │ │ │ │ │ ├── element.ts
│ │ │ │ │ │ ├── events.ts
│ │ │ │ │ │ ├── get-scrollable-ancestors.ts
│ │ │ │ │ │ ├── has-exceeded-distance.ts
│ │ │ │ │ │ ├── linear-move.ts
│ │ │ │ │ │ ├── listeners.ts
│ │ │ │ │ │ ├── raf.ts
│ │ │ │ │ │ ├── rect-adjustment.ts
│ │ │ │ │ │ ├── rect.ts
│ │ │ │ │ │ └── signal.ts
│ │ │ │ ├── view-manager
│ │ │ │ │ ├── cell.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── property.ts
│ │ │ │ │ ├── row.ts
│ │ │ │ │ ├── single-view.ts
│ │ │ │ │ └── view-manager.ts
│ │ │ │ ├── view
│ │ │ │ │ ├── convert.ts
│ │ │ │ │ ├── data-view-base.ts
│ │ │ │ │ ├── data-view.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── types.ts
│ │ │ │ └── widget
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── types.ts
│ │ │ │ │ └── widget-base.ts
│ │ │ ├── effects.ts
│ │ │ ├── index.ts
│ │ │ ├── property-presets
│ │ │ │ ├── checkbox
│ │ │ │ │ ├── cell-renderer.ts
│ │ │ │ │ └── define.ts
│ │ │ │ ├── converts.ts
│ │ │ │ ├── date
│ │ │ │ │ ├── cell-renderer-css.ts
│ │ │ │ │ ├── cell-renderer.ts
│ │ │ │ │ └── define.ts
│ │ │ │ ├── effect.ts
│ │ │ │ ├── image
│ │ │ │ │ ├── cell-renderer.ts
│ │ │ │ │ └── define.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── multi-select
│ │ │ │ │ ├── cell-renderer-css.ts
│ │ │ │ │ ├── cell-renderer.ts
│ │ │ │ │ └── define.ts
│ │ │ │ ├── number
│ │ │ │ │ ├── cell-renderer-css.ts
│ │ │ │ │ ├── cell-renderer.ts
│ │ │ │ │ ├── define.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── types.ts
│ │ │ │ │ └── utils
│ │ │ │ │ │ ├── formats.ts
│ │ │ │ │ │ └── formatter.ts
│ │ │ │ ├── progress
│ │ │ │ │ ├── cell-renderer-css.ts
│ │ │ │ │ ├── cell-renderer.ts
│ │ │ │ │ └── define.ts
│ │ │ │ ├── pure-index.ts
│ │ │ │ ├── select
│ │ │ │ │ ├── cell-renderer-css.ts
│ │ │ │ │ ├── cell-renderer.ts
│ │ │ │ │ └── define.ts
│ │ │ │ └── text
│ │ │ │ │ ├── cell-renderer-css.ts
│ │ │ │ │ ├── cell-renderer.ts
│ │ │ │ │ └── define.ts
│ │ │ ├── view-presets
│ │ │ │ ├── convert.ts
│ │ │ │ ├── effect.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── kanban
│ │ │ │ │ ├── define.ts
│ │ │ │ │ ├── effect.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── kanban-view-manager.ts
│ │ │ │ │ ├── mobile
│ │ │ │ │ │ ├── card.ts
│ │ │ │ │ │ ├── cell.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── group.ts
│ │ │ │ │ │ ├── kanban-view-ui-logic.ts
│ │ │ │ │ │ └── menu.ts
│ │ │ │ │ ├── pc
│ │ │ │ │ │ ├── card.ts
│ │ │ │ │ │ ├── cell.ts
│ │ │ │ │ │ ├── controller
│ │ │ │ │ │ │ ├── clipboard.ts
│ │ │ │ │ │ │ ├── drag.ts
│ │ │ │ │ │ │ ├── hotkeys.ts
│ │ │ │ │ │ │ └── selection.ts
│ │ │ │ │ │ ├── effect.ts
│ │ │ │ │ │ ├── group.ts
│ │ │ │ │ │ ├── header.ts
│ │ │ │ │ │ ├── kanban-view-ui-logic.ts
│ │ │ │ │ │ └── menu.ts
│ │ │ │ │ ├── renderer.ts
│ │ │ │ │ └── selection.ts
│ │ │ │ └── table
│ │ │ │ │ ├── collapsed-state.ts
│ │ │ │ │ ├── consts.ts
│ │ │ │ │ ├── define.ts
│ │ │ │ │ ├── effect.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── mobile
│ │ │ │ │ ├── cell.ts
│ │ │ │ │ ├── column-header.ts
│ │ │ │ │ ├── effect.ts
│ │ │ │ │ ├── group.ts
│ │ │ │ │ ├── header.ts
│ │ │ │ │ ├── menu.ts
│ │ │ │ │ ├── row.ts
│ │ │ │ │ ├── table-view-style.ts
│ │ │ │ │ └── table-view-ui-logic.ts
│ │ │ │ │ ├── pc-virtual
│ │ │ │ │ ├── controller
│ │ │ │ │ │ ├── clipboard.ts
│ │ │ │ │ │ ├── drag-to-fill.ts
│ │ │ │ │ │ ├── drag.ts
│ │ │ │ │ │ ├── hotkeys.ts
│ │ │ │ │ │ └── selection.ts
│ │ │ │ │ ├── effect.ts
│ │ │ │ │ ├── group
│ │ │ │ │ │ ├── bottom
│ │ │ │ │ │ │ ├── group-footer-css.ts
│ │ │ │ │ │ │ ├── group-footer.ts
│ │ │ │ │ │ │ └── stats
│ │ │ │ │ │ │ │ ├── column-stats-bar.ts
│ │ │ │ │ │ │ │ └── column-stats-column.ts
│ │ │ │ │ │ └── top
│ │ │ │ │ │ │ ├── group-header-css.ts
│ │ │ │ │ │ │ ├── group-header.ts
│ │ │ │ │ │ │ ├── group-title-css.ts
│ │ │ │ │ │ │ ├── group-title.ts
│ │ │ │ │ │ │ └── header
│ │ │ │ │ │ │ ├── column-header-css.ts
│ │ │ │ │ │ │ ├── column-header.ts
│ │ │ │ │ │ │ ├── column-move-preview.ts
│ │ │ │ │ │ │ ├── number-format-bar.ts
│ │ │ │ │ │ │ ├── single-column-header.ts
│ │ │ │ │ │ │ └── vertical-indicator.ts
│ │ │ │ │ ├── row
│ │ │ │ │ │ ├── cell.ts
│ │ │ │ │ │ ├── menu.ts
│ │ │ │ │ │ ├── row-header-css.ts
│ │ │ │ │ │ ├── row-header.ts
│ │ │ │ │ │ └── row-last.ts
│ │ │ │ │ ├── table-view-css.ts
│ │ │ │ │ ├── table-view-ui-logic.ts
│ │ │ │ │ ├── types.ts
│ │ │ │ │ └── virtual
│ │ │ │ │ │ ├── batch-task-manager.ts
│ │ │ │ │ │ ├── linked-list.ts
│ │ │ │ │ │ ├── virtual-cell-css.ts
│ │ │ │ │ │ ├── virtual-cell.ts
│ │ │ │ │ │ └── virtual-scroll.ts
│ │ │ │ │ ├── pc
│ │ │ │ │ ├── cell.ts
│ │ │ │ │ ├── controller
│ │ │ │ │ │ ├── clipboard.ts
│ │ │ │ │ │ ├── drag-to-fill.ts
│ │ │ │ │ │ ├── drag.ts
│ │ │ │ │ │ ├── hotkeys.ts
│ │ │ │ │ │ └── selection.ts
│ │ │ │ │ ├── effect.ts
│ │ │ │ │ ├── group.ts
│ │ │ │ │ ├── header
│ │ │ │ │ │ ├── column-header.ts
│ │ │ │ │ │ ├── column-renderer.ts
│ │ │ │ │ │ ├── database-header-column.ts
│ │ │ │ │ │ ├── number-format-bar.ts
│ │ │ │ │ │ ├── styles.ts
│ │ │ │ │ │ └── vertical-indicator.ts
│ │ │ │ │ ├── menu.ts
│ │ │ │ │ ├── row
│ │ │ │ │ │ ├── row-select-checkbox.ts
│ │ │ │ │ │ └── row.ts
│ │ │ │ │ ├── table-view-style.ts
│ │ │ │ │ └── table-view-ui-logic.ts
│ │ │ │ │ ├── renderer.ts
│ │ │ │ │ ├── selection.ts
│ │ │ │ │ ├── stats
│ │ │ │ │ ├── column-stats-bar.ts
│ │ │ │ │ ├── column-stats-column.ts
│ │ │ │ │ └── effect.ts
│ │ │ │ │ ├── styles.ts
│ │ │ │ │ ├── table-view-manager.ts
│ │ │ │ │ ├── types.ts
│ │ │ │ │ └── utils.ts
│ │ │ └── widget-presets
│ │ │ │ ├── effect.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── quick-setting-bar
│ │ │ │ ├── context.ts
│ │ │ │ ├── filter
│ │ │ │ │ ├── condition-view.ts
│ │ │ │ │ ├── group-panel-view.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── list-view.ts
│ │ │ │ │ └── root-panel-view.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── sort
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── root-panel.ts
│ │ │ │ ├── tools
│ │ │ │ ├── index.ts
│ │ │ │ ├── presets
│ │ │ │ │ ├── filter
│ │ │ │ │ │ └── filter.ts
│ │ │ │ │ ├── search
│ │ │ │ │ │ └── search.ts
│ │ │ │ │ ├── sort
│ │ │ │ │ │ └── sort.ts
│ │ │ │ │ ├── table-add-row
│ │ │ │ │ │ ├── add-row.ts
│ │ │ │ │ │ └── new-record-preview.ts
│ │ │ │ │ └── view-options
│ │ │ │ │ │ └── view-options.ts
│ │ │ │ └── tools-view.ts
│ │ │ │ └── views-bar
│ │ │ │ ├── index.ts
│ │ │ │ └── views-view.ts
│ │ ├── tsconfig.json
│ │ └── vitest.config.ts
│ ├── ext-loader
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── __tests__
│ │ │ │ └── ext-loader.unit.spec.ts
│ │ │ ├── base-provider.ts
│ │ │ ├── index.ts
│ │ │ ├── manager.ts
│ │ │ ├── store-manager.ts
│ │ │ ├── store-provider.ts
│ │ │ ├── view-manager.ts
│ │ │ └── view-provider.ts
│ │ ├── tsconfig.json
│ │ └── vitest.config.ts
│ ├── foundation
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── clipboard.ts
│ │ │ ├── effects.ts
│ │ │ ├── index.ts
│ │ │ ├── store.ts
│ │ │ └── view.ts
│ │ └── tsconfig.json
│ ├── fragments
│ │ ├── adapter-panel
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── adapter-panel.ts
│ │ │ │ ├── body
│ │ │ │ │ └── adapter-panel-body.ts
│ │ │ │ ├── config.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── header
│ │ │ │ │ ├── adapter-menu.ts
│ │ │ │ │ └── adapter-panel-header.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── doc-title
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── doc-title.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── utils.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── frame-panel
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── body
│ │ │ │ │ └── frame-panel-body.ts
│ │ │ │ ├── card
│ │ │ │ │ ├── frame-card-title-editor.ts
│ │ │ │ │ ├── frame-card-title.ts
│ │ │ │ │ ├── frame-card.ts
│ │ │ │ │ └── frame-preview.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── frame-panel.ts
│ │ │ │ ├── header
│ │ │ │ │ ├── frame-panel-header.ts
│ │ │ │ │ └── frames-setting-menu.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── utils
│ │ │ │ │ └── drag.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ └── outline
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ ├── body
│ │ │ │ ├── outline-notice.css.ts
│ │ │ │ ├── outline-notice.ts
│ │ │ │ ├── outline-panel-body.css.ts
│ │ │ │ └── outline-panel-body.ts
│ │ │ ├── card
│ │ │ │ ├── outline-card.css.ts
│ │ │ │ ├── outline-card.ts
│ │ │ │ ├── outline-preview.css.ts
│ │ │ │ └── outline-preview.ts
│ │ │ ├── config.ts
│ │ │ ├── effects.ts
│ │ │ ├── header
│ │ │ │ ├── outline-panel-header.css.ts
│ │ │ │ ├── outline-panel-header.ts
│ │ │ │ ├── outline-setting-menu.css.ts
│ │ │ │ └── outline-setting-menu.ts
│ │ │ ├── index.ts
│ │ │ ├── mobile-outline-panel.ts
│ │ │ ├── outline-panel.css.ts
│ │ │ ├── outline-panel.ts
│ │ │ ├── outline-viewer.ts
│ │ │ ├── utils
│ │ │ │ ├── custom-events.ts
│ │ │ │ ├── drag.ts
│ │ │ │ ├── query.ts
│ │ │ │ └── scroll.ts
│ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ ├── gfx
│ │ ├── brush
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── adapter
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── markdown
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ └── plain-text
│ │ │ │ │ │ └── index.ts
│ │ │ │ ├── brush-tool.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── eraser-tool.ts
│ │ │ │ ├── highlighter-tool.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── renderer
│ │ │ │ │ ├── dom
│ │ │ │ │ │ ├── brush.ts
│ │ │ │ │ │ ├── highlighter.ts
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── element
│ │ │ │ │ │ ├── brush.ts
│ │ │ │ │ │ ├── highlighter.ts
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── store.ts
│ │ │ │ ├── toolbar
│ │ │ │ │ ├── components
│ │ │ │ │ │ ├── eraser
│ │ │ │ │ │ │ ├── eraser-tool-button.ts
│ │ │ │ │ │ │ └── icons.ts
│ │ │ │ │ │ └── pen
│ │ │ │ │ │ │ ├── consts.ts
│ │ │ │ │ │ │ ├── icons.ts
│ │ │ │ │ │ │ ├── pen-menu.ts
│ │ │ │ │ │ │ ├── pen-tool-button.ts
│ │ │ │ │ │ │ └── types.ts
│ │ │ │ │ ├── configs
│ │ │ │ │ │ ├── brush.ts
│ │ │ │ │ │ ├── highlighter.ts
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ └── senior-tool.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── connector
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── adapter
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── markdown
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── plain-text
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ └── text.ts
│ │ │ │ ├── components
│ │ │ │ │ └── connector-handle.ts
│ │ │ │ ├── connector-manager.ts
│ │ │ │ ├── connector-tool.ts
│ │ │ │ ├── connector-watcher.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── element-transform
│ │ │ │ │ ├── connector-filter.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── renderer
│ │ │ │ │ ├── dom-renderer.ts
│ │ │ │ │ ├── element-renderer.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── store.ts
│ │ │ │ ├── text
│ │ │ │ │ ├── edgeless-connector-label-editor.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── text.ts
│ │ │ │ ├── toolbar
│ │ │ │ │ ├── config.ts
│ │ │ │ │ ├── connector-dense-menu.ts
│ │ │ │ │ ├── connector-menu.ts
│ │ │ │ │ ├── connector-tool-button.ts
│ │ │ │ │ └── quick-tool.ts
│ │ │ │ ├── view.ts
│ │ │ │ └── view
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── group
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── adapter
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── markdown
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── plain-text
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ └── text.ts
│ │ │ │ ├── command
│ │ │ │ │ ├── group-api.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── element-view.ts
│ │ │ │ ├── group-watcher.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── interaction-ext.ts
│ │ │ │ ├── renderer
│ │ │ │ │ ├── consts.ts
│ │ │ │ │ ├── dom-renderer.ts
│ │ │ │ │ ├── element-renderer.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── store.ts
│ │ │ │ ├── text
│ │ │ │ │ ├── edgeless-group-title-editor.ts
│ │ │ │ │ └── text.ts
│ │ │ │ ├── toolbar
│ │ │ │ │ └── config.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── link
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── effects.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── link-tool.ts
│ │ │ │ ├── toolbar
│ │ │ │ │ ├── link-dense-menu.ts
│ │ │ │ │ └── link-tool-button.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── mindmap
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── adapter
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── markdown
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── plain-text
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── indicator-overlay
│ │ │ │ │ └── index.ts
│ │ │ │ ├── interactivity
│ │ │ │ │ ├── drag-utils.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── mind-map-drag.ts
│ │ │ │ ├── renderer
│ │ │ │ │ ├── dom-renderer.ts
│ │ │ │ │ ├── element-renderer.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── store.ts
│ │ │ │ ├── toolbar
│ │ │ │ │ ├── assets.ts
│ │ │ │ │ ├── basket-elements.ts
│ │ │ │ │ ├── config.ts
│ │ │ │ │ ├── icons.ts
│ │ │ │ │ ├── mindmap-importing-placeholder.ts
│ │ │ │ │ ├── mindmap-menu.ts
│ │ │ │ │ ├── mindmap-tool-button.ts
│ │ │ │ │ ├── senior-tool.ts
│ │ │ │ │ └── utils
│ │ │ │ │ │ └── import-mindmap.ts
│ │ │ │ ├── utils
│ │ │ │ │ └── index.ts
│ │ │ │ ├── view.ts
│ │ │ │ └── view
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── layout.ts
│ │ │ │ │ ├── style-svg.ts
│ │ │ │ │ ├── utils.ts
│ │ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── note
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── components
│ │ │ │ │ ├── icons.ts
│ │ │ │ │ ├── note-display-mode-panel.ts
│ │ │ │ │ └── note-shadow-panel.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── note-tool.ts
│ │ │ │ ├── overlay
│ │ │ │ │ ├── consts.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── overlay.ts
│ │ │ │ ├── toolbar
│ │ │ │ │ ├── icon.ts
│ │ │ │ │ ├── note-menu-config.ts
│ │ │ │ │ ├── note-menu.ts
│ │ │ │ │ ├── note-senior-button.ts
│ │ │ │ │ ├── note-tool-button.ts
│ │ │ │ │ └── senior-tool.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── pointer
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── effects.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── quick-tool
│ │ │ │ │ ├── default-tool-button.ts
│ │ │ │ │ └── quick-tool.ts
│ │ │ │ ├── snap
│ │ │ │ │ ├── snap-manager.ts
│ │ │ │ │ └── snap-overlay.ts
│ │ │ │ ├── tools
│ │ │ │ │ ├── empty-tool.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── pan-tool.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── shape
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── adapter
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── markdown
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── plain-text
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── components
│ │ │ │ │ ├── shape-panel.ts
│ │ │ │ │ └── shape-style-panel.ts
│ │ │ │ ├── consts.ts
│ │ │ │ ├── draggable
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── shape-draggable.ts
│ │ │ │ │ ├── shape-menu.ts
│ │ │ │ │ ├── shape-tool-button.ts
│ │ │ │ │ ├── shape-tool-element.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── element-renderer
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── shape-dom.ts
│ │ │ │ │ ├── shape-dom
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ └── shape
│ │ │ │ │ │ ├── diamond.ts
│ │ │ │ │ │ ├── ellipse.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── rect.ts
│ │ │ │ │ │ ├── triangle.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ ├── element-view.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── overlay
│ │ │ │ │ ├── diamond.ts
│ │ │ │ │ ├── ellipse.ts
│ │ │ │ │ ├── factory.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── rect.ts
│ │ │ │ │ ├── rounded-rect.ts
│ │ │ │ │ ├── shape-overlay.ts
│ │ │ │ │ ├── shape.ts
│ │ │ │ │ ├── triangle.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── shape-tool.ts
│ │ │ │ ├── store.ts
│ │ │ │ ├── text
│ │ │ │ │ ├── edgeless-shape-text-editor.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── toolbar
│ │ │ │ │ ├── config.ts
│ │ │ │ │ ├── icons.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── senior-tool.ts
│ │ │ │ │ └── shape-menu-config.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── template
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── effects.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── services
│ │ │ │ │ ├── template-middlewares.ts
│ │ │ │ │ └── template.ts
│ │ │ │ ├── template-tool.ts
│ │ │ │ ├── toolbar
│ │ │ │ │ ├── builtin-templates.ts
│ │ │ │ │ ├── cards.ts
│ │ │ │ │ ├── overlay-scrollbar.ts
│ │ │ │ │ ├── senior-tool.ts
│ │ │ │ │ ├── template-loading.ts
│ │ │ │ │ ├── template-panel.ts
│ │ │ │ │ ├── template-tool-button.ts
│ │ │ │ │ ├── template-type.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── text
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── adapter
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── markdown
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── plain-text
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ └── text.ts
│ │ │ │ ├── commands
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── insert-edgeless-text.ts
│ │ │ │ ├── dblclick-add-edgeless-text.ts
│ │ │ │ ├── edgeless-text-editor.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── element-renderer
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── element-view.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── store.ts
│ │ │ │ ├── tool.ts
│ │ │ │ ├── toolbar
│ │ │ │ │ ├── actions.ts
│ │ │ │ │ ├── config.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── text-menu.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ └── turbo-renderer
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ ├── index.ts
│ │ │ ├── layout
│ │ │ │ └── block-layout-provider.ts
│ │ │ ├── painter
│ │ │ │ └── painter.worker.ts
│ │ │ ├── renderer-utils.ts
│ │ │ ├── text-utils.ts
│ │ │ ├── turbo-renderer.ts
│ │ │ └── types.ts
│ │ │ └── tsconfig.json
│ ├── inlines
│ │ ├── comment
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── effects.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── inline-comment-manager.ts
│ │ │ │ ├── inline-comment.ts
│ │ │ │ ├── inline-spec.ts
│ │ │ │ ├── utils.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── footnote
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── __tests__
│ │ │ │ │ └── adapters
│ │ │ │ │ │ └── preprocessor.unit.spec.ts
│ │ │ │ ├── adapters
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── markdown
│ │ │ │ │ │ ├── inline-delta.ts
│ │ │ │ │ │ ├── markdown-inline.ts
│ │ │ │ │ │ └── preprocessor.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── footnote-node
│ │ │ │ │ ├── footnote-config.ts
│ │ │ │ │ ├── footnote-node.ts
│ │ │ │ │ ├── footnote-popup-chip.ts
│ │ │ │ │ └── footnote-popup.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── inline-spec.ts
│ │ │ │ ├── store.ts
│ │ │ │ └── view.ts
│ │ │ ├── tsconfig.json
│ │ │ └── vitest.config.ts
│ │ ├── latex
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── adapters
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── markdown
│ │ │ │ │ │ ├── inline-delta.ts
│ │ │ │ │ │ └── markdown-inline.ts
│ │ │ │ │ └── plain-text
│ │ │ │ │ │ └── inline-delta.ts
│ │ │ │ ├── command.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── inline-spec.ts
│ │ │ │ ├── latex-node
│ │ │ │ │ ├── latex-editor-menu.ts
│ │ │ │ │ ├── latex-editor-unit.ts
│ │ │ │ │ └── latex-node.ts
│ │ │ │ ├── markdown.ts
│ │ │ │ ├── store.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── link
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── adapters
│ │ │ │ │ ├── html
│ │ │ │ │ │ ├── html-inline.ts
│ │ │ │ │ │ └── inline-delta.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── markdown
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── inline-delta.ts
│ │ │ │ │ │ └── markdown-inline.ts
│ │ │ │ │ ├── notion-html
│ │ │ │ │ │ └── html-inline.ts
│ │ │ │ │ └── plain-text
│ │ │ │ │ │ └── inline-delta.ts
│ │ │ │ ├── command.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── inline-spec.ts
│ │ │ │ ├── link-node
│ │ │ │ │ ├── affine-link.ts
│ │ │ │ │ ├── configs
│ │ │ │ │ │ └── toolbar.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── link-popup
│ │ │ │ │ │ ├── link-popup.ts
│ │ │ │ │ │ ├── styles.ts
│ │ │ │ │ │ └── toggle-link-popup.ts
│ │ │ │ ├── markdown.ts
│ │ │ │ ├── store.ts
│ │ │ │ ├── toolbar.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── mention
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── affine-mention.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── inline-spec.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ ├── preset
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ │ ├── adapters
│ │ │ │ │ ├── extensions.ts
│ │ │ │ │ ├── html
│ │ │ │ │ │ ├── html-inline.ts
│ │ │ │ │ │ └── inline-delta.ts
│ │ │ │ │ ├── markdown
│ │ │ │ │ │ ├── inline-delta.ts
│ │ │ │ │ │ └── markdown-inline.ts
│ │ │ │ │ └── notion-html
│ │ │ │ │ │ └── html-inline.ts
│ │ │ │ ├── command
│ │ │ │ │ ├── config.ts
│ │ │ │ │ ├── consts.ts
│ │ │ │ │ ├── delete-text.ts
│ │ │ │ │ ├── format-block.ts
│ │ │ │ │ ├── format-native.ts
│ │ │ │ │ ├── format-text.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── text-style.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── default-inline-manager.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── inline-spec.ts
│ │ │ │ ├── keymap
│ │ │ │ │ ├── basic.ts
│ │ │ │ │ ├── bracket.ts
│ │ │ │ │ ├── format.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── markdown.ts
│ │ │ │ ├── nodes
│ │ │ │ │ └── affine-text.ts
│ │ │ │ ├── store.ts
│ │ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ │ └── reference
│ │ │ ├── package.json
│ │ │ ├── src
│ │ │ ├── adapters
│ │ │ │ ├── html
│ │ │ │ │ └── inline-delta.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── markdown
│ │ │ │ │ └── inline-delta.ts
│ │ │ │ └── plain-text
│ │ │ │ │ └── inline-delta.ts
│ │ │ ├── effects.ts
│ │ │ ├── index.ts
│ │ │ ├── inline-spec.ts
│ │ │ ├── reference-node
│ │ │ │ ├── configs
│ │ │ │ │ └── toolbar.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── reference-config.ts
│ │ │ │ ├── reference-node-slots.ts
│ │ │ │ ├── reference-node.ts
│ │ │ │ ├── reference-popup
│ │ │ │ │ ├── reference-popup.ts
│ │ │ │ │ └── toggle-reference-popup.ts
│ │ │ │ └── types.ts
│ │ │ ├── store.ts
│ │ │ ├── toolbar.ts
│ │ │ ├── utils.ts
│ │ │ └── view.ts
│ │ │ └── tsconfig.json
│ ├── model
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── blocks
│ │ │ │ ├── attachment
│ │ │ │ │ ├── attachment-model.ts
│ │ │ │ │ ├── attachment-transformer.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── bookmark
│ │ │ │ │ ├── bookmark-model.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── callout
│ │ │ │ │ ├── callout-model.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── code
│ │ │ │ │ ├── code-model.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── database
│ │ │ │ │ ├── database-model.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── types.ts
│ │ │ │ ├── divider
│ │ │ │ │ ├── divider-model.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── edgeless-text
│ │ │ │ │ ├── edgeless-text-model.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── embed
│ │ │ │ │ ├── figma
│ │ │ │ │ │ ├── figma-model.ts
│ │ │ │ │ │ ├── figma-schema.ts
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── github
│ │ │ │ │ │ ├── github-model.ts
│ │ │ │ │ │ ├── github-schema.ts
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── html
│ │ │ │ │ │ ├── html-model.ts
│ │ │ │ │ │ ├── html-schema.ts
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── iframe
│ │ │ │ │ │ ├── iframe-model.ts
│ │ │ │ │ │ ├── iframe-schema.ts
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── linked-doc
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── linked-doc-model.ts
│ │ │ │ │ │ └── linked-doc-schema.ts
│ │ │ │ │ ├── loom
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── loom-model.ts
│ │ │ │ │ │ └── loom-schema.ts
│ │ │ │ │ ├── synced-doc
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── synced-doc-model.ts
│ │ │ │ │ │ └── synced-doc-schema.ts
│ │ │ │ │ ├── types.ts
│ │ │ │ │ └── youtube
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── youtube-model.ts
│ │ │ │ │ │ └── youtube-schema.ts
│ │ │ │ ├── frame
│ │ │ │ │ ├── frame-model.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── image
│ │ │ │ │ ├── image-model.ts
│ │ │ │ │ ├── image-transformer.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── latex
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── latex-model.ts
│ │ │ │ ├── list
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── list-model.ts
│ │ │ │ ├── note
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── note-model.ts
│ │ │ │ ├── paragraph
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── paragraph-model.ts
│ │ │ │ ├── root
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── root-block-model.ts
│ │ │ │ ├── surface-ref
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── surface-ref-model.ts
│ │ │ │ └── table
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── table-model.ts
│ │ │ ├── consts
│ │ │ │ ├── connector.ts
│ │ │ │ ├── doc.ts
│ │ │ │ ├── edgeless-text.ts
│ │ │ │ ├── image.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── line.ts
│ │ │ │ ├── mindmap.ts
│ │ │ │ ├── note.ts
│ │ │ │ ├── shape.ts
│ │ │ │ └── text.ts
│ │ │ ├── elements
│ │ │ │ ├── brush
│ │ │ │ │ ├── brush.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── connector
│ │ │ │ │ ├── connector.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── local-connector.ts
│ │ │ │ ├── group
│ │ │ │ │ ├── group.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── highlighter
│ │ │ │ │ ├── highlighter.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── mindmap
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── mindmap.ts
│ │ │ │ │ ├── snapshot
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── types.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── style.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── shape
│ │ │ │ │ ├── api
│ │ │ │ │ │ ├── diamond.ts
│ │ │ │ │ │ ├── ellipse.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── rect.ts
│ │ │ │ │ │ └── triangle.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── shape.ts
│ │ │ │ └── text
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── text.ts
│ │ │ ├── index.ts
│ │ │ ├── themes
│ │ │ │ ├── color.ts
│ │ │ │ ├── default.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── utils.ts
│ │ │ └── utils
│ │ │ │ ├── enum.ts
│ │ │ │ ├── helper.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── types.ts
│ │ └── tsconfig.json
│ ├── rich-text
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── align.ts
│ │ │ ├── conversion.ts
│ │ │ ├── dom.ts
│ │ │ ├── effects.ts
│ │ │ ├── hooks.ts
│ │ │ ├── index.ts
│ │ │ ├── rich-text.ts
│ │ │ └── utils.ts
│ │ └── tsconfig.json
│ ├── shared
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── __tests__
│ │ │ │ ├── adapters
│ │ │ │ │ ├── html
│ │ │ │ │ │ └── rehype-plugins
│ │ │ │ │ │ │ ├── inline-to-block.unit.spec.ts
│ │ │ │ │ │ │ └── wrap-inline-element.unit.spec.ts
│ │ │ │ │ ├── markdown
│ │ │ │ │ │ └── remark-plugins
│ │ │ │ │ │ │ └── remark-callout.unit.spec.ts
│ │ │ │ │ └── utils
│ │ │ │ │ │ └── file-path.unit.spec.ts
│ │ │ │ ├── commands
│ │ │ │ │ ├── block-crud
│ │ │ │ │ │ ├── get-first-block.unit.spec.ts
│ │ │ │ │ │ └── get-last-block.unit.spec.ts
│ │ │ │ │ ├── model-crud
│ │ │ │ │ │ └── replace-selected-text-with-blocks.unit.spec.ts
│ │ │ │ │ └── selection
│ │ │ │ │ │ └── is-nothing-selected.unit.spec.ts
│ │ │ │ ├── test-utils
│ │ │ │ │ └── affine-template.unit.spec.ts
│ │ │ │ └── utils
│ │ │ │ │ ├── rect.unit.spec.ts
│ │ │ │ │ ├── string.unit.spec.ts
│ │ │ │ │ └── url.unit.spec.ts
│ │ │ ├── adapters
│ │ │ │ ├── attachment.ts
│ │ │ │ ├── clipboard
│ │ │ │ │ ├── clipboard.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── html
│ │ │ │ │ ├── block-adapter.ts
│ │ │ │ │ ├── delta-converter.ts
│ │ │ │ │ ├── html.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── rehype-plugins
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── inline-to-block.ts
│ │ │ │ │ │ └── wrap-inline-element.ts
│ │ │ │ ├── image.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── markdown
│ │ │ │ │ ├── block-adapter.ts
│ │ │ │ │ ├── delta-converter.ts
│ │ │ │ │ ├── gfm.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── markdown.ts
│ │ │ │ │ ├── preprocessor.ts
│ │ │ │ │ ├── remark-plugins
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── remark-callout.ts
│ │ │ │ │ └── type.ts
│ │ │ │ ├── middlewares
│ │ │ │ │ ├── callout-export-options.ts
│ │ │ │ │ ├── code.ts
│ │ │ │ │ ├── copy.ts
│ │ │ │ │ ├── doc-link.ts
│ │ │ │ │ ├── file-name.ts
│ │ │ │ │ ├── file-path.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── paste.ts
│ │ │ │ │ ├── proxy.ts
│ │ │ │ │ ├── replace-id.ts
│ │ │ │ │ ├── surface-ref-to-embed.ts
│ │ │ │ │ ├── title.ts
│ │ │ │ │ └── upload.ts
│ │ │ │ ├── mix-text.ts
│ │ │ │ ├── notion-html
│ │ │ │ │ ├── block-adapter.ts
│ │ │ │ │ ├── delta-converter.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── notion-html.ts
│ │ │ │ ├── notion-text.ts
│ │ │ │ ├── plain-text
│ │ │ │ │ ├── block-adapter.ts
│ │ │ │ │ ├── delta-converter.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── plain-text.ts
│ │ │ │ ├── types
│ │ │ │ │ ├── adapter.ts
│ │ │ │ │ ├── delta-converter.ts
│ │ │ │ │ ├── hast.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── preprocessor.ts
│ │ │ │ └── utils
│ │ │ │ │ ├── fetch.ts
│ │ │ │ │ ├── file-path.ts
│ │ │ │ │ ├── hast.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── text.ts
│ │ │ ├── commands
│ │ │ │ ├── README.md
│ │ │ │ ├── block-crud
│ │ │ │ │ ├── get-block-index.ts
│ │ │ │ │ ├── get-first-content-block.ts
│ │ │ │ │ ├── get-last-content-block.ts
│ │ │ │ │ ├── get-next-block.ts
│ │ │ │ │ ├── get-prev-block.ts
│ │ │ │ │ ├── get-selected-blocks.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── index.d.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── model-crud
│ │ │ │ │ ├── clear-and-select-first-model.ts
│ │ │ │ │ ├── copy-selected-models.ts
│ │ │ │ │ ├── delete-selected-models.ts
│ │ │ │ │ ├── draft-selected-models.ts
│ │ │ │ │ ├── duplicate-selected-model.ts
│ │ │ │ │ ├── get-selected-models.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── replace-selected-text-with-blocks.ts
│ │ │ │ │ └── retain-first-model.ts
│ │ │ │ └── selection
│ │ │ │ │ ├── focus-block-end.ts
│ │ │ │ │ ├── focus-block-start.ts
│ │ │ │ │ ├── get-block-selections.ts
│ │ │ │ │ ├── get-image-selections.ts
│ │ │ │ │ ├── get-selection-rects.ts
│ │ │ │ │ ├── get-surface-selection.ts
│ │ │ │ │ ├── get-text-selection.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── is-nothing-selected.ts
│ │ │ │ │ └── types.ts
│ │ │ ├── consts
│ │ │ │ ├── bracket-pairs.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── note.ts
│ │ │ │ └── text.ts
│ │ │ ├── index.ts
│ │ │ ├── selection
│ │ │ │ ├── hightlight.ts
│ │ │ │ ├── image.ts
│ │ │ │ └── index.ts
│ │ │ ├── services
│ │ │ │ ├── auto-clear-selection-service.ts
│ │ │ │ ├── block-meta-service.ts
│ │ │ │ ├── citation-service
│ │ │ │ │ ├── citation-service.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── comment-service
│ │ │ │ │ ├── block-element-comment-manager.ts
│ │ │ │ │ ├── comment-provider.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── doc-display-meta-service.ts
│ │ │ │ ├── doc-mode-service.ts
│ │ │ │ ├── drag-handle-config.ts
│ │ │ │ ├── edit-props-store.ts
│ │ │ │ ├── editor-setting-service.ts
│ │ │ │ ├── embed-iframe
│ │ │ │ │ ├── embed-iframe-config.ts
│ │ │ │ │ ├── embed-iframe-service.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── embed-option-service.ts
│ │ │ │ ├── feature-flag-service.ts
│ │ │ │ ├── file-size-limit-service.ts
│ │ │ │ ├── font-loader
│ │ │ │ │ ├── config.ts
│ │ │ │ │ ├── font-loader-service.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── generate-url-service.ts
│ │ │ │ ├── icon-picker-service.ts
│ │ │ │ ├── icon-picker-service
│ │ │ │ │ └── index.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── link-preview-service
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── link-preview-cache.ts
│ │ │ │ │ ├── link-preview-service.ts
│ │ │ │ │ └── link-preview-storage.ts
│ │ │ │ ├── native-clipboard-service.ts
│ │ │ │ ├── notification-service.ts
│ │ │ │ ├── open-doc-config.ts
│ │ │ │ ├── page-viewport-service.ts
│ │ │ │ ├── parse-url-service.ts
│ │ │ │ ├── quick-search-service.ts
│ │ │ │ ├── sidebar-service.ts
│ │ │ │ ├── telemetry-service
│ │ │ │ │ ├── citation.ts
│ │ │ │ │ ├── code-block.ts
│ │ │ │ │ ├── database.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── link.ts
│ │ │ │ │ ├── note.ts
│ │ │ │ │ ├── slash-menu.ts
│ │ │ │ │ ├── telemetry-service.ts
│ │ │ │ │ └── types.ts
│ │ │ │ ├── theme-service.ts
│ │ │ │ ├── toolbar-service
│ │ │ │ │ ├── action.ts
│ │ │ │ │ ├── config.ts
│ │ │ │ │ ├── context.ts
│ │ │ │ │ ├── flags.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── module.ts
│ │ │ │ │ └── registry.ts
│ │ │ │ ├── user-service
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── types.ts
│ │ │ │ │ ├── user-list-service.ts
│ │ │ │ │ ├── user-service.ts
│ │ │ │ │ └── writer-info-service.ts
│ │ │ │ ├── viewport-element-service.ts
│ │ │ │ └── virtual-keyboard-service.ts
│ │ │ ├── styles
│ │ │ │ ├── font.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── panel.ts
│ │ │ │ ├── scrollbar-style.ts
│ │ │ │ └── text.ts
│ │ │ ├── test-utils
│ │ │ │ ├── README.md
│ │ │ │ ├── affine-template.ts
│ │ │ │ ├── affine-test-utils.ts
│ │ │ │ ├── create-test-host.ts
│ │ │ │ └── index.ts
│ │ │ ├── theme
│ │ │ │ ├── css-variables.ts
│ │ │ │ └── index.ts
│ │ │ ├── types
│ │ │ │ ├── index.ts
│ │ │ │ └── uni-component.ts
│ │ │ └── utils
│ │ │ │ ├── auto-scroll.ts
│ │ │ │ ├── button-popper.ts
│ │ │ │ ├── collapsed
│ │ │ │ ├── index.ts
│ │ │ │ └── paragraph.ts
│ │ │ │ ├── computing.ts
│ │ │ │ ├── dnd
│ │ │ │ ├── calc-drop-target.ts
│ │ │ │ ├── get-drop-rect-by-point.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── types.ts
│ │ │ │ ├── dom
│ │ │ │ ├── checker.ts
│ │ │ │ ├── has-classname-in-list.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── point-to-block.ts
│ │ │ │ ├── point-to-range.ts
│ │ │ │ ├── query.ts
│ │ │ │ ├── scroll-container.ts
│ │ │ │ └── viewport.ts
│ │ │ │ ├── drag-helper
│ │ │ │ ├── cell-select.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── linear-move.ts
│ │ │ │ └── types.ts
│ │ │ │ ├── edgeless.ts
│ │ │ │ ├── event.ts
│ │ │ │ ├── figma-squircle
│ │ │ │ ├── distribute.ts
│ │ │ │ ├── draw.ts
│ │ │ │ └── index.ts
│ │ │ │ ├── file
│ │ │ │ ├── filesys.ts
│ │ │ │ ├── header-value-parser.ts
│ │ │ │ └── index.ts
│ │ │ │ ├── fractional-indexing.ts
│ │ │ │ ├── image.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── insert.ts
│ │ │ │ ├── is-abort-error.ts
│ │ │ │ ├── math.ts
│ │ │ │ ├── model
│ │ │ │ ├── block-props.ts
│ │ │ │ ├── checker.ts
│ │ │ │ ├── doc.ts
│ │ │ │ ├── get-content-block.ts
│ │ │ │ ├── getter.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── list.ts
│ │ │ │ ├── merge-to-code-model.ts
│ │ │ │ └── transform-model.ts
│ │ │ │ ├── popper-position.ts
│ │ │ │ ├── print-to-pdf.ts
│ │ │ │ ├── reference.ts
│ │ │ │ ├── reordering.ts
│ │ │ │ ├── signal.ts
│ │ │ │ ├── string.ts
│ │ │ │ ├── title.ts
│ │ │ │ ├── url.ts
│ │ │ │ ├── virtual-padding.ts
│ │ │ │ └── zod-schema.ts
│ │ ├── tsconfig.json
│ │ └── vitest.config.ts
│ └── widgets
│ │ ├── drag-handle
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── components
│ │ │ │ └── edgeless-preview
│ │ │ │ │ └── preview.ts
│ │ │ ├── config.ts
│ │ │ ├── consts.ts
│ │ │ ├── drag-handle.ts
│ │ │ ├── effects.ts
│ │ │ ├── helpers
│ │ │ │ ├── preview-helper.ts
│ │ │ │ ├── rect-helper.ts
│ │ │ │ └── selection-helper.ts
│ │ │ ├── index.ts
│ │ │ ├── middleware
│ │ │ │ ├── blocks-filter.ts
│ │ │ │ ├── card-style-updater.ts
│ │ │ │ ├── new-id-cross-doc.ts
│ │ │ │ └── reorder-list.ts
│ │ │ ├── styles.ts
│ │ │ ├── utils.ts
│ │ │ ├── view.ts
│ │ │ └── watchers
│ │ │ │ ├── drag-event-watcher.ts
│ │ │ │ ├── edgeless-watcher.ts
│ │ │ │ ├── handle-event-watcher.ts
│ │ │ │ ├── keyboard-event-watcher.ts
│ │ │ │ ├── page-watcher.ts
│ │ │ │ └── pointer-event-watcher.ts
│ │ └── tsconfig.json
│ │ ├── edgeless-auto-connect
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── effects.ts
│ │ │ ├── index.ts
│ │ │ └── view.ts
│ │ └── tsconfig.json
│ │ ├── edgeless-dragging-area
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── edgeless-dragging-area-rect.ts
│ │ │ ├── effects.ts
│ │ │ ├── index.ts
│ │ │ └── view.ts
│ │ └── tsconfig.json
│ │ ├── edgeless-selected-rect
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── auto-complete-panel.ts
│ │ │ ├── edgeless-auto-complete.ts
│ │ │ ├── edgeless-selected-rect.ts
│ │ │ ├── effects.ts
│ │ │ ├── index.ts
│ │ │ ├── resize-handles.ts
│ │ │ ├── spec.ts
│ │ │ ├── utils.ts
│ │ │ └── view.ts
│ │ └── tsconfig.json
│ │ ├── edgeless-toolbar
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── button
│ │ │ │ ├── tool-icon-button.ts
│ │ │ │ └── toolbar-button.ts
│ │ │ ├── config
│ │ │ │ ├── consts.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── utils.ts
│ │ │ ├── context.ts
│ │ │ ├── create-popper.ts
│ │ │ ├── draggable
│ │ │ │ ├── draggable-element.controller.ts
│ │ │ │ ├── event-resolver.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── overlay-factory.ts
│ │ │ │ └── types.ts
│ │ │ ├── edgeless-toolbar.ts
│ │ │ ├── effects.ts
│ │ │ ├── extension
│ │ │ │ └── index.ts
│ │ │ ├── index.ts
│ │ │ ├── menu
│ │ │ │ ├── slide-menu.ts
│ │ │ │ └── toolbar-arrow-up-icon.ts
│ │ │ ├── mixins
│ │ │ │ ├── index.ts
│ │ │ │ ├── quick-tool.mixin.ts
│ │ │ │ ├── tool.mixin.ts
│ │ │ │ └── toolbar-button-with-menu.mixin.ts
│ │ │ ├── panel
│ │ │ │ ├── font-family-panel.ts
│ │ │ │ └── font-weight-and-style-panel.ts
│ │ │ └── view.ts
│ │ └── tsconfig.json
│ │ ├── edgeless-zoom-toolbar
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── effects.ts
│ │ │ ├── index.ts
│ │ │ ├── view.ts
│ │ │ ├── zoom-bar-toggle-button.ts
│ │ │ └── zoom-toolbar.ts
│ │ └── tsconfig.json
│ │ ├── frame-title
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── affine-frame-title-widget.ts
│ │ │ ├── edgeless-frame-title-editor.ts
│ │ │ ├── effects.ts
│ │ │ ├── frame-title.ts
│ │ │ ├── index.ts
│ │ │ ├── mount-frame-title-editor.ts
│ │ │ ├── styles.ts
│ │ │ └── view.ts
│ │ └── tsconfig.json
│ │ ├── keyboard-toolbar
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── config.ts
│ │ │ ├── effects.ts
│ │ │ ├── icons.ts
│ │ │ ├── index.ts
│ │ │ ├── keyboard-tool-panel.ts
│ │ │ ├── keyboard-toolbar.ts
│ │ │ ├── styles.ts
│ │ │ ├── utils.ts
│ │ │ ├── view.ts
│ │ │ └── widget.ts
│ │ └── tsconfig.json
│ │ ├── linked-doc
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── config.ts
│ │ │ ├── effects.ts
│ │ │ ├── import-doc
│ │ │ │ ├── import-doc.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── loader.ts
│ │ │ │ └── styles.ts
│ │ │ ├── index.ts
│ │ │ ├── linked-doc-popover.ts
│ │ │ ├── mobile-linked-doc-menu.ts
│ │ │ ├── styles.ts
│ │ │ ├── transformers
│ │ │ │ ├── docx.ts
│ │ │ │ ├── html.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── markdown.ts
│ │ │ │ ├── notion-html.ts
│ │ │ │ ├── type.ts
│ │ │ │ ├── utils.ts
│ │ │ │ └── zip.ts
│ │ │ ├── utils.ts
│ │ │ ├── view.ts
│ │ │ └── widget.ts
│ │ └── tsconfig.json
│ │ ├── note-slicer
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── effects.ts
│ │ │ ├── index.ts
│ │ │ ├── note-slicer.ts
│ │ │ └── view.ts
│ │ └── tsconfig.json
│ │ ├── page-dragging-area
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── effects.ts
│ │ │ ├── index.ts
│ │ │ ├── utils.ts
│ │ │ └── view.ts
│ │ └── tsconfig.json
│ │ ├── remote-selection
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── doc
│ │ │ │ ├── config.ts
│ │ │ │ ├── doc-remote-selection.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── utils.ts
│ │ │ ├── edgeless
│ │ │ │ └── index.ts
│ │ │ ├── effects.ts
│ │ │ ├── index.ts
│ │ │ ├── manager
│ │ │ │ ├── color-picker.ts
│ │ │ │ └── remote-color-manager.ts
│ │ │ └── view.ts
│ │ └── tsconfig.json
│ │ ├── scroll-anchoring
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── effects.ts
│ │ │ ├── index.ts
│ │ │ ├── scroll-anchoring.ts
│ │ │ └── view.ts
│ │ └── tsconfig.json
│ │ ├── slash-menu
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── config.ts
│ │ │ ├── consts.ts
│ │ │ ├── effects.ts
│ │ │ ├── extensions.ts
│ │ │ ├── index.ts
│ │ │ ├── slash-menu-popover.ts
│ │ │ ├── styles.ts
│ │ │ ├── tooltips
│ │ │ │ ├── copy.ts
│ │ │ │ ├── delete.ts
│ │ │ │ ├── empty.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── move-down.ts
│ │ │ │ ├── move-up.ts
│ │ │ │ ├── now.ts
│ │ │ │ ├── today.ts
│ │ │ │ ├── tomorrow.ts
│ │ │ │ └── yesterday.ts
│ │ │ ├── types.ts
│ │ │ ├── utils.ts
│ │ │ ├── view.ts
│ │ │ └── widget.ts
│ │ └── tsconfig.json
│ │ ├── toolbar
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── effects.ts
│ │ │ ├── index.ts
│ │ │ ├── toolbar.ts
│ │ │ ├── utils.ts
│ │ │ └── view.ts
│ │ └── tsconfig.json
│ │ └── viewport-overlay
│ │ ├── package.json
│ │ ├── src
│ │ ├── effects.ts
│ │ ├── index.ts
│ │ └── view.ts
│ │ └── tsconfig.json
├── docs
│ ├── README.md
│ ├── api
│ │ ├── @blocksuite
│ │ │ ├── std
│ │ │ │ ├── README.md
│ │ │ │ ├── gfx
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── classes
│ │ │ │ │ │ ├── GfxBlockElementModel.md
│ │ │ │ │ │ └── GfxSelectionManager.md
│ │ │ │ │ ├── functions
│ │ │ │ │ │ ├── GfxCompatible.md
│ │ │ │ │ │ ├── canSafeAddToContainer.md
│ │ │ │ │ │ ├── compareLayer.md
│ │ │ │ │ │ ├── convert.md
│ │ │ │ │ │ ├── derive.md
│ │ │ │ │ │ ├── generateKeyBetween.md
│ │ │ │ │ │ ├── generateKeyBetweenV2.md
│ │ │ │ │ │ ├── generateNKeysBetween.md
│ │ │ │ │ │ ├── getTopElements.md
│ │ │ │ │ │ ├── isGfxGroupCompatibleModel.md
│ │ │ │ │ │ ├── local.md
│ │ │ │ │ │ ├── observe.md
│ │ │ │ │ │ └── watch.md
│ │ │ │ │ ├── interfaces
│ │ │ │ │ │ ├── GfxCompatibleInterface.md
│ │ │ │ │ │ ├── GfxElementGeometry.md
│ │ │ │ │ │ ├── GfxGroupCompatibleInterface.md
│ │ │ │ │ │ └── PointTestOptions.md
│ │ │ │ │ ├── type-aliases
│ │ │ │ │ │ ├── GfxCommonBlockProps.md
│ │ │ │ │ │ └── GfxCompatibleProps.md
│ │ │ │ │ └── variables
│ │ │ │ │ │ ├── SURFACE_TEXT_UNIQ_IDENTIFIER.md
│ │ │ │ │ │ ├── SURFACE_YMAP_UNIQ_IDENTIFIER.md
│ │ │ │ │ │ └── gfxGroupCompatibleSymbol.md
│ │ │ │ └── index
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── classes
│ │ │ │ │ ├── BlockService.md
│ │ │ │ │ ├── CommandManager.md
│ │ │ │ │ └── LifeCycleWatcher.md
│ │ │ │ │ └── functions
│ │ │ │ │ ├── BlockViewExtension.md
│ │ │ │ │ ├── ConfigExtensionFactory.md
│ │ │ │ │ ├── FlavourExtension.md
│ │ │ │ │ ├── KeymapExtension.md
│ │ │ │ │ └── WidgetViewExtension.md
│ │ │ └── store
│ │ │ │ ├── README.md
│ │ │ │ ├── classes
│ │ │ │ ├── Boxed.md
│ │ │ │ ├── Extension.md
│ │ │ │ ├── Schema.md
│ │ │ │ ├── Store.md
│ │ │ │ ├── StoreExtension.md
│ │ │ │ └── Text.md
│ │ │ │ └── interfaces
│ │ │ │ └── StoreSlots.md
│ │ └── README.md
│ ├── package.json
│ ├── tsconfig.json
│ └── typedoc.json
├── framework
│ ├── README.md
│ ├── global
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── __tests__
│ │ │ │ ├── di.unit.spec.ts
│ │ │ │ └── svg-path.unit.spec.ts
│ │ │ ├── di
│ │ │ │ ├── consts.ts
│ │ │ │ ├── container.ts
│ │ │ │ ├── error.ts
│ │ │ │ ├── identifier.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── provider.ts
│ │ │ │ ├── scope.ts
│ │ │ │ ├── stable-hash.ts
│ │ │ │ └── types.ts
│ │ │ ├── disposable
│ │ │ │ └── index.ts
│ │ │ ├── env
│ │ │ │ └── index.ts
│ │ │ ├── exceptions
│ │ │ │ ├── code.ts
│ │ │ │ └── index.ts
│ │ │ ├── gfx
│ │ │ │ ├── bound.ts
│ │ │ │ ├── curve.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── math.ts
│ │ │ │ ├── model
│ │ │ │ │ ├── bound.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── point-location.ts
│ │ │ │ │ ├── point.ts
│ │ │ │ │ └── vec.ts
│ │ │ │ ├── perfect-freehand
│ │ │ │ │ ├── LICENSE
│ │ │ │ │ ├── get-solid-stroke-points.ts
│ │ │ │ │ ├── get-stroke-outline-points.ts
│ │ │ │ │ ├── get-stroke-points.ts
│ │ │ │ │ ├── get-stroke-radius.ts
│ │ │ │ │ ├── get-stroke.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── types.ts
│ │ │ │ │ └── vec.ts
│ │ │ │ ├── polyline.ts
│ │ │ │ ├── svg-path.ts
│ │ │ │ └── xywh.ts
│ │ │ ├── index.ts
│ │ │ ├── lit
│ │ │ │ ├── index.ts
│ │ │ │ ├── signal-watcher.ts
│ │ │ │ ├── watch.ts
│ │ │ │ └── with-disposable.ts
│ │ │ ├── types
│ │ │ │ ├── index.ts
│ │ │ │ └── virtual-keyboard.ts
│ │ │ └── utils
│ │ │ │ ├── crypto.ts
│ │ │ │ ├── function.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── logger.ts
│ │ │ │ └── types.ts
│ │ ├── tsconfig.json
│ │ └── vitest.config.ts
│ ├── std
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── __tests__
│ │ │ │ ├── __screenshots__
│ │ │ │ │ ├── command.unit.spec.ts
│ │ │ │ │ │ └── CommandManager-can-execute-a-single-command-with--exec--1.png
│ │ │ │ │ └── editor-host.unit.spec.ts
│ │ │ │ │ │ └── editor-host-editor-host-should-rerender-model-when-view-changes-1.png
│ │ │ │ ├── command.unit.spec.ts
│ │ │ │ ├── editor-host.unit.spec.ts
│ │ │ │ ├── gfx
│ │ │ │ │ ├── __screenshots__
│ │ │ │ │ │ ├── surface.unit.spec.ts
│ │ │ │ │ │ │ ├── convert-decorator-convert-decorator-1.png
│ │ │ │ │ │ │ ├── derive-decorator-derived-decorator-should-work-correctly-1.png
│ │ │ │ │ │ │ ├── stash-pop-stash-and-pop-should-work-correctly-1.png
│ │ │ │ │ │ │ ├── stash-pop-stashed-property-should-also-trigger-derive-decorator-1.png
│ │ │ │ │ │ │ ├── surface-basic-created-slot-should-be-called-1.png
│ │ │ │ │ │ │ ├── surface-basic-delete-observer-should-be-called-1.png
│ │ │ │ │ │ │ └── surface-basic-update-slot-should-be-called-1.png
│ │ │ │ │ │ └── view.unit.spec.ts
│ │ │ │ │ │ │ ├── gfx-element-view-basic-local-element-view-should-be-created-1.png
│ │ │ │ │ │ │ ├── gfx-element-view-basic-query-gfx-block-view-should-work-1.png
│ │ │ │ │ │ │ ├── gfx-element-view-basic-view-should-be-created-1.png
│ │ │ │ │ │ │ └── gfx-element-view-basic-view-should-be-removed-1.png
│ │ │ │ │ ├── surface.unit.spec.ts
│ │ │ │ │ └── view.unit.spec.ts
│ │ │ │ ├── hast.unit.spec.ts
│ │ │ │ ├── inline
│ │ │ │ │ ├── convert.unit.spec.ts
│ │ │ │ │ ├── editor.unit.spec.ts
│ │ │ │ │ ├── inline-range.unit.spec.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── test-block.ts
│ │ │ │ ├── test-editor.ts
│ │ │ │ ├── test-gfx-element.ts
│ │ │ │ ├── test-schema.ts
│ │ │ │ └── test-spec.ts
│ │ │ ├── clipboard
│ │ │ │ ├── clipboard-adapter.ts
│ │ │ │ ├── clipboard.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── utils.ts
│ │ │ ├── command
│ │ │ │ ├── consts.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── manager.ts
│ │ │ │ └── types.ts
│ │ │ ├── effects.ts
│ │ │ ├── event
│ │ │ │ ├── base.ts
│ │ │ │ ├── control
│ │ │ │ │ ├── clipboard.ts
│ │ │ │ │ ├── keyboard.ts
│ │ │ │ │ ├── pointer.ts
│ │ │ │ │ └── range.ts
│ │ │ │ ├── dispatcher.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── keymap.ts
│ │ │ │ ├── state
│ │ │ │ │ ├── clipboard.ts
│ │ │ │ │ ├── dnd.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── keyboard.ts
│ │ │ │ │ ├── pointer.ts
│ │ │ │ │ └── source.ts
│ │ │ │ └── utils.ts
│ │ │ ├── extension
│ │ │ │ ├── block-view.ts
│ │ │ │ ├── config.ts
│ │ │ │ ├── dnd
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── types.ts
│ │ │ │ ├── editor-life-cycle.ts
│ │ │ │ ├── flavour.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── keymap.ts
│ │ │ │ ├── lifecycle-watcher.ts
│ │ │ │ ├── service-manager.ts
│ │ │ │ ├── service.ts
│ │ │ │ └── widget-view-map.ts
│ │ │ ├── gfx
│ │ │ │ ├── controller.ts
│ │ │ │ ├── cursor.ts
│ │ │ │ ├── extension.ts
│ │ │ │ ├── grid.ts
│ │ │ │ ├── identifiers.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── interactivity
│ │ │ │ │ ├── event.ts
│ │ │ │ │ ├── extension
│ │ │ │ │ │ ├── base.ts
│ │ │ │ │ │ └── view.ts
│ │ │ │ │ ├── gfx-view-event-handler.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── manager.ts
│ │ │ │ │ ├── resize
│ │ │ │ │ │ └── manager.ts
│ │ │ │ │ └── types
│ │ │ │ │ │ ├── clone.ts
│ │ │ │ │ │ ├── drag.ts
│ │ │ │ │ │ ├── resize.ts
│ │ │ │ │ │ ├── select.ts
│ │ │ │ │ │ └── view.ts
│ │ │ │ ├── keyboard.ts
│ │ │ │ ├── layer.ts
│ │ │ │ ├── model
│ │ │ │ │ ├── base.ts
│ │ │ │ │ ├── gfx-block-model.ts
│ │ │ │ │ ├── model.ts
│ │ │ │ │ └── surface
│ │ │ │ │ │ ├── decorators
│ │ │ │ │ │ ├── common.ts
│ │ │ │ │ │ ├── convert.ts
│ │ │ │ │ │ ├── derive.ts
│ │ │ │ │ │ ├── field.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── local.ts
│ │ │ │ │ │ ├── observer.ts
│ │ │ │ │ │ └── watch.ts
│ │ │ │ │ │ ├── element-model.ts
│ │ │ │ │ │ ├── local-element-model.ts
│ │ │ │ │ │ └── surface-model.ts
│ │ │ │ ├── selection.ts
│ │ │ │ ├── surface-middleware.ts
│ │ │ │ ├── tool
│ │ │ │ │ ├── tool-controller.ts
│ │ │ │ │ └── tool.ts
│ │ │ │ ├── view
│ │ │ │ │ ├── view-manager.ts
│ │ │ │ │ └── view.ts
│ │ │ │ ├── viewport-element.ts
│ │ │ │ └── viewport.ts
│ │ │ ├── identifier.ts
│ │ │ ├── index.ts
│ │ │ ├── inline
│ │ │ │ ├── components
│ │ │ │ │ ├── embed-gap.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── v-element.ts
│ │ │ │ │ ├── v-line.ts
│ │ │ │ │ └── v-text.ts
│ │ │ │ ├── consts.ts
│ │ │ │ ├── extensions
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── inline-manager.ts
│ │ │ │ │ ├── inline-spec.ts
│ │ │ │ │ ├── markdown-matcher.ts
│ │ │ │ │ └── type.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── inline-editor.ts
│ │ │ │ ├── range
│ │ │ │ │ ├── active.ts
│ │ │ │ │ ├── consts.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── inline-range-provider.ts
│ │ │ │ │ ├── range-binding.ts
│ │ │ │ │ └── range-manager.ts
│ │ │ │ ├── services
│ │ │ │ │ ├── attribute.ts
│ │ │ │ │ ├── delta.ts
│ │ │ │ │ ├── event.ts
│ │ │ │ │ ├── hook.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── range.ts
│ │ │ │ │ ├── render.ts
│ │ │ │ │ └── text.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── utils
│ │ │ │ │ ├── attribute-renderer.ts
│ │ │ │ │ ├── delta-convert.ts
│ │ │ │ │ ├── dynamic-schema.ts
│ │ │ │ │ ├── embed.ts
│ │ │ │ │ ├── guard.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── inline-range.ts
│ │ │ │ │ ├── point-conversion.ts
│ │ │ │ │ ├── query.ts
│ │ │ │ │ ├── range-conversion.ts
│ │ │ │ │ ├── renderer.ts
│ │ │ │ │ ├── text.ts
│ │ │ │ │ └── transform-input.ts
│ │ │ ├── scope
│ │ │ │ ├── index.ts
│ │ │ │ └── std-scope.ts
│ │ │ ├── selection
│ │ │ │ ├── block.ts
│ │ │ │ ├── cursor.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── surface.ts
│ │ │ │ └── text.ts
│ │ │ ├── spec
│ │ │ │ ├── index.ts
│ │ │ │ └── type.ts
│ │ │ ├── utils
│ │ │ │ ├── fractional-indexing.ts
│ │ │ │ ├── gfx.ts
│ │ │ │ ├── layer.ts
│ │ │ │ └── tree.ts
│ │ │ └── view
│ │ │ │ ├── decorators
│ │ │ │ ├── index.ts
│ │ │ │ └── required.ts
│ │ │ │ ├── element
│ │ │ │ ├── block-component.ts
│ │ │ │ ├── consts.ts
│ │ │ │ ├── gfx-block-component.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── lit-host.ts
│ │ │ │ ├── shadowless-element.ts
│ │ │ │ └── widget-component.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── view-store.ts
│ │ ├── tsconfig.json
│ │ ├── typedoc.json
│ │ └── vitest.config.ts
│ ├── store
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── __tests__
│ │ │ │ ├── __snapshots__
│ │ │ │ │ └── transformer.unit.spec.ts.snap
│ │ │ │ ├── assets.unit.spec.ts
│ │ │ │ ├── block.unit.spec.ts
│ │ │ │ ├── collection.unit.spec.ts
│ │ │ │ ├── doc.unit.spec.ts
│ │ │ │ ├── schema.unit.spec.ts
│ │ │ │ ├── test-schema.ts
│ │ │ │ ├── test-utils-dom.ts
│ │ │ │ ├── transformer.unit.spec.ts
│ │ │ │ └── yjs.unit.spec.ts
│ │ │ ├── adapter
│ │ │ │ ├── assets.ts
│ │ │ │ ├── base.ts
│ │ │ │ ├── context.ts
│ │ │ │ └── index.ts
│ │ │ ├── consts.ts
│ │ │ ├── extension
│ │ │ │ ├── extension.ts
│ │ │ │ ├── history
│ │ │ │ │ ├── history-extension.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── schema.ts
│ │ │ │ ├── selection
│ │ │ │ │ ├── base.ts
│ │ │ │ │ ├── identifier.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── selection-extension.ts
│ │ │ │ │ └── types.ts
│ │ │ │ ├── store-extension.ts
│ │ │ │ └── workspace
│ │ │ │ │ ├── doc.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── workspace-meta.ts
│ │ │ │ │ └── workspace.ts
│ │ │ ├── index.ts
│ │ │ ├── model
│ │ │ │ ├── block
│ │ │ │ │ ├── block-model.ts
│ │ │ │ │ ├── block.ts
│ │ │ │ │ ├── draft.ts
│ │ │ │ │ ├── flat-sync-controller.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── sync-controller.ts
│ │ │ │ │ ├── types.ts
│ │ │ │ │ └── zod.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── store-container.ts
│ │ │ │ └── store
│ │ │ │ │ ├── crud.ts
│ │ │ │ │ ├── identifier.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── query.ts
│ │ │ │ │ ├── store.ts
│ │ │ │ │ └── utils.ts
│ │ │ ├── reactive
│ │ │ │ ├── base-reactive-data.ts
│ │ │ │ ├── boxed.ts
│ │ │ │ ├── flat-native-y
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── initialize.ts
│ │ │ │ │ ├── proxy.ts
│ │ │ │ │ ├── signal-updater.ts
│ │ │ │ │ ├── types.ts
│ │ │ │ │ ├── utils.ts
│ │ │ │ │ ├── y-event-handler.ts
│ │ │ │ │ └── y-map-updater.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── is-pure-object.ts
│ │ │ │ ├── memory.ts
│ │ │ │ ├── native-y.ts
│ │ │ │ ├── proxy.ts
│ │ │ │ ├── stash-pop.ts
│ │ │ │ ├── text
│ │ │ │ │ ├── attributes.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── text.ts
│ │ │ │ │ └── types.ts
│ │ │ │ └── types.ts
│ │ │ ├── schema
│ │ │ │ ├── error.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── schema.ts
│ │ │ ├── test
│ │ │ │ ├── index.ts
│ │ │ │ ├── test-doc.ts
│ │ │ │ ├── test-meta.ts
│ │ │ │ └── test-workspace.ts
│ │ │ ├── transformer
│ │ │ │ ├── assets.ts
│ │ │ │ ├── base.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── json.ts
│ │ │ │ ├── middleware.ts
│ │ │ │ ├── slice.ts
│ │ │ │ ├── transformer.ts
│ │ │ │ └── type.ts
│ │ │ ├── utils
│ │ │ │ └── id-generator.ts
│ │ │ └── yjs
│ │ │ │ ├── awareness.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── utils.ts
│ │ ├── tsconfig.json
│ │ ├── typedoc.json
│ │ └── vitest.config.ts
│ └── sync
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── src
│ │ ├── __tests__
│ │ │ └── blob.unit.spec.ts
│ │ ├── awareness
│ │ │ ├── engine.ts
│ │ │ ├── impl
│ │ │ │ ├── broadcast.ts
│ │ │ │ └── index.ts
│ │ │ ├── index.ts
│ │ │ └── source.ts
│ │ ├── blob
│ │ │ ├── engine.ts
│ │ │ ├── impl
│ │ │ │ ├── index.ts
│ │ │ │ ├── indexeddb.ts
│ │ │ │ └── memory.ts
│ │ │ ├── index.ts
│ │ │ └── source.ts
│ │ ├── doc
│ │ │ ├── consts.ts
│ │ │ ├── engine.ts
│ │ │ ├── impl
│ │ │ │ ├── broadcast.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── indexeddb.ts
│ │ │ │ └── noop.ts
│ │ │ ├── index.ts
│ │ │ ├── peer.ts
│ │ │ └── source.ts
│ │ ├── index.ts
│ │ └── utils
│ │ │ ├── __tests__
│ │ │ ├── async-queue.spec.ts
│ │ │ └── throw-if-aborted.spec.ts
│ │ │ ├── async-queue.ts
│ │ │ └── throw-if-aborted.ts
│ │ ├── tsconfig.json
│ │ └── vitest.config.ts
├── integration-test
│ ├── README.md
│ ├── package.json
│ ├── renderer.html
│ ├── src
│ │ ├── __tests__
│ │ │ ├── edgeless
│ │ │ │ ├── __screenshots__
│ │ │ │ │ ├── frame.spec.ts
│ │ │ │ │ │ ├── frame-frame-should-always-be-placed-under-the-bottom-of-other-blocks-1.png
│ │ │ │ │ │ ├── frame-frame-should-have-externalXYWH-after-moving-viewport-to-contains-frame-1.png
│ │ │ │ │ │ └── frame-frame-should-have-title-1.png
│ │ │ │ │ ├── group.spec.ts
│ │ │ │ │ │ ├── group-group-s-xywh-should-update-automatically-when-children-change-1.png
│ │ │ │ │ │ ├── group-group-with-no-children-will-be-removed-automatically-1.png
│ │ │ │ │ │ ├── group-remove-group-should-remove-its-children-at-the-same-time-1.png
│ │ │ │ │ │ ├── mindmap-delete-the-root-node-should-remove-all-children-1.png
│ │ │ │ │ │ └── mindmap-mindmap-should-layout-automatically-when-creating-1.png
│ │ │ │ │ ├── last-props.spec.ts
│ │ │ │ │ │ ├── apply-last-props-brush-1.png
│ │ │ │ │ │ ├── apply-last-props-connector-1.png
│ │ │ │ │ │ ├── apply-last-props-shapes-1.png
│ │ │ │ │ │ └── apply-last-props-text-1.png
│ │ │ │ │ ├── layer.spec.ts
│ │ │ │ │ │ ├── a-new-layer-should-be-created-in-canvasLayers-prop-when-the-topmost-layer-is-not-canvas-layer-1.png
│ │ │ │ │ │ ├── add-new-edgeless-blocks-or-canvas-elements-should-update-layer-automatically-1.png
│ │ │ │ │ │ ├── blocks-should-rerender-when-their-z-index-changed-1.png
│ │ │ │ │ │ ├── change-element-should-update-layer-automatically-1.png
│ │ │ │ │ │ ├── compare-function-compare-a-group-and-its-child-1.png
│ │ │ │ │ │ ├── compare-function-compare-nested-elements-1.png
│ │ │ │ │ │ ├── compare-function-compare-same-element-1.png
│ │ │ │ │ │ ├── compare-function-compare-two-different-elements-1.png
│ │ │ │ │ │ ├── compare-function-compare-two-nested-elements-1.png
│ │ │ │ │ │ ├── delete-element-should-update-layer-automatically-1.png
│ │ │ │ │ │ ├── group-related-functionality-change-group-index-should-update-its-children-s-layer-1.png
│ │ │ │ │ │ ├── group-related-functionality-new-added-group-should-effect-it-children-s-layer-1.png
│ │ │ │ │ │ ├── if-the-topmost-layer-is-canvas-layer--the-length-of-canvasLayers-array-should-equal-to-the-counts-of-canvas-layers-1.png
│ │ │ │ │ │ ├── index-generator-generator-can-generate-incrementing-indices-regardless-the-element-type-1.png
│ │ │ │ │ │ ├── index-generator-generator-should-remember-the-index-it-generated-1.png
│ │ │ │ │ │ ├── indexed-canvas-should-be-inserted-into-edgeless-portal-when-switch-to-edgeless-mode-1.png
│ │ │ │ │ │ ├── layer-reorder-functionality-back-1.png
│ │ │ │ │ │ ├── layer-reorder-functionality-backward-1.png
│ │ │ │ │ │ ├── layer-reorder-functionality-forward-1.png
│ │ │ │ │ │ ├── layer-reorder-functionality-front-1.png
│ │ │ │ │ │ ├── layer-zindex-should-update-correctly-when-elements-changed-1.png
│ │ │ │ │ │ ├── new-added-block-should-be-placed-under-the-topmost-canvas-layer-1.png
│ │ │ │ │ │ ├── new-added-canvas-elements-should-be-placed-in-the-topmost-canvas-layer-1.png
│ │ │ │ │ │ └── the-actual-rendering-z-index-should-satisfy-the-logic-order-of-their-indexes-1.png
│ │ │ │ │ ├── surface-ref.spec.ts
│ │ │ │ │ │ ├── basic-content-in-frame-should-be-rendered-in-the-correct-order-1.png
│ │ │ │ │ │ ├── basic-content-in-group-should-be-rendered-in-the-correct-order-1.png
│ │ │ │ │ │ ├── basic-frame-should-be-rendered-in-surface-ref-viewport-1.png
│ │ │ │ │ │ ├── basic-group-should-be-rendered-in-surface-ref-viewport-1.png
│ │ │ │ │ │ ├── basic-surface-ref-should-be-rendered-as-empty-surface-ref-block-edgeless-component-page-mode-1.png
│ │ │ │ │ │ ├── basic-surface-ref-should-be-rendered-in-page-mode-1.png
│ │ │ │ │ │ ├── basic-view-in-edgeless-mode-button-1.png
│ │ │ │ │ │ ├── basic-viewport-of-surface-ref-should-be-updated-when-the-reference-xywh-updated-1.png
│ │ │ │ │ │ └── clipboard-import-surface-ref-snapshot-should-render-content-correctly-1.png
│ │ │ │ │ └── tools.spec.ts
│ │ │ │ │ │ ├── default-tool-block-drag-moving-1.png
│ │ │ │ │ │ ├── default-tool-element-click-selection-1.png
│ │ │ │ │ │ └── default-tool-element-drag-moving-1.png
│ │ │ │ ├── basic.spec.ts
│ │ │ │ ├── color-picker.spec.ts
│ │ │ │ ├── connector-dom.spec.ts
│ │ │ │ ├── frame.spec.ts
│ │ │ │ ├── group.spec.ts
│ │ │ │ ├── last-props.spec.ts
│ │ │ │ ├── layer.spec.ts
│ │ │ │ ├── mindmap.spec.ts
│ │ │ │ ├── shape-dom.spec.ts
│ │ │ │ ├── surface-model.spec.ts
│ │ │ │ ├── surface-ref.spec.ts
│ │ │ │ ├── template.spec.ts
│ │ │ │ ├── tools.spec.ts
│ │ │ │ └── turbo-renderer.spec.ts
│ │ │ ├── main
│ │ │ │ ├── __screenshots__
│ │ │ │ │ └── snapshot.spec.ts
│ │ │ │ │ │ ├── snapshot-1-importing-1.png
│ │ │ │ │ │ └── snapshot-2-importing-1.png
│ │ │ │ └── snapshot.spec.ts
│ │ │ ├── snapshots
│ │ │ │ └── edgeless
│ │ │ │ │ └── surface-ref.spec.ts
│ │ │ │ │ └── surface-ref.json
│ │ │ └── utils
│ │ │ │ ├── common.ts
│ │ │ │ ├── doc-generator.ts
│ │ │ │ ├── edgeless.ts
│ │ │ │ ├── misc.ts
│ │ │ │ ├── renderer-entry.ts
│ │ │ │ ├── setup.ts
│ │ │ │ └── turbo-painter.worker.ts
│ │ ├── editors
│ │ │ ├── editor-container.ts
│ │ │ └── index.ts
│ │ ├── effects.ts
│ │ ├── index.ts
│ │ ├── store.ts
│ │ └── view.ts
│ ├── tsconfig.json
│ ├── vite.config.ts
│ └── vitest.config.ts
├── playground
│ ├── .env
│ ├── .gitignore
│ ├── apps
│ │ ├── README.md
│ │ ├── _common
│ │ │ ├── components
│ │ │ │ ├── attachment-viewer-panel.ts
│ │ │ │ ├── custom-adapter-panel.ts
│ │ │ │ ├── custom-frame-panel.ts
│ │ │ │ ├── custom-outline-panel.ts
│ │ │ │ ├── custom-outline-viewer.ts
│ │ │ │ ├── docs-panel.ts
│ │ │ │ ├── left-side-panel.ts
│ │ │ │ ├── pdf
│ │ │ │ │ ├── types.ts
│ │ │ │ │ └── worker.ts
│ │ │ │ └── starter-debug-menu.ts
│ │ │ ├── helper.ts
│ │ │ ├── history.ts
│ │ │ ├── mock-services.ts
│ │ │ ├── setup.ts
│ │ │ ├── sync
│ │ │ │ ├── blob
│ │ │ │ │ └── mock-server.ts
│ │ │ │ └── websocket
│ │ │ │ │ ├── awareness.ts
│ │ │ │ │ ├── doc.ts
│ │ │ │ │ ├── types.ts
│ │ │ │ │ └── utils.ts
│ │ │ └── templates
│ │ │ │ └── stickers.ts
│ │ ├── comment
│ │ │ ├── comment-input.ts
│ │ │ ├── comment-manager.ts
│ │ │ ├── comment-panel.ts
│ │ │ ├── effects.ts
│ │ │ └── index.ts
│ │ ├── env.d.ts
│ │ ├── starter
│ │ │ ├── data
│ │ │ │ ├── affine-snapshot.ts
│ │ │ │ ├── database.ts
│ │ │ │ ├── embed.ts
│ │ │ │ ├── empty.ts
│ │ │ │ ├── heavy-whiteboard.ts
│ │ │ │ ├── heavy.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── linked.ts
│ │ │ │ ├── multiple-editor.ts
│ │ │ │ ├── pending-structs.ts
│ │ │ │ ├── preset.ts
│ │ │ │ ├── snapshots
│ │ │ │ │ ├── affine-default.zip
│ │ │ │ │ └── put-snapshot-zips-here
│ │ │ │ ├── synced.ts
│ │ │ │ ├── utils.ts
│ │ │ │ └── version-mismatch.ts
│ │ │ ├── main.ts
│ │ │ └── utils
│ │ │ │ ├── app.ts
│ │ │ │ ├── collection.ts
│ │ │ │ ├── extensions.ts
│ │ │ │ ├── setup-playground.ts
│ │ │ │ └── test.ts
│ │ └── vite-env.d.ts
│ ├── examples
│ │ ├── README.md
│ │ └── inline
│ │ │ ├── index.html
│ │ │ └── test-page.ts
│ ├── index.html
│ ├── package.json
│ ├── public
│ │ ├── logo.svg
│ │ ├── test-card-1.png
│ │ └── test-card-2.png
│ ├── scripts
│ │ └── hmr-plugin
│ │ │ ├── fine-tune.ts
│ │ │ └── index.ts
│ ├── style.css
│ ├── tsconfig.json
│ ├── tsconfig.node.json
│ └── vite.config.ts
└── tsconfig.json
├── codecov.yml
├── docs
├── BUILDING.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── building-desktop-client-app.md
├── contributing
│ ├── assets
│ │ └── release-action.png
│ ├── releases.md
│ └── tutorial.md
├── contributor-add.md
├── developing-server.md
├── issue-triaging.md
├── jobs.md
├── reference
│ ├── package.json
│ └── readme.md
└── types-of-contributions.md
├── eslint.config.mjs
├── nyc.config.js
├── oxlint.json
├── package.json
├── packages
├── backend
│ ├── native
│ │ ├── Cargo.toml
│ │ ├── benchmark
│ │ │ └── index.js
│ │ ├── build.rs
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── doc_loader.rs
│ │ │ ├── file_type.rs
│ │ │ ├── hashcash.rs
│ │ │ ├── html_sanitize.rs
│ │ │ ├── lib.rs
│ │ │ ├── tiktoken.rs
│ │ │ └── utils.rs
│ │ └── tsconfig.json
│ └── server
│ │ ├── .dockerignore
│ │ ├── .env.example
│ │ ├── .gitignore
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── ava.config.js
│ │ ├── config.example.json
│ │ ├── migrations
│ │ ├── 20230425035217_init
│ │ │ └── migration.sql
│ │ ├── 20230621052642_next_auth_integrate
│ │ │ └── migration.sql
│ │ ├── 20230628074203_workspace
│ │ │ └── migration.sql
│ │ ├── 20230705025556_workspace_id_fkey
│ │ │ └── migration.sql
│ │ ├── 20230706065816_workspace_subpage
│ │ │ └── migration.sql
│ │ ├── 20230706090316_change_avatar_url_field_name
│ │ │ └── migration.sql
│ │ ├── 20230709091238_fix_blob_types
│ │ │ └── migration.sql
│ │ ├── 20230713022301_update_manager
│ │ │ └── migration.sql
│ │ ├── 20230714065216_snapshot_id
│ │ │ └── migration.sql
│ │ ├── 20230717084417_remove_update_fkey
│ │ │ └── migration.sql
│ │ ├── 20230822071646_add_new_features_waiting_list
│ │ │ └── migration.sql
│ │ ├── 20230824091506_euser_email_is_not_nullable
│ │ │ └── migration.sql
│ │ ├── 20230906100042_user_feature_gates
│ │ │ └── migration.sql
│ │ ├── 20231009081826_updates_manager
│ │ │ └── migration.sql
│ │ ├── 20231018074747_payment
│ │ │ └── migration.sql
│ │ ├── 20231019094615_add_inovice_link
│ │ │ └── migration.sql
│ │ ├── 20231024095005_updates_pkey
│ │ │ └── migration.sql
│ │ ├── 20231027090128_data_migration
│ │ │ └── migration.sql
│ │ ├── 20231030104009_user_features
│ │ │ └── migration.sql
│ │ ├── 20231103080802_permission
│ │ │ └── migration.sql
│ │ ├── 20231121033532_history
│ │ │ └── migration.sql
│ │ ├── 20231124091123_soft_delete_opt_blobs
│ │ │ └── migration.sql
│ │ ├── 20240103092238_add_workspace_features
│ │ │ └── migration.sql
│ │ ├── 20240228065558_new_auth
│ │ │ └── migration.sql
│ │ ├── 20240313033631_user_registered_flag
│ │ │ └── migration.sql
│ │ ├── 20240319104623_user_subscriptions
│ │ │ └── migration.sql
│ │ ├── 20240321065017_ai_prompts
│ │ │ └── migration.sql
│ │ ├── 20240325125057_ai_sessions
│ │ │ └── migration.sql
│ │ ├── 20240402100608_ai_prompt_session_metadata
│ │ │ └── migration.sql
│ │ ├── 20240416042935_lifetime_subscription
│ │ │ └── migration.sql
│ │ ├── 20240506051856_add_user_and_features_index
│ │ │ └── migration.sql
│ │ ├── 20240520055805_runtime_setting
│ │ │ └── migration.sql
│ │ ├── 20240521100307_add_copilot_cost
│ │ │ └── migration.sql
│ │ ├── 20240527095524_fix_prompt_schema
│ │ │ └── migration.sql
│ │ ├── 20240625052649_add_fork_session
│ │ │ └── migration.sql
│ │ ├── 20240708034904_prompt_level_config
│ │ │ └── migration.sql
│ │ ├── 20240731043837_standardize_table_columns
│ │ │ └── migration.sql
│ │ ├── 20240813053919_use_timestamp_with_timezone
│ │ │ └── migration.sql
│ │ ├── 20240813095727_prompt_updated_field
│ │ │ └── migration.sql
│ │ ├── 20240815064332_userspace
│ │ │ └── migration.sql
│ │ ├── 20240815084618_update_doc_tables
│ │ │ └── migration.sql
│ │ ├── 20240826033024_editor_record
│ │ │ └── migration.sql
│ │ ├── 20240903033137_workspace_url_preview
│ │ │ └── migration.sql
│ │ ├── 20240908111944_index_permission_user_id
│ │ │ └── migration.sql
│ │ ├── 20240908130725_add_workspace_level_snapshot_index
│ │ │ └── migration.sql
│ │ ├── 20240909090850_ai_table_index
│ │ │ └── migration.sql
│ │ ├── 20240909100000_lower_index_user_email
│ │ │ └── migration.sql
│ │ ├── 20240924024058_onetime_payment_subscription
│ │ │ └── migration.sql
│ │ ├── 20241023065619_blobs
│ │ │ └── migration.sql
│ │ ├── 20241125035804_opt_user_invoices
│ │ │ └── migration.sql
│ │ ├── 20241129062332_workspace_invite_status
│ │ │ └── migration.sql
│ │ ├── 20241202070358_universal_subscription
│ │ │ └── migration.sql
│ │ ├── 20241204081412_add_workspace_level_feature_flags
│ │ │ └── migration.sql
│ │ ├── 20250110034441_licenses
│ │ │ └── migration.sql
│ │ ├── 20250202080920_record_onetime_subscription_invoices
│ │ │ └── migration.sql
│ │ ├── 20250203112209_data_migration_table_unique_name
│ │ │ └── migration.sql
│ │ ├── 20250203142831_standardize_features
│ │ │ └── migration.sql
│ │ ├── 20250206082414_break_update_used_page_permission_table
│ │ │ └── migration.sql
│ │ ├── 20250207025335_page_default_role_for_workspace_members
│ │ │ └── migration.sql
│ │ ├── 20250210083416_ai_context
│ │ │ └── migration.sql
│ │ ├── 20250210090228_ai_context_embedding
│ │ │ └── migration.sql
│ │ ├── 20250303102501_add_workspace_doc_title_and_summary
│ │ │ └── migration.sql
│ │ ├── 20250303104449_add_workspace_name_and_avatar_key
│ │ │ └── migration.sql
│ │ ├── 20250303105325-notification
│ │ │ └── migration.sql
│ │ ├── 20250303121921_ai_jobs
│ │ │ └── migration.sql
│ │ ├── 20250303194905_add_blocked_to_workspace_docs
│ │ │ └── migration.sql
│ │ ├── 20250307123308_add_more_notification_types
│ │ │ └── migration.sql
│ │ ├── 20250311072215_disable_account
│ │ │ └── migration.sql
│ │ ├── 20250311143215_add_settings
│ │ │ └── migration.sql
│ │ ├── 20250325075341_new_app_config
│ │ │ └── migration.sql
│ │ ├── 20250326074140_ai_jobs_unique_index
│ │ │ └── migration.sql
│ │ ├── 20250417062046_workspace_level_embed_file_doc
│ │ │ └── migration.sql
│ │ ├── 20250417063749_workspace_enable_embedding
│ │ │ └── migration.sql
│ │ ├── 20250425101411_update_workspace_members
│ │ │ └── migration.sql
│ │ ├── 20250429113337_workspace_file_blob_id
│ │ │ └── migration.sql
│ │ ├── 20250508073308_installable_license
│ │ │ └── migration.sql
│ │ ├── 20250509070728_add_workspace_sid_and_indexed
│ │ │ └── migration.sql
│ │ ├── 20250512031140_add_optional_models
│ │ │ └── migration.sql
│ │ ├── 20250521083048_fix_workspace_embedding_chunk_primary_key
│ │ │ └── migration.sql
│ │ ├── 20250609050058_add_comment
│ │ │ └── migration.sql
│ │ ├── 20250609063353_ai_session_independence
│ │ │ └── migration.sql
│ │ ├── 20250617004240_ai_stream_objects_message
│ │ │ └── migration.sql
│ │ ├── 20250624051534_add_comment_attachments
│ │ │ └── migration.sql
│ │ ├── 20250625012447_add_comment_type_to_notification
│ │ │ └── migration.sql
│ │ ├── 20250625070609_ai_session_updated_at
│ │ │ └── migration.sql
│ │ ├── 20250630094158_session_title
│ │ │ └── migration.sql
│ │ ├── 20250728033348_workspace_blob_embedding
│ │ │ └── migration.sql
│ │ ├── 20250730104457_access_token
│ │ │ └── migration.sql
│ │ ├── 20250805074035_workspace_last_check_embeddings
│ │ │ └── migration.sql
│ │ ├── 20250917092818_payment_rc_fields
│ │ │ └── migration.sql
│ │ └── migration_lock.toml
│ │ ├── package.json
│ │ ├── schema.prisma
│ │ ├── scripts
│ │ ├── genconfig.ts
│ │ └── self-host-predeploy.js
│ │ ├── src
│ │ ├── __tests__
│ │ │ ├── __fixtures__
│ │ │ │ ├── test-doc-with-blob.snapshot.bin
│ │ │ │ ├── test-doc.snapshot.bin
│ │ │ │ └── test-root-doc.snapshot.bin
│ │ │ ├── __snapshots__
│ │ │ │ ├── copilot.e2e.ts.md
│ │ │ │ ├── copilot.e2e.ts.snap
│ │ │ │ ├── copilot.spec.ts.md
│ │ │ │ ├── copilot.spec.ts.snap
│ │ │ │ ├── mails.spec.ts.md
│ │ │ │ ├── mails.spec.ts.snap
│ │ │ │ ├── worker.e2e.ts.md
│ │ │ │ └── worker.e2e.ts.snap
│ │ │ ├── app
│ │ │ │ └── selfhost.e2e.ts
│ │ │ ├── auth
│ │ │ │ ├── auth.e2e.ts
│ │ │ │ ├── controller.spec.ts
│ │ │ │ ├── guard.spec.ts
│ │ │ │ ├── job.spec.ts
│ │ │ │ └── service.spec.ts
│ │ │ ├── cache.spec.ts
│ │ │ ├── copilot-provider.spec.ts
│ │ │ ├── copilot.e2e.ts
│ │ │ ├── copilot.spec.ts
│ │ │ ├── create-module.ts
│ │ │ ├── doc
│ │ │ │ ├── cron.spec.ts
│ │ │ │ ├── history.spec.ts
│ │ │ │ ├── renderer.spec.ts
│ │ │ │ ├── userspace.spec.ts
│ │ │ │ └── workspace.spec.ts
│ │ │ ├── e2e
│ │ │ │ ├── apps
│ │ │ │ │ ├── app.spec.ts
│ │ │ │ │ └── flavors.spec.ts
│ │ │ │ ├── comment
│ │ │ │ │ └── resolver.spec.ts
│ │ │ │ ├── config
│ │ │ │ │ └── resolver.spec.ts
│ │ │ │ ├── create-app.ts
│ │ │ │ ├── doc-renderer
│ │ │ │ │ └── controller.spec.ts
│ │ │ │ ├── doc-service
│ │ │ │ │ ├── __snapshots__
│ │ │ │ │ │ ├── controller.spec.ts.md
│ │ │ │ │ │ └── controller.spec.ts.snap
│ │ │ │ │ └── controller.spec.ts
│ │ │ │ ├── doc
│ │ │ │ │ └── resolver.spec.ts
│ │ │ │ ├── indexer
│ │ │ │ │ ├── __snapshots__
│ │ │ │ │ │ ├── aggregate.spec.ts.md
│ │ │ │ │ │ ├── aggregate.spec.ts.snap
│ │ │ │ │ │ ├── search-docs.spec.ts.md
│ │ │ │ │ │ ├── search-docs.spec.ts.snap
│ │ │ │ │ │ ├── search.spec.ts.md
│ │ │ │ │ │ └── search.spec.ts.snap
│ │ │ │ │ ├── aggregate.spec.ts
│ │ │ │ │ ├── search-docs.spec.ts
│ │ │ │ │ └── search.spec.ts
│ │ │ │ ├── license
│ │ │ │ │ ├── __fixtures__
│ │ │ │ │ │ ├── expired-end-at.license
│ │ │ │ │ │ ├── expired.license
│ │ │ │ │ │ └── valid.license
│ │ │ │ │ └── resolver.spec.ts
│ │ │ │ ├── notification
│ │ │ │ │ └── resolver.spec.ts
│ │ │ │ ├── oauth
│ │ │ │ │ ├── __snapshots__
│ │ │ │ │ │ ├── resolver.spec.ts.md
│ │ │ │ │ │ └── resolver.spec.ts.snap
│ │ │ │ │ └── resolver.spec.ts
│ │ │ │ ├── prelude.ts
│ │ │ │ ├── test.ts
│ │ │ │ ├── user
│ │ │ │ │ └── account.spec.ts
│ │ │ │ └── workspace
│ │ │ │ │ ├── controller.spec.ts
│ │ │ │ │ ├── member.spec.ts
│ │ │ │ │ └── team.spec.ts
│ │ │ ├── env.spec.ts
│ │ │ ├── event
│ │ │ │ ├── cluster.spec.ts
│ │ │ │ ├── eventbus.spec.ts
│ │ │ │ └── provider.ts
│ │ │ ├── mails.spec.ts
│ │ │ ├── mocks
│ │ │ │ ├── access-token.mock.ts
│ │ │ │ ├── copilot.mock.ts
│ │ │ │ ├── doc-meta.mock.ts
│ │ │ │ ├── doc-snapshot.mock.ts
│ │ │ │ ├── doc-user.mock.ts
│ │ │ │ ├── eventbus.mock.ts
│ │ │ │ ├── factory.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── mailer.mock.ts
│ │ │ │ ├── queue.mock.ts
│ │ │ │ ├── team-workspace.mock.ts
│ │ │ │ ├── user-settings.mock.ts
│ │ │ │ ├── user.mock.ts
│ │ │ │ ├── workspace-user.mock.ts
│ │ │ │ └── workspace.mock.ts
│ │ │ ├── models
│ │ │ │ ├── __snapshots__
│ │ │ │ │ ├── copilot-context.spec.ts.md
│ │ │ │ │ ├── copilot-context.spec.ts.snap
│ │ │ │ │ ├── copilot-session.spec.ts.md
│ │ │ │ │ ├── copilot-session.spec.ts.snap
│ │ │ │ │ ├── copilot-workspace.spec.ts.md
│ │ │ │ │ ├── copilot-workspace.spec.ts.snap
│ │ │ │ │ ├── feature-user.spec.ts.md
│ │ │ │ │ ├── feature-user.spec.ts.snap
│ │ │ │ │ ├── feature-workspace.spec.ts.md
│ │ │ │ │ ├── feature-workspace.spec.ts.snap
│ │ │ │ │ ├── feature.spec.ts.md
│ │ │ │ │ └── feature.spec.ts.snap
│ │ │ │ ├── copilot-context.spec.ts
│ │ │ │ ├── copilot-job.spec.ts
│ │ │ │ ├── copilot-session.spec.ts
│ │ │ │ ├── copilot-workspace.spec.ts
│ │ │ │ ├── doc-user.spec.ts
│ │ │ │ ├── doc.spec.ts
│ │ │ │ ├── feature-user.spec.ts
│ │ │ │ ├── feature-workspace.spec.ts
│ │ │ │ ├── feature.spec.ts
│ │ │ │ ├── session.spec.ts
│ │ │ │ ├── user-doc.spec.ts
│ │ │ │ ├── user.spec.ts
│ │ │ │ ├── verification-token.spec.ts
│ │ │ │ ├── workspace-user.spec.ts
│ │ │ │ └── workspace.spec.ts
│ │ │ ├── mutex.spec.ts
│ │ │ ├── nestjs
│ │ │ │ ├── error-handler.spec.ts
│ │ │ │ └── throttler.spec.ts
│ │ │ ├── oauth
│ │ │ │ └── controller.spec.ts
│ │ │ ├── payment
│ │ │ │ ├── __snapshots__
│ │ │ │ │ ├── revenuecat.spec.ts.md
│ │ │ │ │ ├── revenuecat.spec.ts.snap
│ │ │ │ │ ├── service.spec.ts.md
│ │ │ │ │ └── service.spec.ts.snap
│ │ │ │ ├── revenuecat.spec.ts
│ │ │ │ └── service.spec.ts
│ │ │ ├── sync
│ │ │ │ └── gateway.spec.ts
│ │ │ ├── user.e2e.ts
│ │ │ ├── user
│ │ │ │ └── user.e2e.ts
│ │ │ ├── utils
│ │ │ │ ├── blobs.ts
│ │ │ │ ├── copilot.ts
│ │ │ │ ├── feature.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── invite.ts
│ │ │ │ ├── notification.ts
│ │ │ │ ├── permission.ts
│ │ │ │ ├── testing-app.ts
│ │ │ │ ├── testing-module.ts
│ │ │ │ ├── user-settings.ts
│ │ │ │ ├── user.ts
│ │ │ │ ├── utils.ts
│ │ │ │ └── workspace.ts
│ │ │ ├── version.spec.ts
│ │ │ ├── worker.e2e.ts
│ │ │ ├── workspace.e2e.ts
│ │ │ └── workspace
│ │ │ │ ├── blobs.e2e.ts
│ │ │ │ └── controller.spec.ts
│ │ ├── app.controller.ts
│ │ ├── app.module.ts
│ │ ├── base
│ │ │ ├── cache
│ │ │ │ ├── index.ts
│ │ │ │ ├── instances.ts
│ │ │ │ ├── interceptor.ts
│ │ │ │ └── provider.ts
│ │ │ ├── config
│ │ │ │ ├── __tests__
│ │ │ │ │ └── config.spec.ts
│ │ │ │ ├── config.ts
│ │ │ │ ├── env.ts
│ │ │ │ ├── factory.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── provider.ts
│ │ │ │ ├── register.ts
│ │ │ │ └── types.ts
│ │ │ ├── error
│ │ │ │ ├── def.ts
│ │ │ │ ├── errors.gen.ts
│ │ │ │ └── index.ts
│ │ │ ├── event
│ │ │ │ ├── def.ts
│ │ │ │ ├── eventbus.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── scanner.ts
│ │ │ ├── graphql
│ │ │ │ ├── __tests__
│ │ │ │ │ ├── __snapshots__
│ │ │ │ │ │ ├── pagination.spec.ts.md
│ │ │ │ │ │ └── pagination.spec.ts.snap
│ │ │ │ │ └── pagination.spec.ts
│ │ │ │ ├── config.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── logger-plugin.ts
│ │ │ │ ├── pagination.ts
│ │ │ │ └── register.ts
│ │ │ ├── guard
│ │ │ │ ├── guard.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── provider.ts
│ │ │ ├── helpers
│ │ │ │ ├── __tests__
│ │ │ │ │ ├── crypto.spec.ts
│ │ │ │ │ └── url.spec.ts
│ │ │ │ ├── config.ts
│ │ │ │ ├── crypto.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── url.ts
│ │ │ ├── index.ts
│ │ │ ├── job
│ │ │ │ ├── index.ts
│ │ │ │ └── queue
│ │ │ │ │ ├── __tests__
│ │ │ │ │ ├── __snapshots__
│ │ │ │ │ │ ├── queue.spec.ts.md
│ │ │ │ │ │ └── queue.spec.ts.snap
│ │ │ │ │ └── queue.spec.ts
│ │ │ │ │ ├── config.ts
│ │ │ │ │ ├── def.ts
│ │ │ │ │ ├── executor.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── queue.ts
│ │ │ │ │ └── scanner.ts
│ │ │ ├── logger
│ │ │ │ ├── __tests__
│ │ │ │ │ └── service.spec.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── service.ts
│ │ │ ├── metrics
│ │ │ │ ├── config.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── metrics.ts
│ │ │ │ ├── opentelemetry.ts
│ │ │ │ ├── prisma.ts
│ │ │ │ └── utils.ts
│ │ │ ├── mutex
│ │ │ │ ├── index.ts
│ │ │ │ ├── lock.ts
│ │ │ │ ├── locker.ts
│ │ │ │ └── mutex.ts
│ │ │ ├── nestjs
│ │ │ │ ├── decorator.ts
│ │ │ │ ├── exception.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── scanner.ts
│ │ │ ├── prisma
│ │ │ │ ├── config.ts
│ │ │ │ ├── factory.ts
│ │ │ │ └── index.ts
│ │ │ ├── redis
│ │ │ │ ├── config.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── instances.ts
│ │ │ ├── storage
│ │ │ │ ├── __tests__
│ │ │ │ │ └── fs.spec.ts
│ │ │ │ ├── factory.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── providers
│ │ │ │ │ ├── fs.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── provider.ts
│ │ │ │ │ ├── r2.ts
│ │ │ │ │ ├── s3.ts
│ │ │ │ │ └── utils.ts
│ │ │ ├── throttler
│ │ │ │ ├── config.ts
│ │ │ │ ├── decorators.ts
│ │ │ │ └── index.ts
│ │ │ ├── utils
│ │ │ │ ├── __tests__
│ │ │ │ │ ├── __snapshots__
│ │ │ │ │ │ ├── duration.spec.ts.md
│ │ │ │ │ │ └── duration.spec.ts.snap
│ │ │ │ │ ├── duration.spec.ts
│ │ │ │ │ └── request.spec.ts
│ │ │ │ ├── duration.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── promise.ts
│ │ │ │ ├── request.ts
│ │ │ │ ├── stream.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── unit.ts
│ │ │ └── websocket
│ │ │ │ ├── adapter.ts
│ │ │ │ ├── config.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── options.ts
│ │ ├── cli.ts
│ │ ├── core
│ │ │ ├── access-token
│ │ │ │ ├── index.ts
│ │ │ │ └── resolver.ts
│ │ │ ├── auth
│ │ │ │ ├── config.ts
│ │ │ │ ├── controller.ts
│ │ │ │ ├── dev.ts
│ │ │ │ ├── guard.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── job.ts
│ │ │ │ ├── resolver.ts
│ │ │ │ ├── service.ts
│ │ │ │ └── session.ts
│ │ │ ├── comment
│ │ │ │ ├── __tests__
│ │ │ │ │ ├── __snapshots__
│ │ │ │ │ │ ├── service.spec.ts.md
│ │ │ │ │ │ └── service.spec.ts.snap
│ │ │ │ │ └── service.spec.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── resolver.ts
│ │ │ │ ├── service.ts
│ │ │ │ └── types.ts
│ │ │ ├── common
│ │ │ │ ├── admin-guard.ts
│ │ │ │ └── index.ts
│ │ │ ├── config
│ │ │ │ ├── __tests__
│ │ │ │ │ └── service.spec.ts
│ │ │ │ ├── config.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── resolver.ts
│ │ │ │ ├── service.ts
│ │ │ │ └── types.ts
│ │ │ ├── doc-renderer
│ │ │ │ ├── __tests__
│ │ │ │ │ └── controller.spec.ts
│ │ │ │ ├── controller.ts
│ │ │ │ └── index.ts
│ │ │ ├── doc-service
│ │ │ │ ├── __tests__
│ │ │ │ │ └── controller.spec.ts
│ │ │ │ ├── config.ts
│ │ │ │ ├── controller.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── job.ts
│ │ │ ├── doc
│ │ │ │ ├── __tests__
│ │ │ │ │ ├── __snapshots__
│ │ │ │ │ │ ├── reader-from-database.spec.ts.md
│ │ │ │ │ │ ├── reader-from-database.spec.ts.snap
│ │ │ │ │ │ ├── reader-from-rpc.spec.ts.md
│ │ │ │ │ │ └── reader-from-rpc.spec.ts.snap
│ │ │ │ │ ├── event.spec.ts
│ │ │ │ │ ├── reader-from-database.spec.ts
│ │ │ │ │ └── reader-from-rpc.spec.ts
│ │ │ │ ├── adapters
│ │ │ │ │ ├── userspace.ts
│ │ │ │ │ └── workspace.ts
│ │ │ │ ├── config.ts
│ │ │ │ ├── event.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── job.ts
│ │ │ │ ├── options.ts
│ │ │ │ ├── reader.ts
│ │ │ │ └── storage
│ │ │ │ │ ├── blob.ts
│ │ │ │ │ ├── connection.ts
│ │ │ │ │ ├── doc.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── lock.ts
│ │ │ ├── features
│ │ │ │ ├── index.ts
│ │ │ │ ├── resolver.ts
│ │ │ │ ├── service.ts
│ │ │ │ └── types.ts
│ │ │ ├── index.ts
│ │ │ ├── mail
│ │ │ │ ├── config.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── job.ts
│ │ │ │ ├── mailer.ts
│ │ │ │ ├── resolver.ts
│ │ │ │ └── sender.ts
│ │ │ ├── monitor
│ │ │ │ ├── index.ts
│ │ │ │ └── service.ts
│ │ │ ├── notification
│ │ │ │ ├── __tests__
│ │ │ │ │ ├── job.spec.ts
│ │ │ │ │ └── service.spec.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── job.ts
│ │ │ │ ├── resolver.ts
│ │ │ │ ├── service.ts
│ │ │ │ └── types.ts
│ │ │ ├── permission
│ │ │ │ ├── __tests__
│ │ │ │ │ ├── __snapshots__
│ │ │ │ │ │ ├── actions.spec.ts.md
│ │ │ │ │ │ ├── actions.spec.ts.snap
│ │ │ │ │ │ ├── docs.spec.ts.md
│ │ │ │ │ │ └── docs.spec.ts.snap
│ │ │ │ │ ├── actions.spec.ts
│ │ │ │ │ ├── builder.spec.ts
│ │ │ │ │ ├── doc.spec.ts
│ │ │ │ │ ├── docs.spec.ts
│ │ │ │ │ └── workspace.spec.ts
│ │ │ │ ├── builder.ts
│ │ │ │ ├── controller.ts
│ │ │ │ ├── doc.ts
│ │ │ │ ├── event.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── resource.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── workspace.ts
│ │ │ ├── quota
│ │ │ │ ├── index.ts
│ │ │ │ ├── resolver.ts
│ │ │ │ ├── service.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── utils.ts
│ │ │ ├── selfhost
│ │ │ │ ├── controller.ts
│ │ │ │ ├── guard.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── setup.ts
│ │ │ │ └── static.ts
│ │ │ ├── storage
│ │ │ │ ├── __tests__
│ │ │ │ │ └── comment-attachment.spec.ts
│ │ │ │ ├── config.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── wrappers
│ │ │ │ │ ├── avatar.ts
│ │ │ │ │ ├── blob.ts
│ │ │ │ │ ├── comment-attachment.ts
│ │ │ │ │ └── index.ts
│ │ │ ├── sync
│ │ │ │ ├── gateway.ts
│ │ │ │ └── index.ts
│ │ │ ├── user
│ │ │ │ ├── __tests__
│ │ │ │ │ └── resolver.e2e.ts
│ │ │ │ ├── controller.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── resolver.ts
│ │ │ │ └── types.ts
│ │ │ ├── utils
│ │ │ │ ├── __tests__
│ │ │ │ │ ├── __snapshots__
│ │ │ │ │ │ ├── blocksute.spec.ts.md
│ │ │ │ │ │ └── blocksute.spec.ts.snap
│ │ │ │ │ ├── blocksute.spec.ts
│ │ │ │ │ └── doc.spec.ts
│ │ │ │ ├── blocksuite.ts
│ │ │ │ ├── doc.ts
│ │ │ │ ├── validators.ts
│ │ │ │ └── workspace.ts
│ │ │ ├── version
│ │ │ │ ├── config.ts
│ │ │ │ ├── guard.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── service.ts
│ │ │ └── workspaces
│ │ │ │ ├── controller.ts
│ │ │ │ ├── event.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── resolvers
│ │ │ │ ├── blob.ts
│ │ │ │ ├── doc.ts
│ │ │ │ ├── history.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── member.ts
│ │ │ │ └── workspace.ts
│ │ │ │ ├── service.ts
│ │ │ │ └── types.ts
│ │ ├── data
│ │ │ ├── app.ts
│ │ │ ├── commands
│ │ │ │ ├── create.ts
│ │ │ │ ├── import.ts
│ │ │ │ └── run.ts
│ │ │ └── migrations
│ │ │ │ ├── 0001-refresh-features.ts
│ │ │ │ ├── 1698398506533-guid.ts
│ │ │ │ ├── 1703756315970-unamed-account.ts
│ │ │ │ ├── 1721299086340-refresh-unnamed-user.ts
│ │ │ │ ├── 1732861452428-migrate-invite-status.ts
│ │ │ │ ├── 1733125339942-universal-subscription.ts
│ │ │ │ ├── 1738590347632-feature-redundant.ts
│ │ │ │ ├── 1745211351719-create-indexer-tables.ts
│ │ │ │ ├── 1751966744168-correct-session-update-time.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── utils
│ │ │ │ └── loop.ts
│ │ ├── env.ts
│ │ ├── global.d.ts
│ │ ├── index.ts
│ │ ├── mails
│ │ │ ├── common.ts
│ │ │ ├── components
│ │ │ │ ├── common.ts
│ │ │ │ ├── date.tsx
│ │ │ │ ├── doc.tsx
│ │ │ │ ├── footer.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── template.tsx
│ │ │ │ ├── user.tsx
│ │ │ │ └── workspace.tsx
│ │ │ ├── docs
│ │ │ │ ├── comment-mention.tsx
│ │ │ │ ├── comment.tsx
│ │ │ │ ├── index.ts
│ │ │ │ └── mention.tsx
│ │ │ ├── index.tsx
│ │ │ ├── teams
│ │ │ │ ├── become-admin.tsx
│ │ │ │ ├── become-collaborator.tsx
│ │ │ │ ├── delete-in-1m.tsx
│ │ │ │ ├── delete-in-24h.tsx
│ │ │ │ ├── deleted.tsx
│ │ │ │ ├── expire-soon.tsx
│ │ │ │ ├── expired.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── license.tsx
│ │ │ │ └── workspace-upgraded.tsx
│ │ │ ├── test-mail.tsx
│ │ │ ├── users
│ │ │ │ ├── email-change-notification.tsx
│ │ │ │ ├── email-change-verify.tsx
│ │ │ │ ├── email-change.tsx
│ │ │ │ ├── email-verify.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── password-change.tsx
│ │ │ │ ├── password-set.tsx
│ │ │ │ ├── sign-in.tsx
│ │ │ │ └── sign-up.tsx
│ │ │ └── workspaces
│ │ │ │ ├── index.ts
│ │ │ │ ├── invitation-accepted.tsx
│ │ │ │ ├── invitation.tsx
│ │ │ │ ├── member-leave.tsx
│ │ │ │ ├── member-removed.tsx
│ │ │ │ ├── ownership-received.tsx
│ │ │ │ ├── ownership-transferred.tsx
│ │ │ │ ├── review-approved.tsx
│ │ │ │ ├── review-declined.tsx
│ │ │ │ └── review-request.tsx
│ │ ├── middleware
│ │ │ └── timing.ts
│ │ ├── models
│ │ │ ├── __tests__
│ │ │ │ ├── __snapshots__
│ │ │ │ │ ├── comment.spec.ts.md
│ │ │ │ │ ├── comment.spec.ts.snap
│ │ │ │ │ ├── user-settings.spec.ts.md
│ │ │ │ │ └── user-settings.spec.ts.snap
│ │ │ │ ├── access-token.spec.ts
│ │ │ │ ├── blob.spec.ts
│ │ │ │ ├── comment-attachment.spec.ts
│ │ │ │ ├── comment.spec.ts
│ │ │ │ ├── doc.spec.ts
│ │ │ │ ├── history.spec.ts
│ │ │ │ ├── notification.spec.ts
│ │ │ │ └── user-settings.spec.ts
│ │ │ ├── access-token.ts
│ │ │ ├── base.ts
│ │ │ ├── blob.ts
│ │ │ ├── comment-attachment.ts
│ │ │ ├── comment.ts
│ │ │ ├── common
│ │ │ │ ├── copilot.ts
│ │ │ │ ├── doc.ts
│ │ │ │ ├── feature.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── role.ts
│ │ │ │ ├── schema.ts
│ │ │ │ ├── user.ts
│ │ │ │ └── workspace.ts
│ │ │ ├── config.ts
│ │ │ ├── copilot-context.ts
│ │ │ ├── copilot-job.ts
│ │ │ ├── copilot-session.ts
│ │ │ ├── copilot-workspace.ts
│ │ │ ├── doc-user.ts
│ │ │ ├── doc.ts
│ │ │ ├── feature.ts
│ │ │ ├── history.ts
│ │ │ ├── index.ts
│ │ │ ├── notification.ts
│ │ │ ├── provider.ts
│ │ │ ├── session.ts
│ │ │ ├── user-doc.ts
│ │ │ ├── user-feature.ts
│ │ │ ├── user-settings.ts
│ │ │ ├── user.ts
│ │ │ ├── verification-token.ts
│ │ │ ├── workspace-feature.ts
│ │ │ ├── workspace-user.ts
│ │ │ └── workspace.ts
│ │ ├── native.ts
│ │ ├── plugins
│ │ │ ├── captcha
│ │ │ │ ├── config.ts
│ │ │ │ ├── controller.ts
│ │ │ │ ├── guard.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── service.ts
│ │ │ │ └── types.ts
│ │ │ ├── copilot
│ │ │ │ ├── config.ts
│ │ │ │ ├── context
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── resolver.ts
│ │ │ │ │ ├── service.ts
│ │ │ │ │ └── session.ts
│ │ │ │ ├── controller.ts
│ │ │ │ ├── cron.ts
│ │ │ │ ├── embedding
│ │ │ │ │ ├── client.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── job.ts
│ │ │ │ │ └── types.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── mcp
│ │ │ │ │ ├── controller.ts
│ │ │ │ │ └── provider.ts
│ │ │ │ ├── message.ts
│ │ │ │ ├── prompt
│ │ │ │ │ ├── chat-prompt.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── prompts.ts
│ │ │ │ │ └── service.ts
│ │ │ │ ├── providers
│ │ │ │ │ ├── anthropic
│ │ │ │ │ │ ├── anthropic.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── official.ts
│ │ │ │ │ │ └── vertex.ts
│ │ │ │ │ ├── factory.ts
│ │ │ │ │ ├── fal.ts
│ │ │ │ │ ├── gemini
│ │ │ │ │ │ ├── gemini.ts
│ │ │ │ │ │ ├── generative.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── vertex.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── morph.ts
│ │ │ │ │ ├── openai.ts
│ │ │ │ │ ├── perplexity.ts
│ │ │ │ │ ├── provider.ts
│ │ │ │ │ ├── types.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── resolver.ts
│ │ │ │ ├── session.ts
│ │ │ │ ├── storage.ts
│ │ │ │ ├── tools
│ │ │ │ │ ├── blob-read.ts
│ │ │ │ │ ├── code-artifact.ts
│ │ │ │ │ ├── conversation-summary.ts
│ │ │ │ │ ├── doc-compose.ts
│ │ │ │ │ ├── doc-edit.ts
│ │ │ │ │ ├── doc-keyword-search.ts
│ │ │ │ │ ├── doc-read.ts
│ │ │ │ │ ├── doc-semantic-search.ts
│ │ │ │ │ ├── error.ts
│ │ │ │ │ ├── exa-crawl.ts
│ │ │ │ │ ├── exa-search.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── section-edit.ts
│ │ │ │ ├── transcript
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── resolver.ts
│ │ │ │ │ ├── service.ts
│ │ │ │ │ ├── types.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── types.ts
│ │ │ │ ├── utils.ts
│ │ │ │ ├── workflow
│ │ │ │ │ ├── executor
│ │ │ │ │ │ ├── chat-image.ts
│ │ │ │ │ │ ├── chat-text.ts
│ │ │ │ │ │ ├── check-html.ts
│ │ │ │ │ │ ├── check-json.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── types.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── graph
│ │ │ │ │ │ ├── brainstorm.ts
│ │ │ │ │ │ ├── image-filter.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── presentation.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── node.ts
│ │ │ │ │ ├── service.ts
│ │ │ │ │ ├── types.ts
│ │ │ │ │ ├── worker.mjs
│ │ │ │ │ └── workflow.ts
│ │ │ │ └── workspace
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── resolver.ts
│ │ │ │ │ ├── service.ts
│ │ │ │ │ └── types.ts
│ │ │ ├── customerio
│ │ │ │ ├── config.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── service.ts
│ │ │ ├── gcloud
│ │ │ │ ├── index.ts
│ │ │ │ ├── logging
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── logger.ts
│ │ │ │ │ └── service.ts
│ │ │ │ └── metrics.ts
│ │ │ ├── indexer
│ │ │ │ ├── __tests__
│ │ │ │ │ ├── __fixtures__
│ │ │ │ │ │ ├── test-blocks.json
│ │ │ │ │ │ └── test-docs.json
│ │ │ │ │ ├── __snapshots__
│ │ │ │ │ │ ├── service.spec.ts.md
│ │ │ │ │ │ └── service.spec.ts.snap
│ │ │ │ │ ├── event.spec.ts
│ │ │ │ │ ├── job.spec.ts
│ │ │ │ │ ├── providers
│ │ │ │ │ │ ├── __snapshots__
│ │ │ │ │ │ │ ├── elasticsearch.spec.ts.md
│ │ │ │ │ │ │ ├── elasticsearch.spec.ts.snap
│ │ │ │ │ │ │ ├── manticoresearch.spec.ts.md
│ │ │ │ │ │ │ └── manticoresearch.spec.ts.snap
│ │ │ │ │ │ ├── elasticsearch.spec.ts
│ │ │ │ │ │ └── manticoresearch.spec.ts
│ │ │ │ │ └── service.spec.ts
│ │ │ │ ├── config.ts
│ │ │ │ ├── event.ts
│ │ │ │ ├── factory.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── job.ts
│ │ │ │ ├── providers
│ │ │ │ │ ├── def.ts
│ │ │ │ │ ├── elasticsearch.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── manticoresearch.ts
│ │ │ │ ├── resolver.ts
│ │ │ │ ├── service.ts
│ │ │ │ ├── tables
│ │ │ │ │ ├── block.ts
│ │ │ │ │ ├── doc.ts
│ │ │ │ │ └── index.ts
│ │ │ │ └── types.ts
│ │ │ ├── license
│ │ │ │ ├── index.ts
│ │ │ │ ├── resolver.ts
│ │ │ │ └── service.ts
│ │ │ ├── oauth
│ │ │ │ ├── config.ts
│ │ │ │ ├── controller.ts
│ │ │ │ ├── factory.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── providers
│ │ │ │ │ ├── apple.ts
│ │ │ │ │ ├── def.ts
│ │ │ │ │ ├── github.ts
│ │ │ │ │ ├── google.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── oidc.ts
│ │ │ │ ├── resolver.ts
│ │ │ │ ├── service.ts
│ │ │ │ └── types.ts
│ │ │ ├── payment
│ │ │ │ ├── config.ts
│ │ │ │ ├── controller.ts
│ │ │ │ ├── cron.ts
│ │ │ │ ├── event.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── license
│ │ │ │ │ └── controller.ts
│ │ │ │ ├── manager
│ │ │ │ │ ├── common.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── selfhost.ts
│ │ │ │ │ ├── user.ts
│ │ │ │ │ └── workspace.ts
│ │ │ │ ├── resolver.ts
│ │ │ │ ├── revenuecat
│ │ │ │ │ ├── controller.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── map.ts
│ │ │ │ │ ├── service.ts
│ │ │ │ │ └── webhook.ts
│ │ │ │ ├── schedule.ts
│ │ │ │ ├── service.ts
│ │ │ │ ├── stripe.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── webhook.ts
│ │ │ └── worker
│ │ │ │ ├── config.ts
│ │ │ │ ├── controller.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── service.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── utils
│ │ │ │ ├── encoding.ts
│ │ │ │ ├── headers.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── url.ts
│ │ ├── prelude.ts
│ │ ├── schema.gql
│ │ ├── seed
│ │ │ └── index.ts
│ │ └── server.ts
│ │ └── tsconfig.json
├── common
│ ├── debug
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── __tests__
│ │ │ │ └── index.spec.ts
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── env
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── __tests__
│ │ │ │ └── is-valid-ip-address.spec.ts
│ │ │ ├── automation.ts
│ │ │ ├── constant.ts
│ │ │ ├── filter.ts
│ │ │ ├── global.ts
│ │ │ ├── is-valid-ip-address.ts
│ │ │ ├── page-info.ts
│ │ │ ├── ua-helper.ts
│ │ │ ├── worker.ts
│ │ │ └── workspace
│ │ │ │ └── legacy-cloud
│ │ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── error
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── __tests__
│ │ │ │ └── index.spec.ts
│ │ │ └── index.ts
│ │ └── tsconfig.json
│ ├── graphql
│ │ ├── README.md
│ │ ├── codegen.yml
│ │ ├── export-gql-plugin.cjs
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── __tests__
│ │ │ │ └── fetcher.spec.ts
│ │ │ ├── fetcher.ts
│ │ │ ├── graphql
│ │ │ │ ├── access-token
│ │ │ │ │ ├── create.gql
│ │ │ │ │ ├── list.gql
│ │ │ │ │ └── revoke.gql
│ │ │ │ ├── admin
│ │ │ │ │ ├── admin-server-config.gql
│ │ │ │ │ ├── change-password-url.gql
│ │ │ │ │ ├── config.gql
│ │ │ │ │ ├── copilot-prompt-list.gql
│ │ │ │ │ ├── copilot-prompt-update.gql
│ │ │ │ │ ├── create-user.gql
│ │ │ │ │ ├── delete-user.gql
│ │ │ │ │ ├── disable-user.gql
│ │ │ │ │ ├── enable-user.gql
│ │ │ │ │ ├── get-user-by-email.gql
│ │ │ │ │ ├── import-users.gql
│ │ │ │ │ ├── list-users.gql
│ │ │ │ │ ├── send-test-email.gql
│ │ │ │ │ ├── update-account-features.gql
│ │ │ │ │ ├── update-account.gql
│ │ │ │ │ ├── update-config.gql
│ │ │ │ │ └── validate-config.gql
│ │ │ │ ├── blob-delete.gql
│ │ │ │ ├── blob-list.gql
│ │ │ │ ├── blob-release-deleted.gql
│ │ │ │ ├── blob-set.gql
│ │ │ │ ├── cancel-subscription.gql
│ │ │ │ ├── change-email.gql
│ │ │ │ ├── change-password.gql
│ │ │ │ ├── comment-change-list.gql
│ │ │ │ ├── comment-create.gql
│ │ │ │ ├── comment-delete.gql
│ │ │ │ ├── comment-list.gql
│ │ │ │ ├── comment-reply-create.gql
│ │ │ │ ├── comment-reply-delete.gql
│ │ │ │ ├── comment-reply-update.gql
│ │ │ │ ├── comment-resolve.gql
│ │ │ │ ├── comment-update.gql
│ │ │ │ ├── comment-upload-attachment.gql
│ │ │ │ ├── copilot-apply-doc-updates.gql
│ │ │ │ ├── copilot-context-blob-add.gql
│ │ │ │ ├── copilot-context-blob-remove.gql
│ │ │ │ ├── copilot-context-category-add.gql
│ │ │ │ ├── copilot-context-category-remove.gql
│ │ │ │ ├── copilot-context-create.gql
│ │ │ │ ├── copilot-context-doc-add.gql
│ │ │ │ ├── copilot-context-doc-remove.gql
│ │ │ │ ├── copilot-context-file-add.gql
│ │ │ │ ├── copilot-context-file-remove.gql
│ │ │ │ ├── copilot-context-list-object.gql
│ │ │ │ ├── copilot-context-list.gql
│ │ │ │ ├── copilot-context-match-all.gql
│ │ │ │ ├── copilot-context-match-docs.gql
│ │ │ │ ├── copilot-context-match-files.gql
│ │ │ │ ├── copilot-context-workspace-query.gql
│ │ │ │ ├── copilot-context-workspace-queue.gql
│ │ │ │ ├── copilot-history-get-ids.gql
│ │ │ │ ├── copilot-history-list-doc-sessions.gql
│ │ │ │ ├── copilot-history-list-pinned-session.gql
│ │ │ │ ├── copilot-history-list-workspace-sessions.gql
│ │ │ │ ├── copilot-history-list.gql
│ │ │ │ ├── copilot-jobs-transcription-add.gql
│ │ │ │ ├── copilot-jobs-transcription-claim.gql
│ │ │ │ ├── copilot-jobs-transcription-list.gql
│ │ │ │ ├── copilot-jobs-transcription-retry.gql
│ │ │ │ ├── copilot-message-create.gql
│ │ │ │ ├── copilot-models-get.gql
│ │ │ │ ├── copilot-quota.gql
│ │ │ │ ├── copilot-session-cleanup.gql
│ │ │ │ ├── copilot-session-create.gql
│ │ │ │ ├── copilot-session-fork.gql
│ │ │ │ ├── copilot-session-get-latest-doc.gql
│ │ │ │ ├── copilot-session-get.gql
│ │ │ │ ├── copilot-session-list-recent.gql
│ │ │ │ ├── copilot-session-update.gql
│ │ │ │ ├── copilot-sessions-get.gql
│ │ │ │ ├── copilot-workspace-file-add.gql
│ │ │ │ ├── copilot-workspace-file-get.gql
│ │ │ │ ├── copilot-workspace-file-remove.gql
│ │ │ │ ├── copilot-workspace-ignored-docs-add.gql
│ │ │ │ ├── copilot-workspace-ignored-docs-get-all.gql
│ │ │ │ ├── copilot-workspace-ignored-docs-get.gql
│ │ │ │ ├── copilot-workspace-ignored-docs-remove.gql
│ │ │ │ ├── create-checkout-link.gql
│ │ │ │ ├── create-customer-portal.gql
│ │ │ │ ├── create-self-host-customer-portal.gql
│ │ │ │ ├── create-workspace.gql
│ │ │ │ ├── delete-account.gql
│ │ │ │ ├── delete-workspace.gql
│ │ │ │ ├── doc-role-permissions.gql
│ │ │ │ ├── fragments
│ │ │ │ │ ├── copilot.gql
│ │ │ │ │ ├── credentials-requirement.gql
│ │ │ │ │ └── password-limits.gql
│ │ │ │ ├── generate-license-key.gql
│ │ │ │ ├── get-current-user-features.gql
│ │ │ │ ├── get-current-user.gql
│ │ │ │ ├── get-doc-created-by-updated-by-list.gql
│ │ │ │ ├── get-doc-default-role.gql
│ │ │ │ ├── get-doc-summary.gql
│ │ │ │ ├── get-invite-info.gql
│ │ │ │ ├── get-member-count-by-workspace-id.gql
│ │ │ │ ├── get-members-by-workspace-id.gql
│ │ │ │ ├── get-oauth-providers.gql
│ │ │ │ ├── get-page-granted-users-list.gql
│ │ │ │ ├── get-public-user-by-id.gql
│ │ │ │ ├── get-recently-update-docs.gql
│ │ │ │ ├── get-user-features.gql
│ │ │ │ ├── get-user-settings.gql
│ │ │ │ ├── get-user.gql
│ │ │ │ ├── get-workspace-info.gql
│ │ │ │ ├── get-workspace-page-by-id.gql
│ │ │ │ ├── get-workspace-page-meta.gql
│ │ │ │ ├── get-workspace-public-by-id.gql
│ │ │ │ ├── get-workspace-public-pages.gql
│ │ │ │ ├── get-workspace-subscription.gql
│ │ │ │ ├── get-workspace.gql
│ │ │ │ ├── get-workspaces.gql
│ │ │ │ ├── grant-doc-user-roles.gql
│ │ │ │ ├── histories.gql
│ │ │ │ ├── index.ts
│ │ │ │ ├── indexer-aggregate.gql
│ │ │ │ ├── indexer-search-docs.gql
│ │ │ │ ├── indexer-search.gql
│ │ │ │ ├── invoices-count.gql
│ │ │ │ ├── invoices.gql
│ │ │ │ ├── leave-workspace.gql
│ │ │ │ ├── license
│ │ │ │ │ ├── activate-license.gql
│ │ │ │ │ ├── deactivate-license.gql
│ │ │ │ │ ├── get-license.gql
│ │ │ │ │ ├── install-license.gql
│ │ │ │ │ └── license-body.gql
│ │ │ │ ├── list-notifications.gql
│ │ │ │ ├── mention-user.gql
│ │ │ │ ├── notification-count.gql
│ │ │ │ ├── prices.gql
│ │ │ │ ├── public-page.gql
│ │ │ │ ├── quota.gql
│ │ │ │ ├── read-all-notifications.gql
│ │ │ │ ├── read-notification.gql
│ │ │ │ ├── recover-doc.gql
│ │ │ │ ├── remove-avatar.gql
│ │ │ │ ├── resume-subscription.gql
│ │ │ │ ├── revoke-doc-user-roles.gql
│ │ │ │ ├── revoke-member-permission.gql
│ │ │ │ ├── revoke-public-page.gql
│ │ │ │ ├── send-change-email.gql
│ │ │ │ ├── send-change-password-email.gql
│ │ │ │ ├── send-set-password-email.gql
│ │ │ │ ├── send-verify-change-email.gql
│ │ │ │ ├── send-verify-email.gql
│ │ │ │ ├── server-config.gql
│ │ │ │ ├── set-workspace-public-by-id.gql
│ │ │ │ ├── subscription-refresh.gql
│ │ │ │ ├── subscription-request.gql
│ │ │ │ ├── subscription.gql
│ │ │ │ ├── update-doc-default-role.gql
│ │ │ │ ├── update-doc-user-role.gql
│ │ │ │ ├── update-subscription-billing.gql
│ │ │ │ ├── update-user-profile.gql
│ │ │ │ ├── update-user-settings.gql
│ │ │ │ ├── upload-avatar.gql
│ │ │ │ ├── verify-email.gql
│ │ │ │ ├── workspace-blob-quota.gql
│ │ │ │ ├── workspace-config.gql
│ │ │ │ ├── workspace-enable-ai.gql
│ │ │ │ ├── workspace-enable-doc-embedding.gql
│ │ │ │ ├── workspace-enable-url-preview.gql
│ │ │ │ ├── workspace-intive-by-emails.gql
│ │ │ │ ├── workspace-invite-accept-by-invite-id.gql
│ │ │ │ ├── workspace-invite-link.gql
│ │ │ │ ├── workspace-invite-revoke-link.gql
│ │ │ │ ├── workspace-invoices.gql
│ │ │ │ ├── workspace-quota.gql
│ │ │ │ ├── workspace-role-permissions.gql
│ │ │ │ ├── workspace-team-approve.gql
│ │ │ │ └── workspace-team-grant.gql
│ │ │ ├── index.ts
│ │ │ └── schema.ts
│ │ └── tsconfig.json
│ ├── infra
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── app-config-storage.ts
│ │ │ ├── atom
│ │ │ │ ├── index.ts
│ │ │ │ ├── root-store.ts
│ │ │ │ └── settings.ts
│ │ │ ├── framework
│ │ │ │ ├── __tests__
│ │ │ │ │ └── framework.spec.ts
│ │ │ │ ├── core
│ │ │ │ │ ├── components
│ │ │ │ │ │ ├── component.ts
│ │ │ │ │ │ ├── entity.ts
│ │ │ │ │ │ ├── scope.ts
│ │ │ │ │ │ ├── service.ts
│ │ │ │ │ │ └── store.ts
│ │ │ │ │ ├── constructor-context.ts
│ │ │ │ │ ├── consts.ts
│ │ │ │ │ ├── error.ts
│ │ │ │ │ ├── event.ts
│ │ │ │ │ ├── framework.ts
│ │ │ │ │ ├── identifier.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── provider.ts
│ │ │ │ │ ├── scope.ts
│ │ │ │ │ └── types.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── react
│ │ │ │ │ └── index.tsx
│ │ │ ├── index.ts
│ │ │ ├── livedata
│ │ │ │ ├── __tests__
│ │ │ │ │ ├── livedata.spec.ts
│ │ │ │ │ └── react.spec.tsx
│ │ │ │ ├── effect
│ │ │ │ │ ├── __tests__
│ │ │ │ │ │ └── effect.spec.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── livedata.ts
│ │ │ │ ├── ops.ts
│ │ │ │ └── react.ts
│ │ │ ├── media
│ │ │ │ ├── index.ts
│ │ │ │ └── types.ts
│ │ │ ├── op
│ │ │ │ ├── README.md
│ │ │ │ ├── __tests__
│ │ │ │ │ ├── client.spec.ts
│ │ │ │ │ ├── consumer.spec.ts
│ │ │ │ │ └── message.spec.ts
│ │ │ │ ├── client.ts
│ │ │ │ ├── consumer.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── message.ts
│ │ │ │ └── types.ts
│ │ │ ├── orm
│ │ │ │ ├── core
│ │ │ │ │ ├── __tests__
│ │ │ │ │ │ ├── doc.spec.ts
│ │ │ │ │ │ ├── entity.spec.ts
│ │ │ │ │ │ ├── hook.spec.ts
│ │ │ │ │ │ ├── schema.spec.ts
│ │ │ │ │ │ └── yjs.spec.ts
│ │ │ │ │ ├── adapters
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── memory
│ │ │ │ │ │ │ ├── db.ts
│ │ │ │ │ │ │ └── table.ts
│ │ │ │ │ │ ├── mixins
│ │ │ │ │ │ │ ├── hook.ts
│ │ │ │ │ │ │ └── index.ts
│ │ │ │ │ │ ├── types.ts
│ │ │ │ │ │ └── yjs
│ │ │ │ │ │ │ ├── db.ts
│ │ │ │ │ │ │ └── table.ts
│ │ │ │ │ ├── client.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── schema.ts
│ │ │ │ │ ├── table.ts
│ │ │ │ │ ├── types.ts
│ │ │ │ │ └── validators
│ │ │ │ │ │ ├── data.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── schema.ts
│ │ │ │ │ │ ├── types.ts
│ │ │ │ │ │ └── yjs.ts
│ │ │ │ └── index.ts
│ │ │ ├── storage
│ │ │ │ ├── __tests__
│ │ │ │ │ └── memento.spec.ts
│ │ │ │ ├── async-memento.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── kv.ts
│ │ │ │ └── memento.ts
│ │ │ └── utils
│ │ │ │ ├── __tests__
│ │ │ │ ├── async-lock.spec.ts
│ │ │ │ ├── async-queue.spec.ts
│ │ │ │ ├── fractional-indexing.spec.ts
│ │ │ │ ├── throw-if-aborted.spec.ts
│ │ │ │ └── yjs-observable.spec.ts
│ │ │ │ ├── async-lock.ts
│ │ │ │ ├── async-queue.ts
│ │ │ │ ├── exhaustmap-with-trailing.ts
│ │ │ │ ├── fractional-indexing.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── merge-updates.ts
│ │ │ │ ├── object-pool.ts
│ │ │ │ ├── shallow-equal.ts
│ │ │ │ ├── stable-hash.ts
│ │ │ │ ├── throw-if-aborted.ts
│ │ │ │ └── yjs-observable.ts
│ │ ├── tsconfig.json
│ │ └── typedoc.json
│ ├── native
│ │ ├── Cargo.toml
│ │ ├── benches
│ │ │ └── hashcash.rs
│ │ ├── fixtures
│ │ │ ├── demo.docx
│ │ │ ├── demo.docx.0.md
│ │ │ ├── demo.docx.md
│ │ │ ├── demo.ydoc
│ │ │ ├── demo.ydoc.json
│ │ │ ├── sample.c
│ │ │ ├── sample.c.0.md
│ │ │ ├── sample.c.1.md
│ │ │ ├── sample.html
│ │ │ ├── sample.html.0.md
│ │ │ ├── sample.pdf
│ │ │ ├── sample.pdf.0.md
│ │ │ ├── sample.pdf.1.md
│ │ │ ├── sample.pdf.2.md
│ │ │ ├── sample.rs
│ │ │ ├── sample.rs.0.md
│ │ │ ├── sample.rs.1.md
│ │ │ ├── sample.ts
│ │ │ └── sample.ts.0.md
│ │ └── src
│ │ │ ├── doc_loader
│ │ │ ├── document.rs
│ │ │ ├── error.rs
│ │ │ ├── loader
│ │ │ │ ├── docx.rs
│ │ │ │ ├── html.rs
│ │ │ │ ├── mod.rs
│ │ │ │ ├── pdf.rs
│ │ │ │ ├── source
│ │ │ │ │ ├── mod.rs
│ │ │ │ │ └── parser.rs
│ │ │ │ └── text.rs
│ │ │ ├── mod.rs
│ │ │ ├── splitter
│ │ │ │ ├── error.rs
│ │ │ │ ├── markdown.rs
│ │ │ │ ├── mod.rs
│ │ │ │ ├── options.rs
│ │ │ │ └── token.rs
│ │ │ └── types.rs
│ │ │ ├── doc_parser.rs
│ │ │ ├── hashcash.rs
│ │ │ └── lib.rs
│ ├── nbstore
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── __tests__
│ │ │ │ ├── frontend.spec.ts
│ │ │ │ ├── sync.spec.ts
│ │ │ │ └── utils.ts
│ │ │ ├── connection
│ │ │ │ ├── __tests__
│ │ │ │ │ └── auto-reconnection.spec.ts
│ │ │ │ ├── connection.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── shared-connection.ts
│ │ │ ├── frontend
│ │ │ │ ├── awareness.ts
│ │ │ │ ├── blob.ts
│ │ │ │ ├── doc.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── indexer.ts
│ │ │ ├── impls
│ │ │ │ ├── broadcast-channel
│ │ │ │ │ ├── awareness.ts
│ │ │ │ │ ├── channel.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── cloud
│ │ │ │ │ ├── awareness.ts
│ │ │ │ │ ├── blob.ts
│ │ │ │ │ ├── doc-static.ts
│ │ │ │ │ ├── doc.ts
│ │ │ │ │ ├── http.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── indexer.ts
│ │ │ │ │ └── socket.ts
│ │ │ │ ├── idb
│ │ │ │ │ ├── blob-sync.ts
│ │ │ │ │ ├── blob.ts
│ │ │ │ │ ├── db.ts
│ │ │ │ │ ├── doc-sync.ts
│ │ │ │ │ ├── doc.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── indexer-sync.ts
│ │ │ │ │ ├── indexer
│ │ │ │ │ │ ├── __tests__
│ │ │ │ │ │ │ ├── bm25.spec.ts
│ │ │ │ │ │ │ ├── highlighter.spec.ts
│ │ │ │ │ │ │ └── tokenizer.spec.ts
│ │ │ │ │ │ ├── bm25.ts
│ │ │ │ │ │ ├── data-struct.ts
│ │ │ │ │ │ ├── highlighter.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── inverted-index.ts
│ │ │ │ │ │ ├── match.ts
│ │ │ │ │ │ ├── tokenizer.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── lock.ts
│ │ │ │ │ ├── schema.ts
│ │ │ │ │ └── v1
│ │ │ │ │ │ ├── blob.ts
│ │ │ │ │ │ ├── db.ts
│ │ │ │ │ │ ├── doc.ts
│ │ │ │ │ │ └── index.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── sqlite
│ │ │ │ │ ├── blob-sync.ts
│ │ │ │ │ ├── blob.ts
│ │ │ │ │ ├── db.ts
│ │ │ │ │ ├── doc-sync.ts
│ │ │ │ │ ├── doc.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── indexer
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── match.ts
│ │ │ │ │ ├── node-builder.ts
│ │ │ │ │ ├── query.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ │ └── v1
│ │ │ │ │ ├── blob.ts
│ │ │ │ │ ├── db.ts
│ │ │ │ │ ├── doc.ts
│ │ │ │ │ └── index.ts
│ │ │ ├── index.ts
│ │ │ ├── storage
│ │ │ │ ├── awareness.ts
│ │ │ │ ├── blob-sync.ts
│ │ │ │ ├── blob.ts
│ │ │ │ ├── doc-sync.ts
│ │ │ │ ├── doc.ts
│ │ │ │ ├── dummy
│ │ │ │ │ ├── awareness.ts
│ │ │ │ │ ├── blob-sync.ts
│ │ │ │ │ ├── blob.ts
│ │ │ │ │ ├── doc-sync.ts
│ │ │ │ │ ├── doc.ts
│ │ │ │ │ ├── indexer-sync.ts
│ │ │ │ │ └── indexer.ts
│ │ │ │ ├── errors
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── over-capacity.ts
│ │ │ │ │ └── over-size.ts
│ │ │ │ ├── history.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── indexer-sync.ts
│ │ │ │ ├── indexer.ts
│ │ │ │ ├── indexer
│ │ │ │ │ ├── document.ts
│ │ │ │ │ ├── field-type.ts
│ │ │ │ │ ├── query.ts
│ │ │ │ │ └── schema.ts
│ │ │ │ ├── lock.ts
│ │ │ │ └── storage.ts
│ │ │ ├── sync
│ │ │ │ ├── awareness
│ │ │ │ │ └── index.ts
│ │ │ │ ├── blob
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── peer.ts
│ │ │ │ ├── doc
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── peer.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── indexer
│ │ │ │ │ ├── crawler.ts
│ │ │ │ │ └── index.ts
│ │ │ │ └── types.ts
│ │ │ ├── utils
│ │ │ │ ├── __tests__
│ │ │ │ │ ├── __snapshots__
│ │ │ │ │ │ └── storage.spec.ts.snap
│ │ │ │ │ ├── binary-search-tree.spec.ts
│ │ │ │ │ ├── id-converter.spec.ts
│ │ │ │ │ ├── priority-queue.spec.ts
│ │ │ │ │ └── storage.spec.ts
│ │ │ │ ├── async-priority-queue.ts
│ │ │ │ ├── binary-search-tree.ts
│ │ │ │ ├── clock.ts
│ │ │ │ ├── from-promise.ts
│ │ │ │ ├── id-converter.ts
│ │ │ │ ├── is-empty-update.ts
│ │ │ │ ├── priority-queue.ts
│ │ │ │ ├── shallow-equal.ts
│ │ │ │ ├── take-until-abort.ts
│ │ │ │ ├── throw-if-aborted.ts
│ │ │ │ └── universal-id.ts
│ │ │ └── worker
│ │ │ │ ├── client.ts
│ │ │ │ ├── consumer.ts
│ │ │ │ └── ops.ts
│ │ └── tsconfig.json
│ ├── reader
│ │ ├── README.md
│ │ ├── __tests__
│ │ │ ├── __fixtures__
│ │ │ │ ├── test-doc-with-ai-editable.snapshot.bin
│ │ │ │ ├── test-doc.snapshot.bin
│ │ │ │ └── test-root-doc.snapshot.bin
│ │ │ ├── __snapshots__
│ │ │ │ └── reader.spec.ts.snap
│ │ │ └── reader.spec.ts
│ │ ├── esbuild.config.js
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── bs-store.ts
│ │ │ ├── doc-parser
│ │ │ │ ├── delta-to-md
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── delta-converters.ts
│ │ │ │ │ ├── delta-to-md.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── utils
│ │ │ │ │ │ ├── node.ts
│ │ │ │ │ │ └── url.ts
│ │ │ │ ├── parser.ts
│ │ │ │ └── types.ts
│ │ │ ├── index.ts
│ │ │ └── reader.ts
│ │ └── tsconfig.json
│ ├── theme
│ │ └── README.md
│ └── y-octo
│ │ ├── core
│ │ ├── Cargo.toml
│ │ ├── LICENSE
│ │ ├── README.md
│ │ ├── benches
│ │ │ ├── apply_benchmarks.rs
│ │ │ ├── array_ops_benchmarks.rs
│ │ │ ├── codec_benchmarks.rs
│ │ │ ├── map_ops_benchmarks.rs
│ │ │ ├── text_ops_benchmarks.rs
│ │ │ ├── update_benchmarks.rs
│ │ │ └── utils
│ │ │ │ ├── files.rs
│ │ │ │ └── mod.rs
│ │ └── src
│ │ │ ├── codec
│ │ │ ├── buffer.rs
│ │ │ ├── integer.rs
│ │ │ ├── mod.rs
│ │ │ └── string.rs
│ │ │ ├── doc
│ │ │ ├── awareness.rs
│ │ │ ├── codec
│ │ │ │ ├── any.rs
│ │ │ │ ├── content.rs
│ │ │ │ ├── delete_set.rs
│ │ │ │ ├── id.rs
│ │ │ │ ├── io
│ │ │ │ │ ├── codec_v1.rs
│ │ │ │ │ ├── mod.rs
│ │ │ │ │ ├── reader.rs
│ │ │ │ │ └── writer.rs
│ │ │ │ ├── item.rs
│ │ │ │ ├── item_flag.rs
│ │ │ │ ├── mod.rs
│ │ │ │ ├── refs.rs
│ │ │ │ ├── update.rs
│ │ │ │ └── utils
│ │ │ │ │ ├── items.rs
│ │ │ │ │ └── mod.rs
│ │ │ ├── common
│ │ │ │ ├── mod.rs
│ │ │ │ ├── range.rs
│ │ │ │ ├── somr.rs
│ │ │ │ └── state.rs
│ │ │ ├── document.rs
│ │ │ ├── hasher.rs
│ │ │ ├── history.rs
│ │ │ ├── mod.rs
│ │ │ ├── publisher.rs
│ │ │ ├── store.rs
│ │ │ ├── types
│ │ │ │ ├── array.rs
│ │ │ │ ├── list
│ │ │ │ │ ├── iterator.rs
│ │ │ │ │ ├── mod.rs
│ │ │ │ │ └── search_marker.rs
│ │ │ │ ├── map.rs
│ │ │ │ ├── mod.rs
│ │ │ │ ├── text.rs
│ │ │ │ ├── value.rs
│ │ │ │ └── xml.rs
│ │ │ └── utils.rs
│ │ │ ├── fixtures
│ │ │ ├── basic.bin
│ │ │ ├── database.bin
│ │ │ ├── edge-case-left-right-same-node.bin
│ │ │ ├── large.bin
│ │ │ ├── local_docs.json
│ │ │ └── with-subdoc.bin
│ │ │ ├── lib.rs
│ │ │ ├── protocol
│ │ │ ├── awareness.rs
│ │ │ ├── doc.rs
│ │ │ ├── mod.rs
│ │ │ ├── scanner.rs
│ │ │ └── sync.rs
│ │ │ └── sync.rs
│ │ ├── node
│ │ ├── .gitignore
│ │ ├── Cargo.toml
│ │ ├── build.rs
│ │ ├── index.d.ts
│ │ ├── index.js
│ │ ├── package.json
│ │ ├── scripts
│ │ │ └── run-test.mts
│ │ ├── src
│ │ │ ├── array.rs
│ │ │ ├── doc.rs
│ │ │ ├── lib.rs
│ │ │ ├── map.rs
│ │ │ ├── text.rs
│ │ │ └── utils.rs
│ │ ├── tests
│ │ │ ├── array.spec.mts
│ │ │ ├── doc.spec.mts
│ │ │ ├── map.spec.mts
│ │ │ └── text.spec.mts
│ │ └── tsconfig.json
│ │ └── utils
│ │ ├── Cargo.toml
│ │ ├── benches
│ │ ├── apply_benchmarks.rs
│ │ ├── array_ops_benchmarks.rs
│ │ ├── codec_benchmarks.rs
│ │ ├── map_ops_benchmarks.rs
│ │ ├── text_ops_benchmarks.rs
│ │ ├── update_benchmarks.rs
│ │ └── utils
│ │ │ ├── files.rs
│ │ │ └── mod.rs
│ │ ├── bin
│ │ ├── bench_result_render.rs
│ │ ├── doc_merger.rs
│ │ └── memory_leak_test.rs
│ │ ├── fuzz
│ │ ├── .gitignore
│ │ ├── Cargo.lock
│ │ ├── Cargo.toml
│ │ └── fuzz_targets
│ │ │ ├── apply_update.rs
│ │ │ ├── codec_doc_any.rs
│ │ │ ├── codec_doc_any_struct.rs
│ │ │ ├── decode_bytes.rs
│ │ │ ├── i32_decode.rs
│ │ │ ├── i32_encode.rs
│ │ │ ├── ins_del_text.rs
│ │ │ ├── sync_message.rs
│ │ │ ├── u64_decode.rs
│ │ │ └── u64_encode.rs
│ │ └── src
│ │ ├── codec.rs
│ │ ├── doc.rs
│ │ ├── doc_operation
│ │ ├── mod.rs
│ │ ├── types.rs
│ │ └── yrs_op
│ │ │ ├── array.rs
│ │ │ ├── map.rs
│ │ │ ├── mod.rs
│ │ │ ├── text.rs
│ │ │ ├── xml_element.rs
│ │ │ ├── xml_fragment.rs
│ │ │ └── xml_text.rs
│ │ └── lib.rs
└── frontend
│ ├── admin
│ ├── components.json
│ ├── package.json
│ ├── src
│ │ ├── app.tsx
│ │ ├── components
│ │ │ └── ui
│ │ │ │ ├── accordion.tsx
│ │ │ │ ├── alert-dialog.tsx
│ │ │ │ ├── alert.tsx
│ │ │ │ ├── aspect-ratio.tsx
│ │ │ │ ├── avatar.tsx
│ │ │ │ ├── badge.tsx
│ │ │ │ ├── breadcrumb.tsx
│ │ │ │ ├── button.tsx
│ │ │ │ ├── calendar.tsx
│ │ │ │ ├── card.tsx
│ │ │ │ ├── carousel.tsx
│ │ │ │ ├── checkbox.tsx
│ │ │ │ ├── collapsible.tsx
│ │ │ │ ├── command.tsx
│ │ │ │ ├── context-menu.tsx
│ │ │ │ ├── dialog.tsx
│ │ │ │ ├── drawer.tsx
│ │ │ │ ├── dropdown-menu.tsx
│ │ │ │ ├── form.tsx
│ │ │ │ ├── hover-card.tsx
│ │ │ │ ├── input-otp.tsx
│ │ │ │ ├── input.tsx
│ │ │ │ ├── label.tsx
│ │ │ │ ├── menubar.tsx
│ │ │ │ ├── navigation-menu.tsx
│ │ │ │ ├── pagination.tsx
│ │ │ │ ├── popover.tsx
│ │ │ │ ├── progress.tsx
│ │ │ │ ├── radio-group.tsx
│ │ │ │ ├── resizable.tsx
│ │ │ │ ├── scroll-area.tsx
│ │ │ │ ├── select.tsx
│ │ │ │ ├── separator.tsx
│ │ │ │ ├── sheet.tsx
│ │ │ │ ├── skeleton.tsx
│ │ │ │ ├── slider.tsx
│ │ │ │ ├── sonner.tsx
│ │ │ │ ├── switch.tsx
│ │ │ │ ├── table.tsx
│ │ │ │ ├── tabs.tsx
│ │ │ │ ├── textarea.tsx
│ │ │ │ ├── toast.tsx
│ │ │ │ ├── toaster.tsx
│ │ │ │ ├── toggle-group.tsx
│ │ │ │ ├── toggle.tsx
│ │ │ │ ├── tooltip.tsx
│ │ │ │ └── use-toast.ts
│ │ ├── config.json
│ │ ├── fetch-utils.ts
│ │ ├── global.css
│ │ ├── global.d.ts
│ │ ├── index.tsx
│ │ ├── modules
│ │ │ ├── about
│ │ │ │ ├── about.tsx
│ │ │ │ └── index.tsx
│ │ │ ├── accounts
│ │ │ │ ├── components
│ │ │ │ │ ├── columns.tsx
│ │ │ │ │ ├── data-table-column-header.tsx
│ │ │ │ │ ├── data-table-pagination.tsx
│ │ │ │ │ ├── data-table-row-actions.tsx
│ │ │ │ │ ├── data-table-toolbar.tsx
│ │ │ │ │ ├── data-table.tsx
│ │ │ │ │ ├── delete-account.tsx
│ │ │ │ │ ├── disable-account.tsx
│ │ │ │ │ ├── discard-changes.tsx
│ │ │ │ │ ├── enable-account.tsx
│ │ │ │ │ ├── export-users-dialog.tsx
│ │ │ │ │ ├── import-users
│ │ │ │ │ │ ├── csv-format-guidance.tsx
│ │ │ │ │ │ ├── file-upload-area.tsx
│ │ │ │ │ │ ├── import-content.tsx
│ │ │ │ │ │ ├── import-footer.tsx
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ └── use-import-users-state.ts
│ │ │ │ │ ├── logo.tsx
│ │ │ │ │ ├── reset-password.tsx
│ │ │ │ │ ├── use-user-management.ts
│ │ │ │ │ ├── user-form.tsx
│ │ │ │ │ └── user-table.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── schema.ts
│ │ │ │ ├── use-user-list.ts
│ │ │ │ └── utils
│ │ │ │ │ └── csv-utils.ts
│ │ │ ├── ai
│ │ │ │ ├── discard-changes.tsx
│ │ │ │ ├── edit-prompt.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── keys.tsx
│ │ │ │ ├── prompts.tsx
│ │ │ │ └── use-prompt.ts
│ │ │ ├── auth
│ │ │ │ ├── index.tsx
│ │ │ │ └── logo.svg
│ │ │ ├── common.ts
│ │ │ ├── header.tsx
│ │ │ ├── layout.tsx
│ │ │ ├── nav
│ │ │ │ ├── collapsible-item.tsx
│ │ │ │ ├── context.ts
│ │ │ │ ├── nav-item.tsx
│ │ │ │ ├── nav.tsx
│ │ │ │ ├── server-version.tsx
│ │ │ │ ├── settings-item.tsx
│ │ │ │ └── user-dropdown.tsx
│ │ │ ├── panel
│ │ │ │ └── context.ts
│ │ │ ├── settings
│ │ │ │ ├── config-input-row.tsx
│ │ │ │ ├── config.ts
│ │ │ │ ├── index.tsx
│ │ │ │ ├── operations
│ │ │ │ │ └── send-test-email.tsx
│ │ │ │ ├── use-app-config.ts
│ │ │ │ └── utils.tsx
│ │ │ └── setup
│ │ │ │ ├── create-admin.tsx
│ │ │ │ ├── form.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ └── logo.svg
│ │ ├── setup.ts
│ │ ├── use-mutation.ts
│ │ ├── use-query.ts
│ │ └── utils.ts
│ ├── tailwind.config.js
│ └── tsconfig.json
│ ├── apps
│ ├── android
│ │ ├── .gitignore
│ │ ├── App
│ │ │ ├── .gitignore
│ │ │ ├── app
│ │ │ │ ├── .gitignore
│ │ │ │ ├── build.gradle
│ │ │ │ ├── capacitor.build.gradle
│ │ │ │ ├── proguard-rules.pro
│ │ │ │ └── src
│ │ │ │ │ ├── androidTest
│ │ │ │ │ └── java
│ │ │ │ │ │ └── com
│ │ │ │ │ │ └── getcapacitor
│ │ │ │ │ │ └── myapp
│ │ │ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ │ │ ├── main
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── ic_launcher-playstore.png
│ │ │ │ │ ├── java
│ │ │ │ │ │ ├── app
│ │ │ │ │ │ │ └── affine
│ │ │ │ │ │ │ │ └── pro
│ │ │ │ │ │ │ │ ├── AFFiNEApp.kt
│ │ │ │ │ │ │ │ ├── AuthInitializer.kt
│ │ │ │ │ │ │ │ ├── CapacitorConfig.kt
│ │ │ │ │ │ │ │ ├── Constants.kt
│ │ │ │ │ │ │ │ ├── MainActivity.kt
│ │ │ │ │ │ │ │ ├── ai
│ │ │ │ │ │ │ │ ├── AIActivity.kt
│ │ │ │ │ │ │ │ └── chat
│ │ │ │ │ │ │ │ │ ├── ChatUiState.kt
│ │ │ │ │ │ │ │ │ ├── ChatViewModel.kt
│ │ │ │ │ │ │ │ │ └── ui
│ │ │ │ │ │ │ │ │ ├── ChatAppBar.kt
│ │ │ │ │ │ │ │ │ ├── Message.kt
│ │ │ │ │ │ │ │ │ └── UserInput.kt
│ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ ├── AFFiNEAppBar.kt
│ │ │ │ │ │ │ │ ├── AFFiNEIcon.kt
│ │ │ │ │ │ │ │ └── Markdown.kt
│ │ │ │ │ │ │ │ ├── plugin
│ │ │ │ │ │ │ │ ├── AFFiNEThemePlugin.kt
│ │ │ │ │ │ │ │ ├── AIButtonPlugin.kt
│ │ │ │ │ │ │ │ ├── AuthPlugin.kt
│ │ │ │ │ │ │ │ ├── HashCashPlugin.kt
│ │ │ │ │ │ │ │ ├── NbStorePlugin.kt
│ │ │ │ │ │ │ │ └── PluginExt.kt
│ │ │ │ │ │ │ │ ├── service
│ │ │ │ │ │ │ │ ├── GraphQLService.kt
│ │ │ │ │ │ │ │ ├── OkHttp.kt
│ │ │ │ │ │ │ │ ├── SSEService.kt
│ │ │ │ │ │ │ │ └── WebService.kt
│ │ │ │ │ │ │ │ ├── theme
│ │ │ │ │ │ │ │ ├── Colors.kt
│ │ │ │ │ │ │ │ ├── Theme.kt
│ │ │ │ │ │ │ │ └── Typography.kt
│ │ │ │ │ │ │ │ └── utils
│ │ │ │ │ │ │ │ ├── DataStore.kt
│ │ │ │ │ │ │ │ ├── DensityUtil.kt
│ │ │ │ │ │ │ │ ├── WebExt.kt
│ │ │ │ │ │ │ │ └── logger
│ │ │ │ │ │ │ │ ├── AffineDebugTree.kt
│ │ │ │ │ │ │ │ ├── CrashlyticsTree.kt
│ │ │ │ │ │ │ │ └── FileTree.kt
│ │ │ │ │ │ └── uniffi
│ │ │ │ │ │ │ └── affine_mobile_native
│ │ │ │ │ │ │ └── affine_mobile_native.kt
│ │ │ │ │ └── res
│ │ │ │ │ │ ├── drawable
│ │ │ │ │ │ ├── ic_ai.xml
│ │ │ │ │ │ ├── ic_arrow_down_small.xml
│ │ │ │ │ │ ├── ic_arrow_up_big.xml
│ │ │ │ │ │ ├── ic_broom.xml
│ │ │ │ │ │ ├── ic_bubble.xml
│ │ │ │ │ │ ├── ic_bulleted_list_01.xml
│ │ │ │ │ │ ├── ic_bulleted_list_02.xml
│ │ │ │ │ │ ├── ic_bulleted_list_03.xml
│ │ │ │ │ │ ├── ic_bulleted_list_04.xml
│ │ │ │ │ │ ├── ic_camera.xml
│ │ │ │ │ │ ├── ic_close.xml
│ │ │ │ │ │ ├── ic_image.xml
│ │ │ │ │ │ ├── ic_launcher_background.xml
│ │ │ │ │ │ ├── ic_launcher_foreground.xml
│ │ │ │ │ │ ├── ic_more_horizontal.xml
│ │ │ │ │ │ └── ic_send.xml
│ │ │ │ │ │ ├── layout
│ │ │ │ │ │ └── activity_main.xml
│ │ │ │ │ │ ├── mipmap-anydpi-v26
│ │ │ │ │ │ ├── ic_launcher.xml
│ │ │ │ │ │ └── ic_launcher_round.xml
│ │ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ ├── ic_launcher.webp
│ │ │ │ │ │ └── ic_launcher_round.webp
│ │ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ ├── ic_launcher.webp
│ │ │ │ │ │ └── ic_launcher_round.webp
│ │ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ ├── ic_launcher.webp
│ │ │ │ │ │ └── ic_launcher_round.webp
│ │ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ ├── ic_launcher.webp
│ │ │ │ │ │ └── ic_launcher_round.webp
│ │ │ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ │ ├── ic_launcher.webp
│ │ │ │ │ │ └── ic_launcher_round.webp
│ │ │ │ │ │ ├── values
│ │ │ │ │ │ ├── colors.xml
│ │ │ │ │ │ ├── strings.xml
│ │ │ │ │ │ └── styles.xml
│ │ │ │ │ │ └── xml
│ │ │ │ │ │ └── file_paths.xml
│ │ │ │ │ └── test
│ │ │ │ │ └── java
│ │ │ │ │ └── com
│ │ │ │ │ └── getcapacitor
│ │ │ │ │ └── myapp
│ │ │ │ │ └── ExampleUnitTest.java
│ │ │ ├── build.gradle
│ │ │ ├── buildscripts
│ │ │ │ └── toml-updater-config.gradle
│ │ │ ├── capacitor-cordova-android-plugins
│ │ │ │ ├── build.gradle
│ │ │ │ ├── cordova.variables.gradle
│ │ │ │ └── src
│ │ │ │ │ └── main
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── java
│ │ │ │ │ └── .gitkeep
│ │ │ │ │ └── res
│ │ │ │ │ └── .gitkeep
│ │ │ ├── capacitor.settings.gradle
│ │ │ ├── gradle.properties
│ │ │ ├── gradle
│ │ │ │ ├── libs.versions.toml
│ │ │ │ └── wrapper
│ │ │ │ │ ├── gradle-wrapper.jar
│ │ │ │ │ └── gradle-wrapper.properties
│ │ │ ├── gradlew
│ │ │ ├── gradlew.bat
│ │ │ ├── service
│ │ │ │ ├── .gitignore
│ │ │ │ └── build.gradle
│ │ │ ├── settings.gradle
│ │ │ └── variables.gradle
│ │ ├── README.md
│ │ ├── capacitor.config.ts
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── app.tsx
│ │ │ ├── index.tsx
│ │ │ ├── nbstore.worker.ts
│ │ │ ├── plugins
│ │ │ │ ├── affine-theme
│ │ │ │ │ ├── definitions.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── ai-button
│ │ │ │ │ ├── definitions.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── auth
│ │ │ │ │ ├── definitions.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── hashcash
│ │ │ │ │ ├── definitions.ts
│ │ │ │ │ └── index.ts
│ │ │ │ └── nbstore
│ │ │ │ │ ├── definitions.ts
│ │ │ │ │ └── index.ts
│ │ │ ├── proxy.ts
│ │ │ ├── setup-worker.ts
│ │ │ └── setup.ts
│ │ └── tsconfig.json
│ ├── electron-renderer
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── app
│ │ │ │ ├── app.css.ts
│ │ │ │ ├── app.tsx
│ │ │ │ ├── effects
│ │ │ │ │ ├── events.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── modules.ts
│ │ │ │ │ ├── recording.ts
│ │ │ │ │ ├── store-manager.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── global.css
│ │ │ │ ├── index.tsx
│ │ │ │ ├── language-sync.ts
│ │ │ │ ├── setup.ts
│ │ │ │ └── theme-sync.ts
│ │ │ ├── background-worker
│ │ │ │ └── index.ts
│ │ │ ├── popup
│ │ │ │ ├── app.css.ts
│ │ │ │ ├── app.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── recording
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ │ └── setup.ts
│ │ │ └── shell
│ │ │ │ ├── app.css.ts
│ │ │ │ ├── app.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ └── setup.ts
│ │ └── tsconfig.json
│ ├── electron
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── dev-app-update.yml
│ │ ├── forge.config.mjs
│ │ ├── package.json
│ │ ├── resources
│ │ │ ├── affine.metainfo.xml
│ │ │ ├── app-update.yml
│ │ │ ├── deb
│ │ │ │ ├── postinst
│ │ │ │ └── prerm
│ │ │ └── icons
│ │ │ │ ├── affine_installing.gif
│ │ │ │ ├── dmg-background.png
│ │ │ │ ├── dmg-background@2x.png
│ │ │ │ ├── doc-edgeless.png
│ │ │ │ ├── doc-page.png
│ │ │ │ ├── icon.icns
│ │ │ │ ├── icon.ico
│ │ │ │ ├── icon.png
│ │ │ │ ├── icon_beta.icns
│ │ │ │ ├── icon_beta.ico
│ │ │ │ ├── icon_beta.png
│ │ │ │ ├── icon_beta_512x512.png
│ │ │ │ ├── icon_beta_64x64.png
│ │ │ │ ├── icon_canary.icns
│ │ │ │ ├── icon_canary.ico
│ │ │ │ ├── icon_canary.png
│ │ │ │ ├── icon_canary_512x512.png
│ │ │ │ ├── icon_canary_64x64.png
│ │ │ │ ├── icon_internal.icns
│ │ │ │ ├── icon_internal.ico
│ │ │ │ ├── icon_internal_512x512.png
│ │ │ │ ├── icon_internal_64x64.png
│ │ │ │ ├── icon_stable_512x512.png
│ │ │ │ ├── icon_stable_64x64.png
│ │ │ │ ├── journal-today.png
│ │ │ │ ├── monitor.png
│ │ │ │ ├── nsis-sidebar.bmp
│ │ │ │ ├── pause.png
│ │ │ │ ├── stop.png
│ │ │ │ ├── tray-icon.png
│ │ │ │ ├── waveform-recording.png
│ │ │ │ └── waveform.png
│ │ ├── scripts
│ │ │ ├── build-layers.ts
│ │ │ ├── common.ts
│ │ │ ├── dev.ts
│ │ │ ├── generate-assets.ts
│ │ │ ├── macos-arm64-output-check.ts
│ │ │ ├── make-env.ts
│ │ │ ├── make-nsis.ts
│ │ │ ├── make-squirrel.ts
│ │ │ ├── nsis-installer.nsh
│ │ │ └── package.json
│ │ ├── src
│ │ │ ├── helper
│ │ │ │ ├── dialog
│ │ │ │ │ ├── dialog.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── exposed.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── logger.ts
│ │ │ │ ├── main-rpc.ts
│ │ │ │ ├── nbstore
│ │ │ │ │ ├── handlers.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── v1
│ │ │ │ │ │ ├── db-adapter.ts
│ │ │ │ │ │ ├── ensure-db.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── merge-update.ts
│ │ │ │ │ │ └── workspace-db-adapter.ts
│ │ │ │ ├── provide.ts
│ │ │ │ ├── type.ts
│ │ │ │ └── workspace
│ │ │ │ │ ├── handlers.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── meta.ts
│ │ │ │ │ └── subjects.ts
│ │ │ ├── main
│ │ │ │ ├── application-menu
│ │ │ │ │ ├── create.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── subject.ts
│ │ │ │ ├── cleanup.ts
│ │ │ │ ├── clipboard
│ │ │ │ │ └── index.ts
│ │ │ │ ├── config-storage
│ │ │ │ │ ├── handlers.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── persist.ts
│ │ │ │ ├── config.ts
│ │ │ │ ├── constants.ts
│ │ │ │ ├── deep-link.ts
│ │ │ │ ├── events.ts
│ │ │ │ ├── exposed.ts
│ │ │ │ ├── find-in-page
│ │ │ │ │ ├── handlers.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── handlers.ts
│ │ │ │ ├── helper-process.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── logger.ts
│ │ │ │ ├── protocol.ts
│ │ │ │ ├── recording
│ │ │ │ │ ├── allow-list.ts
│ │ │ │ │ ├── feature.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── state-machine.ts
│ │ │ │ │ ├── state-transitions.md
│ │ │ │ │ └── types.ts
│ │ │ │ ├── security-restrictions.ts
│ │ │ │ ├── security
│ │ │ │ │ └── open-external.ts
│ │ │ │ ├── shared-state-schema.ts
│ │ │ │ ├── shared-storage
│ │ │ │ │ ├── events.ts
│ │ │ │ │ ├── handlers.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── json-file.ts
│ │ │ │ │ └── storage.ts
│ │ │ │ ├── tray
│ │ │ │ │ ├── icons.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── type.ts
│ │ │ │ ├── ui
│ │ │ │ │ ├── challenge.ts
│ │ │ │ │ ├── events.ts
│ │ │ │ │ ├── handlers.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── subject.ts
│ │ │ │ ├── updater
│ │ │ │ │ ├── affine-update-provider.ts
│ │ │ │ │ ├── electron-updater.ts
│ │ │ │ │ ├── event.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── utils.ts
│ │ │ │ │ └── windows-updater.ts
│ │ │ │ ├── utils.ts
│ │ │ │ ├── windows-manager
│ │ │ │ │ ├── authentication.ts
│ │ │ │ │ ├── context-menu.ts
│ │ │ │ │ ├── custom-theme-window.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── launcher.ts
│ │ │ │ │ ├── main-window.ts
│ │ │ │ │ ├── onboarding.ts
│ │ │ │ │ ├── popup.ts
│ │ │ │ │ ├── stage.ts
│ │ │ │ │ ├── tab-views.ts
│ │ │ │ │ ├── types.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ └── worker
│ │ │ │ │ ├── handlers.ts
│ │ │ │ │ └── pool.ts
│ │ │ ├── preload
│ │ │ │ ├── bootstrap.ts
│ │ │ │ ├── electron-api.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── shared-storage.ts
│ │ │ │ └── worker.ts
│ │ │ └── shared
│ │ │ │ ├── type.ts
│ │ │ │ └── utils.ts
│ │ ├── test
│ │ │ ├── main
│ │ │ │ ├── __snapshots__
│ │ │ │ │ └── updater.spec.ts.snap
│ │ │ │ ├── fixtures
│ │ │ │ │ ├── candidates
│ │ │ │ │ │ ├── beta.json
│ │ │ │ │ │ ├── canary.json
│ │ │ │ │ │ └── stable.json
│ │ │ │ │ └── releases
│ │ │ │ │ │ ├── 0.16.3-beta.2
│ │ │ │ │ │ ├── latest-linux.yml
│ │ │ │ │ │ ├── latest-mac.yml
│ │ │ │ │ │ └── latest.yml
│ │ │ │ │ │ ├── 0.17.0-canary.7
│ │ │ │ │ │ ├── latest-linux.yml
│ │ │ │ │ │ ├── latest-mac.yml
│ │ │ │ │ │ └── latest.yml
│ │ │ │ │ │ └── 0.18.0
│ │ │ │ │ │ └── latest.yml
│ │ │ │ ├── mocks
│ │ │ │ │ ├── app-adapter.ts
│ │ │ │ │ ├── http-executor.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── updater.ts
│ │ │ │ └── updater.spec.ts
│ │ │ └── workspace
│ │ │ │ └── handlers.spec.ts
│ │ ├── tsconfig.json
│ │ ├── tsconfig.node.json
│ │ └── vitest.config.ts
│ ├── ios
│ │ ├── .claude
│ │ │ └── settings.local.json
│ │ ├── .gitignore
│ │ ├── AGENTS.md
│ │ ├── App
│ │ │ ├── App.xcodeproj
│ │ │ │ ├── project.pbxproj
│ │ │ │ └── xcshareddata
│ │ │ │ │ └── xcschemes
│ │ │ │ │ ├── AFFiNE.xcscheme
│ │ │ │ │ └── App.xcscheme
│ │ │ ├── App.xcworkspace
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ └── xcshareddata
│ │ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ │ └── swiftpm
│ │ │ │ │ └── Package.resolved
│ │ │ ├── App
│ │ │ │ ├── AffineViewController+AIButton.swift
│ │ │ │ ├── AffineViewController.swift
│ │ │ │ ├── AppConfigManager.swift
│ │ │ │ ├── AppDelegate.swift
│ │ │ │ ├── ApplicationBridgedWindowScript.swift
│ │ │ │ ├── Assets.xcassets
│ │ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── dark@1024.png
│ │ │ │ │ │ ├── dark@trans.png
│ │ │ │ │ │ └── light.png
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── Splash.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── affine@png-1.png
│ │ │ │ │ │ ├── affine@png-2.png
│ │ │ │ │ │ ├── affine@png-3.png
│ │ │ │ │ │ ├── dark@128.png
│ │ │ │ │ │ ├── dark@256.png
│ │ │ │ │ │ └── dark@512.png
│ │ │ │ ├── Base.lproj
│ │ │ │ │ └── Main.storyboard
│ │ │ │ ├── Info.plist
│ │ │ │ ├── InfoPlist.xcstrings
│ │ │ │ ├── JSValueContainerExt.swift
│ │ │ │ ├── Localizable.xcstrings
│ │ │ │ ├── Mutex.swift
│ │ │ │ ├── Plugins
│ │ │ │ │ ├── Auth
│ │ │ │ │ │ └── AuthPlugin.swift
│ │ │ │ │ ├── Cookie
│ │ │ │ │ │ ├── CookieManager.swift
│ │ │ │ │ │ ├── CookiePlugin.swift
│ │ │ │ │ │ └── HashcashPlugin.swift
│ │ │ │ │ ├── NBStore
│ │ │ │ │ │ └── NBStorePlugin.swift
│ │ │ │ │ ├── NavigationGesture
│ │ │ │ │ │ └── NavigationGesturePlugin.swift
│ │ │ │ │ └── PayWall
│ │ │ │ │ │ └── PayWallPlugin.swift
│ │ │ │ ├── Products.storekit
│ │ │ │ ├── RootViewController.swift
│ │ │ │ ├── SafeWKURLSchemeTask.swift
│ │ │ │ ├── Tools.swift
│ │ │ │ └── uniffi
│ │ │ │ │ ├── affine_mobile_native.swift
│ │ │ │ │ ├── affine_mobile_nativeFFI.h
│ │ │ │ │ └── affine_mobile_nativeFFI.modulemap
│ │ │ ├── Gemfile
│ │ │ ├── IOSApp-Bridging-Header.h
│ │ │ ├── Packages
│ │ │ │ ├── AffineGraphQL
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── Package.swift
│ │ │ │ │ └── Sources
│ │ │ │ │ │ ├── Fragments
│ │ │ │ │ │ ├── CopilotChatHistory.graphql.swift
│ │ │ │ │ │ ├── CopilotChatMessage.graphql.swift
│ │ │ │ │ │ ├── CredentialsRequirements.graphql.swift
│ │ │ │ │ │ ├── LicenseBody.graphql.swift
│ │ │ │ │ │ ├── PaginatedCopilotChats.graphql.swift
│ │ │ │ │ │ └── PasswordLimits.graphql.swift
│ │ │ │ │ │ ├── Operations
│ │ │ │ │ │ ├── Mutations
│ │ │ │ │ │ │ ├── AcceptInviteByInviteIdMutation.graphql.swift
│ │ │ │ │ │ │ ├── ActivateLicenseMutation.graphql.swift
│ │ │ │ │ │ │ ├── AddContextBlobMutation.graphql.swift
│ │ │ │ │ │ │ ├── AddContextCategoryMutation.graphql.swift
│ │ │ │ │ │ │ ├── AddContextDocMutation.graphql.swift
│ │ │ │ │ │ │ ├── AddContextFileMutation.graphql.swift
│ │ │ │ │ │ │ ├── AddWorkspaceEmbeddingFilesMutation.graphql.swift
│ │ │ │ │ │ │ ├── AddWorkspaceEmbeddingIgnoredDocsMutation.graphql.swift
│ │ │ │ │ │ │ ├── ApproveWorkspaceTeamMemberMutation.graphql.swift
│ │ │ │ │ │ │ ├── CancelSubscriptionMutation.graphql.swift
│ │ │ │ │ │ │ ├── ChangeEmailMutation.graphql.swift
│ │ │ │ │ │ │ ├── ChangePasswordMutation.graphql.swift
│ │ │ │ │ │ │ ├── ClaimAudioTranscriptionMutation.graphql.swift
│ │ │ │ │ │ │ ├── CleanupCopilotSessionMutation.graphql.swift
│ │ │ │ │ │ │ ├── CreateChangePasswordUrlMutation.graphql.swift
│ │ │ │ │ │ │ ├── CreateCheckoutSessionMutation.graphql.swift
│ │ │ │ │ │ │ ├── CreateCommentMutation.graphql.swift
│ │ │ │ │ │ │ ├── CreateCopilotContextMutation.graphql.swift
│ │ │ │ │ │ │ ├── CreateCopilotMessageMutation.graphql.swift
│ │ │ │ │ │ │ ├── CreateCopilotSessionMutation.graphql.swift
│ │ │ │ │ │ │ ├── CreateCustomerPortalMutation.graphql.swift
│ │ │ │ │ │ │ ├── CreateInviteLinkMutation.graphql.swift
│ │ │ │ │ │ │ ├── CreateReplyMutation.graphql.swift
│ │ │ │ │ │ │ ├── CreateSelfhostCustomerPortalMutation.graphql.swift
│ │ │ │ │ │ │ ├── CreateUserMutation.graphql.swift
│ │ │ │ │ │ │ ├── CreateWorkspaceMutation.graphql.swift
│ │ │ │ │ │ │ ├── DeactivateLicenseMutation.graphql.swift
│ │ │ │ │ │ │ ├── DeleteAccountMutation.graphql.swift
│ │ │ │ │ │ │ ├── DeleteBlobMutation.graphql.swift
│ │ │ │ │ │ │ ├── DeleteCommentMutation.graphql.swift
│ │ │ │ │ │ │ ├── DeleteReplyMutation.graphql.swift
│ │ │ │ │ │ │ ├── DeleteUserMutation.graphql.swift
│ │ │ │ │ │ │ ├── DeleteWorkspaceMutation.graphql.swift
│ │ │ │ │ │ │ ├── DisableUserMutation.graphql.swift
│ │ │ │ │ │ │ ├── EnableUserMutation.graphql.swift
│ │ │ │ │ │ │ ├── ForkCopilotSessionMutation.graphql.swift
│ │ │ │ │ │ │ ├── GenerateLicenseKeyMutation.graphql.swift
│ │ │ │ │ │ │ ├── GenerateUserAccessTokenMutation.graphql.swift
│ │ │ │ │ │ │ ├── GrantDocUserRolesMutation.graphql.swift
│ │ │ │ │ │ │ ├── GrantWorkspaceTeamMemberMutation.graphql.swift
│ │ │ │ │ │ │ ├── ImportUsersMutation.graphql.swift
│ │ │ │ │ │ │ ├── InstallLicenseMutation.graphql.swift
│ │ │ │ │ │ │ ├── InviteByEmailsMutation.graphql.swift
│ │ │ │ │ │ │ ├── LeaveWorkspaceMutation.graphql.swift
│ │ │ │ │ │ │ ├── MentionUserMutation.graphql.swift
│ │ │ │ │ │ │ ├── PublishPageMutation.graphql.swift
│ │ │ │ │ │ │ ├── QueueWorkspaceEmbeddingMutation.graphql.swift
│ │ │ │ │ │ │ ├── ReadAllNotificationsMutation.graphql.swift
│ │ │ │ │ │ │ ├── ReadNotificationMutation.graphql.swift
│ │ │ │ │ │ │ ├── RecoverDocMutation.graphql.swift
│ │ │ │ │ │ │ ├── RefreshSubscriptionMutation.graphql.swift
│ │ │ │ │ │ │ ├── ReleaseDeletedBlobsMutation.graphql.swift
│ │ │ │ │ │ │ ├── RemoveAvatarMutation.graphql.swift
│ │ │ │ │ │ │ ├── RemoveContextBlobMutation.graphql.swift
│ │ │ │ │ │ │ ├── RemoveContextCategoryMutation.graphql.swift
│ │ │ │ │ │ │ ├── RemoveContextDocMutation.graphql.swift
│ │ │ │ │ │ │ ├── RemoveContextFileMutation.graphql.swift
│ │ │ │ │ │ │ ├── RemoveWorkspaceEmbeddingFilesMutation.graphql.swift
│ │ │ │ │ │ │ ├── RemoveWorkspaceEmbeddingIgnoredDocsMutation.graphql.swift
│ │ │ │ │ │ │ ├── RequestApplySubscriptionMutation.graphql.swift
│ │ │ │ │ │ │ ├── ResolveCommentMutation.graphql.swift
│ │ │ │ │ │ │ ├── ResumeSubscriptionMutation.graphql.swift
│ │ │ │ │ │ │ ├── RetryAudioTranscriptionMutation.graphql.swift
│ │ │ │ │ │ │ ├── RevokeDocUserRolesMutation.graphql.swift
│ │ │ │ │ │ │ ├── RevokeInviteLinkMutation.graphql.swift
│ │ │ │ │ │ │ ├── RevokeMemberPermissionMutation.graphql.swift
│ │ │ │ │ │ │ ├── RevokePublicPageMutation.graphql.swift
│ │ │ │ │ │ │ ├── RevokeUserAccessTokenMutation.graphql.swift
│ │ │ │ │ │ │ ├── SendChangeEmailMutation.graphql.swift
│ │ │ │ │ │ │ ├── SendChangePasswordEmailMutation.graphql.swift
│ │ │ │ │ │ │ ├── SendSetPasswordEmailMutation.graphql.swift
│ │ │ │ │ │ │ ├── SendTestEmailMutation.graphql.swift
│ │ │ │ │ │ │ ├── SendVerifyChangeEmailMutation.graphql.swift
│ │ │ │ │ │ │ ├── SendVerifyEmailMutation.graphql.swift
│ │ │ │ │ │ │ ├── SetBlobMutation.graphql.swift
│ │ │ │ │ │ │ ├── SetEnableAiMutation.graphql.swift
│ │ │ │ │ │ │ ├── SetEnableDocEmbeddingMutation.graphql.swift
│ │ │ │ │ │ │ ├── SetEnableUrlPreviewMutation.graphql.swift
│ │ │ │ │ │ │ ├── SetWorkspacePublicByIdMutation.graphql.swift
│ │ │ │ │ │ │ ├── SubmitAudioTranscriptionMutation.graphql.swift
│ │ │ │ │ │ │ ├── UpdateAccountFeaturesMutation.graphql.swift
│ │ │ │ │ │ │ ├── UpdateAccountMutation.graphql.swift
│ │ │ │ │ │ │ ├── UpdateAppConfigMutation.graphql.swift
│ │ │ │ │ │ │ ├── UpdateCommentMutation.graphql.swift
│ │ │ │ │ │ │ ├── UpdateCopilotSessionMutation.graphql.swift
│ │ │ │ │ │ │ ├── UpdateDocDefaultRoleMutation.graphql.swift
│ │ │ │ │ │ │ ├── UpdateDocUserRoleMutation.graphql.swift
│ │ │ │ │ │ │ ├── UpdatePromptMutation.graphql.swift
│ │ │ │ │ │ │ ├── UpdateReplyMutation.graphql.swift
│ │ │ │ │ │ │ ├── UpdateSubscriptionMutation.graphql.swift
│ │ │ │ │ │ │ ├── UpdateUserProfileMutation.graphql.swift
│ │ │ │ │ │ │ ├── UpdateUserSettingsMutation.graphql.swift
│ │ │ │ │ │ │ ├── UploadAvatarMutation.graphql.swift
│ │ │ │ │ │ │ ├── UploadCommentAttachmentMutation.graphql.swift
│ │ │ │ │ │ │ ├── ValidateConfigMutation.graphql.swift
│ │ │ │ │ │ │ └── VerifyEmailMutation.graphql.swift
│ │ │ │ │ │ └── Queries
│ │ │ │ │ │ │ ├── AdminServerConfigQuery.graphql.swift
│ │ │ │ │ │ │ ├── AppConfigQuery.graphql.swift
│ │ │ │ │ │ │ ├── ApplyDocUpdatesQuery.graphql.swift
│ │ │ │ │ │ │ ├── CopilotQuotaQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetAllWorkspaceEmbeddingIgnoredDocsQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetAudioTranscriptionQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetCopilotDocSessionsQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetCopilotHistoriesQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetCopilotHistoryIdsQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetCopilotLatestDocSessionQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetCopilotPinnedSessionsQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetCopilotRecentSessionsQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetCopilotSessionQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetCopilotSessionsQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetCopilotWorkspaceSessionsQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetCurrentUserFeaturesQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetCurrentUserQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetDocCreatedByUpdatedByListQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetDocDefaultRoleQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetDocRolePermissionsQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetDocSummaryQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetInviteInfoQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetInvoicesCountQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetLicenseQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetMemberCountByWorkspaceIdQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetMembersByWorkspaceIdQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetPageGrantedUsersListQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetPromptModelsQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetPromptsQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetPublicUserByIdQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetRecentlyUpdatedDocsQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetUserByEmailQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetUserFeaturesQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetUserQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetUserSettingsQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetWorkspaceConfigQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetWorkspaceEmbeddingFilesQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetWorkspaceEmbeddingIgnoredDocsQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetWorkspaceEmbeddingStatusQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetWorkspaceInfoQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetWorkspacePageByIdQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetWorkspacePageMetaByIdQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetWorkspacePublicByIdQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetWorkspacePublicPagesQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetWorkspaceQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetWorkspaceRolePermissionsQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetWorkspaceSubscriptionQuery.graphql.swift
│ │ │ │ │ │ │ ├── GetWorkspacesQuery.graphql.swift
│ │ │ │ │ │ │ ├── IndexerAggregateQuery.graphql.swift
│ │ │ │ │ │ │ ├── IndexerSearchDocsQuery.graphql.swift
│ │ │ │ │ │ │ ├── IndexerSearchQuery.graphql.swift
│ │ │ │ │ │ │ ├── InvoicesQuery.graphql.swift
│ │ │ │ │ │ │ ├── ListBlobsQuery.graphql.swift
│ │ │ │ │ │ │ ├── ListCommentChangesQuery.graphql.swift
│ │ │ │ │ │ │ ├── ListCommentsQuery.graphql.swift
│ │ │ │ │ │ │ ├── ListContextObjectQuery.graphql.swift
│ │ │ │ │ │ │ ├── ListContextQuery.graphql.swift
│ │ │ │ │ │ │ ├── ListHistoryQuery.graphql.swift
│ │ │ │ │ │ │ ├── ListNotificationsQuery.graphql.swift
│ │ │ │ │ │ │ ├── ListUserAccessTokensQuery.graphql.swift
│ │ │ │ │ │ │ ├── ListUsersQuery.graphql.swift
│ │ │ │ │ │ │ ├── MatchContextQuery.graphql.swift
│ │ │ │ │ │ │ ├── MatchFilesQuery.graphql.swift
│ │ │ │ │ │ │ ├── MatchWorkspaceDocsQuery.graphql.swift
│ │ │ │ │ │ │ ├── NotificationCountQuery.graphql.swift
│ │ │ │ │ │ │ ├── OauthProvidersQuery.graphql.swift
│ │ │ │ │ │ │ ├── PricesQuery.graphql.swift
│ │ │ │ │ │ │ ├── QuotaQuery.graphql.swift
│ │ │ │ │ │ │ ├── ServerConfigQuery.graphql.swift
│ │ │ │ │ │ │ ├── SubscriptionQuery.graphql.swift
│ │ │ │ │ │ │ ├── WorkspaceBlobQuotaQuery.graphql.swift
│ │ │ │ │ │ │ ├── WorkspaceInvoicesQuery.graphql.swift
│ │ │ │ │ │ │ └── WorkspaceQuotaQuery.graphql.swift
│ │ │ │ │ │ └── Schema
│ │ │ │ │ │ ├── CustomScalars
│ │ │ │ │ │ ├── DateTime.swift
│ │ │ │ │ │ ├── ID.swift
│ │ │ │ │ │ ├── JSON.swift
│ │ │ │ │ │ ├── JSONObject.swift
│ │ │ │ │ │ ├── SafeInt.swift
│ │ │ │ │ │ └── Upload.swift
│ │ │ │ │ │ ├── Enums
│ │ │ │ │ │ ├── AiJobStatus.graphql.swift
│ │ │ │ │ │ ├── ChatHistoryOrder.graphql.swift
│ │ │ │ │ │ ├── CommentChangeAction.graphql.swift
│ │ │ │ │ │ ├── ContextCategories.graphql.swift
│ │ │ │ │ │ ├── ContextEmbedStatus.graphql.swift
│ │ │ │ │ │ ├── CopilotPromptMessageRole.graphql.swift
│ │ │ │ │ │ ├── DocMode.graphql.swift
│ │ │ │ │ │ ├── DocRole.graphql.swift
│ │ │ │ │ │ ├── FeatureType.graphql.swift
│ │ │ │ │ │ ├── InvoiceStatus.graphql.swift
│ │ │ │ │ │ ├── NotificationLevel.graphql.swift
│ │ │ │ │ │ ├── NotificationType.graphql.swift
│ │ │ │ │ │ ├── OAuthProviderType.graphql.swift
│ │ │ │ │ │ ├── Permission.graphql.swift
│ │ │ │ │ │ ├── PublicDocMode.graphql.swift
│ │ │ │ │ │ ├── SearchQueryOccur.graphql.swift
│ │ │ │ │ │ ├── SearchQueryType.graphql.swift
│ │ │ │ │ │ ├── SearchTable.graphql.swift
│ │ │ │ │ │ ├── ServerDeploymentType.graphql.swift
│ │ │ │ │ │ ├── ServerFeature.graphql.swift
│ │ │ │ │ │ ├── SubscriptionPlan.graphql.swift
│ │ │ │ │ │ ├── SubscriptionRecurring.graphql.swift
│ │ │ │ │ │ ├── SubscriptionStatus.graphql.swift
│ │ │ │ │ │ ├── SubscriptionVariant.graphql.swift
│ │ │ │ │ │ ├── WorkspaceInviteLinkExpireTime.graphql.swift
│ │ │ │ │ │ └── WorkspaceMemberStatus.graphql.swift
│ │ │ │ │ │ ├── InputObjects
│ │ │ │ │ │ ├── AddContextBlobInput.graphql.swift
│ │ │ │ │ │ ├── AddContextCategoryInput.graphql.swift
│ │ │ │ │ │ ├── AddContextDocInput.graphql.swift
│ │ │ │ │ │ ├── AddContextFileInput.graphql.swift
│ │ │ │ │ │ ├── AggregateHitsOptions.graphql.swift
│ │ │ │ │ │ ├── AggregateHitsPagination.graphql.swift
│ │ │ │ │ │ ├── AggregateInput.graphql.swift
│ │ │ │ │ │ ├── AggregateOptions.graphql.swift
│ │ │ │ │ │ ├── CommentCreateInput.graphql.swift
│ │ │ │ │ │ ├── CommentResolveInput.graphql.swift
│ │ │ │ │ │ ├── CommentUpdateInput.graphql.swift
│ │ │ │ │ │ ├── CopilotPromptMessageInput.graphql.swift
│ │ │ │ │ │ ├── CreateChatMessageInput.graphql.swift
│ │ │ │ │ │ ├── CreateChatSessionInput.graphql.swift
│ │ │ │ │ │ ├── CreateCheckoutSessionInput.graphql.swift
│ │ │ │ │ │ ├── CreateUserInput.graphql.swift
│ │ │ │ │ │ ├── DeleteSessionInput.graphql.swift
│ │ │ │ │ │ ├── ForkChatSessionInput.graphql.swift
│ │ │ │ │ │ ├── GenerateAccessTokenInput.graphql.swift
│ │ │ │ │ │ ├── GrantDocUserRolesInput.graphql.swift
│ │ │ │ │ │ ├── ImportUsersInput.graphql.swift
│ │ │ │ │ │ ├── ListUserInput.graphql.swift
│ │ │ │ │ │ ├── ManageUserInput.graphql.swift
│ │ │ │ │ │ ├── MentionDocInput.graphql.swift
│ │ │ │ │ │ ├── MentionInput.graphql.swift
│ │ │ │ │ │ ├── PaginationInput.graphql.swift
│ │ │ │ │ │ ├── QueryChatHistoriesInput.graphql.swift
│ │ │ │ │ │ ├── RemoveContextBlobInput.graphql.swift
│ │ │ │ │ │ ├── RemoveContextCategoryInput.graphql.swift
│ │ │ │ │ │ ├── RemoveContextDocInput.graphql.swift
│ │ │ │ │ │ ├── RemoveContextFileInput.graphql.swift
│ │ │ │ │ │ ├── ReplyCreateInput.graphql.swift
│ │ │ │ │ │ ├── ReplyUpdateInput.graphql.swift
│ │ │ │ │ │ ├── RevokeDocUserRoleInput.graphql.swift
│ │ │ │ │ │ ├── SearchDocsInput.graphql.swift
│ │ │ │ │ │ ├── SearchHighlight.graphql.swift
│ │ │ │ │ │ ├── SearchInput.graphql.swift
│ │ │ │ │ │ ├── SearchOptions.graphql.swift
│ │ │ │ │ │ ├── SearchPagination.graphql.swift
│ │ │ │ │ │ ├── SearchQuery.graphql.swift
│ │ │ │ │ │ ├── UpdateAppConfigInput.graphql.swift
│ │ │ │ │ │ ├── UpdateChatSessionInput.graphql.swift
│ │ │ │ │ │ ├── UpdateDocDefaultRoleInput.graphql.swift
│ │ │ │ │ │ ├── UpdateDocUserRoleInput.graphql.swift
│ │ │ │ │ │ ├── UpdateUserInput.graphql.swift
│ │ │ │ │ │ └── UpdateUserSettingsInput.graphql.swift
│ │ │ │ │ │ ├── Objects
│ │ │ │ │ │ ├── AggregateBucketHitsObjectType.graphql.swift
│ │ │ │ │ │ ├── AggregateBucketObjectType.graphql.swift
│ │ │ │ │ │ ├── AggregateResultObjectType.graphql.swift
│ │ │ │ │ │ ├── AppConfigValidateResult.graphql.swift
│ │ │ │ │ │ ├── ChatMessage.graphql.swift
│ │ │ │ │ │ ├── CommentChangeObjectType.graphql.swift
│ │ │ │ │ │ ├── CommentChangeObjectTypeEdge.graphql.swift
│ │ │ │ │ │ ├── CommentObjectType.graphql.swift
│ │ │ │ │ │ ├── CommentObjectTypeEdge.graphql.swift
│ │ │ │ │ │ ├── ContextMatchedDocChunk.graphql.swift
│ │ │ │ │ │ ├── ContextMatchedFileChunk.graphql.swift
│ │ │ │ │ │ ├── ContextWorkspaceEmbeddingStatus.graphql.swift
│ │ │ │ │ │ ├── Copilot.graphql.swift
│ │ │ │ │ │ ├── CopilotContext.graphql.swift
│ │ │ │ │ │ ├── CopilotContextBlob.graphql.swift
│ │ │ │ │ │ ├── CopilotContextCategory.graphql.swift
│ │ │ │ │ │ ├── CopilotContextDoc.graphql.swift
│ │ │ │ │ │ ├── CopilotContextFile.graphql.swift
│ │ │ │ │ │ ├── CopilotHistories.graphql.swift
│ │ │ │ │ │ ├── CopilotHistoriesTypeEdge.graphql.swift
│ │ │ │ │ │ ├── CopilotModelType.graphql.swift
│ │ │ │ │ │ ├── CopilotModelsType.graphql.swift
│ │ │ │ │ │ ├── CopilotPromptConfigType.graphql.swift
│ │ │ │ │ │ ├── CopilotPromptMessageType.graphql.swift
│ │ │ │ │ │ ├── CopilotPromptType.graphql.swift
│ │ │ │ │ │ ├── CopilotQuota.graphql.swift
│ │ │ │ │ │ ├── CopilotWorkspaceConfig.graphql.swift
│ │ │ │ │ │ ├── CopilotWorkspaceFile.graphql.swift
│ │ │ │ │ │ ├── CopilotWorkspaceFileTypeEdge.graphql.swift
│ │ │ │ │ │ ├── CopilotWorkspaceIgnoredDoc.graphql.swift
│ │ │ │ │ │ ├── CopilotWorkspaceIgnoredDocTypeEdge.graphql.swift
│ │ │ │ │ │ ├── CredentialsRequirementType.graphql.swift
│ │ │ │ │ │ ├── DeleteAccount.graphql.swift
│ │ │ │ │ │ ├── DocHistoryType.graphql.swift
│ │ │ │ │ │ ├── DocPermissions.graphql.swift
│ │ │ │ │ │ ├── DocType.graphql.swift
│ │ │ │ │ │ ├── DocTypeEdge.graphql.swift
│ │ │ │ │ │ ├── EditorType.graphql.swift
│ │ │ │ │ │ ├── GrantedDocUserType.graphql.swift
│ │ │ │ │ │ ├── GrantedDocUserTypeEdge.graphql.swift
│ │ │ │ │ │ ├── InvitationType.graphql.swift
│ │ │ │ │ │ ├── InvitationWorkspaceType.graphql.swift
│ │ │ │ │ │ ├── InviteLink.graphql.swift
│ │ │ │ │ │ ├── InviteResult.graphql.swift
│ │ │ │ │ │ ├── InviteUserType.graphql.swift
│ │ │ │ │ │ ├── InvoiceType.graphql.swift
│ │ │ │ │ │ ├── License.graphql.swift
│ │ │ │ │ │ ├── LimitedUserType.graphql.swift
│ │ │ │ │ │ ├── ListedBlob.graphql.swift
│ │ │ │ │ │ ├── Mutation.graphql.swift
│ │ │ │ │ │ ├── NotificationObjectType.graphql.swift
│ │ │ │ │ │ ├── NotificationObjectTypeEdge.graphql.swift
│ │ │ │ │ │ ├── PageInfo.graphql.swift
│ │ │ │ │ │ ├── PaginatedCommentChangeObjectType.graphql.swift
│ │ │ │ │ │ ├── PaginatedCommentObjectType.graphql.swift
│ │ │ │ │ │ ├── PaginatedCopilotHistoriesType.graphql.swift
│ │ │ │ │ │ ├── PaginatedCopilotWorkspaceFileType.graphql.swift
│ │ │ │ │ │ ├── PaginatedDocType.graphql.swift
│ │ │ │ │ │ ├── PaginatedGrantedDocUserType.graphql.swift
│ │ │ │ │ │ ├── PaginatedIgnoredDocsType.graphql.swift
│ │ │ │ │ │ ├── PaginatedNotificationObjectType.graphql.swift
│ │ │ │ │ │ ├── PasswordLimitsType.graphql.swift
│ │ │ │ │ │ ├── PublicUserType.graphql.swift
│ │ │ │ │ │ ├── Query.graphql.swift
│ │ │ │ │ │ ├── ReleaseVersionType.graphql.swift
│ │ │ │ │ │ ├── RemoveAvatar.graphql.swift
│ │ │ │ │ │ ├── ReplyObjectType.graphql.swift
│ │ │ │ │ │ ├── RevealedAccessToken.graphql.swift
│ │ │ │ │ │ ├── SearchDocObjectType.graphql.swift
│ │ │ │ │ │ ├── SearchNodeObjectType.graphql.swift
│ │ │ │ │ │ ├── SearchResultObjectType.graphql.swift
│ │ │ │ │ │ ├── SearchResultPagination.graphql.swift
│ │ │ │ │ │ ├── ServerConfigType.graphql.swift
│ │ │ │ │ │ ├── StreamObject.graphql.swift
│ │ │ │ │ │ ├── SubscriptionPrice.graphql.swift
│ │ │ │ │ │ ├── SubscriptionType.graphql.swift
│ │ │ │ │ │ ├── TokenType.graphql.swift
│ │ │ │ │ │ ├── TranscriptionItemType.graphql.swift
│ │ │ │ │ │ ├── TranscriptionResultType.graphql.swift
│ │ │ │ │ │ ├── UserImportFailedType.graphql.swift
│ │ │ │ │ │ ├── UserQuotaHumanReadableType.graphql.swift
│ │ │ │ │ │ ├── UserQuotaType.graphql.swift
│ │ │ │ │ │ ├── UserQuotaUsageType.graphql.swift
│ │ │ │ │ │ ├── UserSettingsType.graphql.swift
│ │ │ │ │ │ ├── UserType.graphql.swift
│ │ │ │ │ │ ├── WorkspaceDocMeta.graphql.swift
│ │ │ │ │ │ ├── WorkspacePermissions.graphql.swift
│ │ │ │ │ │ ├── WorkspaceQuotaHumanReadableType.graphql.swift
│ │ │ │ │ │ ├── WorkspaceQuotaType.graphql.swift
│ │ │ │ │ │ ├── WorkspaceRolePermissions.graphql.swift
│ │ │ │ │ │ ├── WorkspaceType.graphql.swift
│ │ │ │ │ │ └── WorkspaceUserType.graphql.swift
│ │ │ │ │ │ ├── SchemaConfiguration.swift
│ │ │ │ │ │ ├── SchemaMetadata.graphql.swift
│ │ │ │ │ │ └── Unions
│ │ │ │ │ │ ├── UserImportResultType.graphql.swift
│ │ │ │ │ │ └── UserOrLimitedUser.graphql.swift
│ │ │ │ ├── AffinePaywall
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── Package.swift
│ │ │ │ │ └── Sources
│ │ │ │ │ │ └── AffinePaywall
│ │ │ │ │ │ ├── Components
│ │ │ │ │ │ ├── AI
│ │ │ │ │ │ │ ├── IntelligentFeatureView.swift
│ │ │ │ │ │ │ ├── OffsetObservingScrollView.swift
│ │ │ │ │ │ │ ├── PositionObservingView.swift
│ │ │ │ │ │ │ ├── SKUnitIntelligentDetailView+Feature.swift
│ │ │ │ │ │ │ └── SKUnitIntelligentDetailView.swift
│ │ │ │ │ │ ├── Components
│ │ │ │ │ │ │ ├── CategorySelectionView.swift
│ │ │ │ │ │ │ ├── HeadlineView.swift
│ │ │ │ │ │ │ ├── PackageOptionView.swift
│ │ │ │ │ │ │ ├── PageDotsView.swift
│ │ │ │ │ │ │ ├── PurchaseFooterView.swift
│ │ │ │ │ │ │ └── TheGiveMeMoneyButtonView.swift
│ │ │ │ │ │ └── Pro
│ │ │ │ │ │ │ ├── ProFeatureRowView.swift
│ │ │ │ │ │ │ └── SKUnitProDetailView.swift
│ │ │ │ │ │ ├── Model
│ │ │ │ │ │ ├── Feature.swift
│ │ │ │ │ │ ├── PricingConfiguration.swift
│ │ │ │ │ │ ├── SKUnit+AI.swift
│ │ │ │ │ │ ├── SKUnit+Pro.swift
│ │ │ │ │ │ ├── SKUnit.swift
│ │ │ │ │ │ ├── SKUnitCategory.swift
│ │ │ │ │ │ ├── SKUnitPackageOption.swift
│ │ │ │ │ │ ├── SKUnitSubcategorizable.swift
│ │ │ │ │ │ ├── SKUnitSubcategoryProPlan.swift
│ │ │ │ │ │ ├── Store.swift
│ │ │ │ │ │ ├── ViewModel+Action.swift
│ │ │ │ │ │ ├── ViewModel+Preview.swift
│ │ │ │ │ │ └── ViewModel.swift
│ │ │ │ │ │ ├── Page
│ │ │ │ │ │ └── AffinePaywallPageView.swift
│ │ │ │ │ │ ├── Paywall.swift
│ │ │ │ │ │ └── Resources
│ │ │ │ │ │ └── Media.xcassets
│ │ │ │ │ │ ├── AI_CHECK.imageset
│ │ │ │ │ │ ├── AI_CHECK.svg
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── AI_PEN.imageset
│ │ │ │ │ │ ├── AI_PEN.svg
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── AI_PREVIEW_DRAW.imageset
│ │ │ │ │ │ ├── AI_PREVIEW_B 1.png
│ │ │ │ │ │ ├── AI_PREVIEW_B.png
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── AI_PREVIEW_PLAN.imageset
│ │ │ │ │ │ ├── AI_PREVIEW_C 1.png
│ │ │ │ │ │ ├── AI_PREVIEW_C.png
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── AI_PREVIEW_WRITE.imageset
│ │ │ │ │ │ ├── AI_PREVIEW_A 1.png
│ │ │ │ │ │ ├── AI_PREVIEW_A.png
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── AI_TEXT.imageset
│ │ │ │ │ │ ├── AI_TEXT.svg
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── BELIVER_ICON.imageset
│ │ │ │ │ │ ├── BELIVER_ICON.png
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── Image.png
│ │ │ │ │ │ └── Contents.json
│ │ │ │ ├── AffineResources
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── Package.swift
│ │ │ │ │ └── Sources
│ │ │ │ │ │ └── AffineResources
│ │ │ │ │ │ ├── AffineResources.swift
│ │ │ │ │ │ └── Resources
│ │ │ │ │ │ ├── Colors.xcassets
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── affine.button.primary.colorset
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── affine.icon.activated.colorset
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── affine.icon.primary.colorset
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── affine.layer.background.primary.colorset
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── affine.layer.background.secondary.colorset
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── affine.layer.border.colorset
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── affine.layer.pureWhite.colorset
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── affine.text.emphasis.colorset
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── affine.text.link.colorset
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── affine.text.listDotAndNumber.colorset
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── affine.text.placeholder.colorset
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── affine.text.primary.colorset
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── affine.text.pureWhite.colorset
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── affine.text.secondary.colorset
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ └── affine.text.tertiary.colorset
│ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ └── Icons.xcassets
│ │ │ │ │ │ ├── ArrowDown.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── More Options Icon.pdf
│ │ │ │ │ │ ├── ArrowUpBig.imageset
│ │ │ │ │ │ ├── ArrowUpBig.pdf
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── Box.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── Left icon-5.pdf
│ │ │ │ │ │ ├── Broom.imageset
│ │ │ │ │ │ ├── Broom.pdf
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── Bubble.imageset
│ │ │ │ │ │ ├── Bubble.pdf
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── Calendar.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── Left icon-1.pdf
│ │ │ │ │ │ ├── Camera.imageset
│ │ │ │ │ │ ├── Camera.pdf
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── CheckCircle.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── Left icon.pdf
│ │ │ │ │ │ ├── Close.imageset
│ │ │ │ │ │ ├── Close.pdf
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── Image.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── Image.pdf
│ │ │ │ │ │ ├── More.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── More Options Icon-1.pdf
│ │ │ │ │ │ ├── Page.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── Page.pdf
│ │ │ │ │ │ ├── Plus.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── Plus.pdf
│ │ │ │ │ │ ├── Settings.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── Settings.pdf
│ │ │ │ │ │ ├── Think.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── icon-2.pdf
│ │ │ │ │ │ ├── Tools.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── icon.pdf
│ │ │ │ │ │ ├── Upload.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── Upload.pdf
│ │ │ │ │ │ └── Web.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── icon-1.pdf
│ │ │ │ └── Intelligents
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── Package.swift
│ │ │ │ │ └── Sources
│ │ │ │ │ └── Intelligents
│ │ │ │ │ ├── ChatManager
│ │ │ │ │ ├── ChatError.swift
│ │ │ │ │ ├── ChatManager+CURD.swift
│ │ │ │ │ ├── ChatManager+Closable.swift
│ │ │ │ │ ├── ChatManager+Stream.swift
│ │ │ │ │ ├── ChatManager.swift
│ │ │ │ │ ├── ChatSessionObject.swift
│ │ │ │ │ └── PromptName.swift
│ │ │ │ │ ├── Extension
│ │ │ │ │ ├── BridgedWindowScript.swift
│ │ │ │ │ ├── Color+Affine.swift
│ │ │ │ │ ├── DateTime.swift
│ │ │ │ │ ├── Image+Affine.swift
│ │ │ │ │ ├── Then.swift
│ │ │ │ │ ├── UIColor+Affine.swift
│ │ │ │ │ ├── UIColor.swift
│ │ │ │ │ ├── UIImage+Affine.swift
│ │ │ │ │ └── ViewPreview.swift
│ │ │ │ │ ├── IntelligentContext
│ │ │ │ │ ├── IntelligentContext+CreateSession.swift
│ │ │ │ │ ├── IntelligentContext+GraphQL.swift
│ │ │ │ │ ├── IntelligentContext+Markdown.swift
│ │ │ │ │ ├── IntelligentContext+WebView.swift
│ │ │ │ │ ├── IntelligentContext.swift
│ │ │ │ │ ├── QLService+URLSessionCookieClient.swift
│ │ │ │ │ └── QLService.swift
│ │ │ │ │ ├── Intelligents.swift
│ │ │ │ │ ├── Interface
│ │ │ │ │ ├── Controller
│ │ │ │ │ │ ├── AttachmentManagementController
│ │ │ │ │ │ │ ├── AttachmentIcon.xcassets
│ │ │ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ │ │ ├── FileAttachment.imageset
│ │ │ │ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ │ │ │ └── Page.pdf
│ │ │ │ │ │ │ │ ├── FileAttachment_json.imageset
│ │ │ │ │ │ │ │ │ ├── AiFileClip attachment icon.pdf
│ │ │ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ │ │ ├── FileAttachment_md.imageset
│ │ │ │ │ │ │ │ │ ├── AiFileClip attachment icon.pdf
│ │ │ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ │ │ ├── FileAttachment_pdf.imageset
│ │ │ │ │ │ │ │ │ ├── AiFileClip attachment icon.pdf
│ │ │ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ │ │ └── FileAttachment_txt.imageset
│ │ │ │ │ │ │ │ │ ├── AiFileClip attachment icon.pdf
│ │ │ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ │ ├── AttachmentManagementController.swift
│ │ │ │ │ │ │ └── AttachmentManagementControllerDelegate.swift
│ │ │ │ │ │ ├── IntelligentsController
│ │ │ │ │ │ │ ├── BlurTransition.swift
│ │ │ │ │ │ │ └── IntelligentsController.swift
│ │ │ │ │ │ └── MainViewController
│ │ │ │ │ │ │ ├── MainViewController+Header.swift
│ │ │ │ │ │ │ ├── MainViewController+Input.swift
│ │ │ │ │ │ │ └── MainViewController.swift
│ │ │ │ │ ├── Effect
│ │ │ │ │ │ ├── ParticleView+Removal.swift
│ │ │ │ │ │ ├── ParticleView+Renderer.swift
│ │ │ │ │ │ ├── ParticleView.swift
│ │ │ │ │ │ └── UIView+createViewSnapshot.swift
│ │ │ │ │ ├── Supplement
│ │ │ │ │ │ ├── AccentColor.swift
│ │ │ │ │ │ └── Animation.swift
│ │ │ │ │ └── View
│ │ │ │ │ │ ├── ChatCell
│ │ │ │ │ │ ├── AssistantMessageCell.swift
│ │ │ │ │ │ ├── ChatBaseCell.swift
│ │ │ │ │ │ ├── ErrorCell.swift
│ │ │ │ │ │ ├── LoadingCell.swift
│ │ │ │ │ │ ├── SystemMessageCell.swift
│ │ │ │ │ │ ├── UserHintCell.swift
│ │ │ │ │ │ ├── UserMessageCell.swift
│ │ │ │ │ │ └── ViewModel
│ │ │ │ │ │ │ ├── CCVM+Assistant.swift
│ │ │ │ │ │ │ ├── CCVM+Error.swift
│ │ │ │ │ │ │ ├── CCVM+Loading.swift
│ │ │ │ │ │ │ ├── CCVM+System.swift
│ │ │ │ │ │ │ ├── CCVM+User.swift
│ │ │ │ │ │ │ ├── ChatCellType.swift
│ │ │ │ │ │ │ └── ChatCellViewModel.swift
│ │ │ │ │ │ ├── ChatList
│ │ │ │ │ │ ├── ChatItemEntity.swift
│ │ │ │ │ │ ├── ChatListView+Adapter.swift
│ │ │ │ │ │ └── ChatListView.swift
│ │ │ │ │ │ ├── DocumentPickerView
│ │ │ │ │ │ ├── DocumentItem.swift
│ │ │ │ │ │ ├── DocumentPickerView.swift
│ │ │ │ │ │ ├── DocumentPickerViewDelegate.swift
│ │ │ │ │ │ └── DocumentTableViewCell.swift
│ │ │ │ │ │ ├── FileAttachmentHeader
│ │ │ │ │ │ ├── FileAttachmentHeaderView.swift
│ │ │ │ │ │ └── FileAttachmentHeaderViewDelegate.swift
│ │ │ │ │ │ ├── ImageAttachmentBar
│ │ │ │ │ │ ├── ImageAttachmentBar.swift
│ │ │ │ │ │ ├── ImageAttachmentBarDelegate.swift
│ │ │ │ │ │ └── ImageCollectionViewCell.swift
│ │ │ │ │ │ ├── InputBox
│ │ │ │ │ │ ├── InputBox+Delegates.swift
│ │ │ │ │ │ ├── InputBox.swift
│ │ │ │ │ │ ├── InputBox.xcassets
│ │ │ │ │ │ │ └── InputBoxBackground.colorset
│ │ │ │ │ │ │ │ └── Contents.json
│ │ │ │ │ │ ├── InputBoxDelegate.swift
│ │ │ │ │ │ ├── InputBoxFunctionBar.swift
│ │ │ │ │ │ ├── InputBoxFunctionBarDelegate.swift
│ │ │ │ │ │ └── ViewModel
│ │ │ │ │ │ │ ├── DocumentAttachment.swift
│ │ │ │ │ │ │ ├── FileAttachment.swift
│ │ │ │ │ │ │ ├── ImageAttachment.swift
│ │ │ │ │ │ │ └── InputBoxViewModel.swift
│ │ │ │ │ │ ├── IntelligentsButton
│ │ │ │ │ │ ├── IntelligentsButton+Control.swift
│ │ │ │ │ │ ├── IntelligentsButton+Delegate.swift
│ │ │ │ │ │ └── IntelligentsButton.swift
│ │ │ │ │ │ ├── MainHeaderView
│ │ │ │ │ │ ├── MainHeaderView.swift
│ │ │ │ │ │ └── MainHeaderViewDelegate.swift
│ │ │ │ │ │ └── SupplementView
│ │ │ │ │ │ ├── CircleImageView.swift
│ │ │ │ │ │ ├── DarkActionButton.swift
│ │ │ │ │ │ └── DeleteButtonView.swift
│ │ │ │ │ └── Resources
│ │ │ │ │ ├── Media.xcassets
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── close.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── close.svg
│ │ │ │ │ └── spark.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── spark.svg
│ │ │ │ │ └── main.metal
│ │ │ ├── Podfile
│ │ │ ├── Podfile.lock
│ │ │ ├── fastlane
│ │ │ │ ├── Appfile
│ │ │ │ ├── Fastfile
│ │ │ │ └── README.md
│ │ │ └── xc-universal-binary.sh
│ │ ├── README.md
│ │ ├── apollo-codegen-chore.sh
│ │ ├── apollo-codegen-config.json
│ │ ├── capacitor.config.ts
│ │ ├── codegen.ts
│ │ ├── package.json
│ │ ├── setup.sh
│ │ ├── src
│ │ │ ├── app.tsx
│ │ │ ├── bs-menu-config.tsx
│ │ │ ├── index.tsx
│ │ │ ├── modal-config.tsx
│ │ │ ├── nbstore.worker.ts
│ │ │ ├── plugins
│ │ │ │ ├── auth
│ │ │ │ │ ├── definitions.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── hashcash
│ │ │ │ │ ├── definitions.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── navigation-gesture
│ │ │ │ │ ├── definitions.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── nbstore
│ │ │ │ │ ├── definitions.ts
│ │ │ │ │ └── index.ts
│ │ │ │ └── paywall
│ │ │ │ │ ├── definitions.ts
│ │ │ │ │ └── index.ts
│ │ │ ├── proxy.ts
│ │ │ ├── setup-worker.ts
│ │ │ ├── setup.ts
│ │ │ └── web-navigation-control.tsx
│ │ ├── tsconfig.json
│ │ └── update_code_sign_identity.sh
│ ├── mobile
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── src
│ │ │ ├── app.tsx
│ │ │ ├── index.tsx
│ │ │ ├── nbstore.worker.ts
│ │ │ └── setup.ts
│ │ └── tsconfig.json
│ └── web
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── src
│ │ ├── app.tsx
│ │ ├── index.tsx
│ │ ├── nbstore.worker.ts
│ │ └── setup.ts
│ │ └── tsconfig.json
│ ├── component
│ ├── .storybook
│ │ ├── main.ts
│ │ ├── polyfill.ts
│ │ ├── preview.css.ts
│ │ ├── preview.html
│ │ └── preview.tsx
│ ├── package.json
│ ├── src
│ │ ├── components
│ │ │ ├── affine-banner
│ │ │ │ ├── browser-warning.tsx
│ │ │ │ ├── index.css.ts
│ │ │ │ ├── index.tsx
│ │ │ │ └── local-demo-tips.tsx
│ │ │ ├── affine-other-page-layout
│ │ │ │ ├── assets
│ │ │ │ │ ├── dot-bg.dark.png
│ │ │ │ │ ├── dot-bg.light.png
│ │ │ │ │ ├── other-page.dark.png
│ │ │ │ │ └── other-page.light.png
│ │ │ │ ├── desktop-navbar.tsx
│ │ │ │ ├── index.css.ts
│ │ │ │ ├── index.tsx
│ │ │ │ ├── layout.tsx
│ │ │ │ ├── mobile-navbar.tsx
│ │ │ │ └── use-nav-config.ts
│ │ │ ├── auth-components
│ │ │ │ ├── auth-container.tsx
│ │ │ │ ├── auth-content.tsx
│ │ │ │ ├── auth-footer.tsx
│ │ │ │ ├── auth-header.tsx
│ │ │ │ ├── auth-input.tsx
│ │ │ │ ├── auth-page-container.tsx
│ │ │ │ ├── back-button.tsx
│ │ │ │ ├── change-email-page.tsx
│ │ │ │ ├── change-password-page.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── logo.tsx
│ │ │ │ ├── onboarding-page.css.ts
│ │ │ │ ├── onboarding-page.tsx
│ │ │ │ ├── password-input
│ │ │ │ │ ├── error.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── style.css.ts
│ │ │ │ │ ├── success.tsx
│ │ │ │ │ └── tag.tsx
│ │ │ │ ├── set-password-page.tsx
│ │ │ │ ├── set-password.tsx
│ │ │ │ ├── share.css.ts
│ │ │ │ ├── sign-in-page-container.tsx
│ │ │ │ ├── sign-in-success-page.tsx
│ │ │ │ ├── sign-up-page.tsx
│ │ │ │ ├── type.ts
│ │ │ │ └── utils.ts
│ │ │ ├── card
│ │ │ │ └── block-card
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ ├── global-loading
│ │ │ │ ├── index.jotai.ts
│ │ │ │ └── index.tsx
│ │ │ ├── import-page
│ │ │ │ ├── index.css.ts
│ │ │ │ └── index.tsx
│ │ │ ├── internal-lottie
│ │ │ │ └── index.tsx
│ │ │ ├── member-components
│ │ │ │ ├── accept-invite-page.tsx
│ │ │ │ ├── expired.tsx
│ │ │ │ ├── failed-to-send-page.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── invite-modal.tsx
│ │ │ │ ├── invite-team-modal
│ │ │ │ │ ├── email-invite.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── link-invite.tsx
│ │ │ │ │ ├── modal-content.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ │ ├── join-failed-page.tsx
│ │ │ │ ├── member-limit-modal.css.ts
│ │ │ │ ├── member-limit-modal.tsx
│ │ │ │ ├── request-to-join-page.tsx
│ │ │ │ ├── sent-request-page.tsx
│ │ │ │ └── styles.css.ts
│ │ │ ├── not-found-page
│ │ │ │ ├── index.tsx
│ │ │ │ ├── not-found-page.tsx
│ │ │ │ └── styles.css.ts
│ │ │ ├── notification-center
│ │ │ │ ├── icons.tsx
│ │ │ │ ├── index.css.ts
│ │ │ │ ├── index.jotai.ts
│ │ │ │ └── index.tsx
│ │ │ ├── page-detail-skeleton
│ │ │ │ ├── assets
│ │ │ │ │ ├── loading.dark.png
│ │ │ │ │ └── loading.light.png
│ │ │ │ ├── index.css.ts
│ │ │ │ └── index.tsx
│ │ │ ├── provider-composer
│ │ │ │ ├── __tests__
│ │ │ │ │ ├── __snapshots__
│ │ │ │ │ │ └── provider-composer.spec.tsx.snap
│ │ │ │ │ └── provider-composer.spec.tsx
│ │ │ │ └── index.tsx
│ │ │ ├── rename-modal
│ │ │ │ └── index.tsx
│ │ │ ├── resize-panel
│ │ │ │ ├── index.tsx
│ │ │ │ ├── resize-panel.css.ts
│ │ │ │ └── resize-panel.tsx
│ │ │ └── setting-components
│ │ │ │ ├── index.tsx
│ │ │ │ ├── pagination.css.ts
│ │ │ │ ├── pagination.tsx
│ │ │ │ ├── setting-header.tsx
│ │ │ │ ├── setting-row.tsx
│ │ │ │ ├── share.css.ts
│ │ │ │ ├── workspace-detail-skeleton.tsx
│ │ │ │ ├── workspace-list-skeleton.tsx
│ │ │ │ └── wrapper.tsx
│ │ ├── fonts
│ │ │ ├── ibm-plex-mono
│ │ │ │ ├── IBMPlexMono-Bold.ttf
│ │ │ │ ├── IBMPlexMono-BoldItalic.ttf
│ │ │ │ ├── IBMPlexMono-Italic.ttf
│ │ │ │ ├── IBMPlexMono-Regular.ttf
│ │ │ │ └── OFL.txt
│ │ │ ├── inter
│ │ │ │ ├── Inter-VariableFont_slnt,wght.ttf
│ │ │ │ └── OFL.txt
│ │ │ ├── kalam
│ │ │ │ ├── Kalam-Bold.ttf
│ │ │ │ ├── Kalam-Light.ttf
│ │ │ │ ├── Kalam-Regular.ttf
│ │ │ │ └── OFL.txt
│ │ │ ├── source-code-pro
│ │ │ │ ├── OFL.txt
│ │ │ │ ├── SourceCodePro-Italic-VariableFont_wght.ttf
│ │ │ │ └── SourceCodePro-VariableFont_wght.ttf
│ │ │ ├── source-serif-4
│ │ │ │ ├── OFL.txt
│ │ │ │ ├── SourceSerif4-Bold.ttf
│ │ │ │ ├── SourceSerif4-BoldItalic.ttf
│ │ │ │ ├── SourceSerif4-Italic-VariableFont_opsz,wght.ttf
│ │ │ │ ├── SourceSerif4-Italic.ttf
│ │ │ │ ├── SourceSerif4-Light.ttf
│ │ │ │ ├── SourceSerif4-LightItalic.ttf
│ │ │ │ ├── SourceSerif4-Medium.ttf
│ │ │ │ ├── SourceSerif4-MediumItalic.ttf
│ │ │ │ ├── SourceSerif4-Regular.ttf
│ │ │ │ ├── SourceSerif4-SemiBold.ttf
│ │ │ │ ├── SourceSerif4-SemiBoldItalic.ttf
│ │ │ │ └── SourceSerif4-VariableFont_opsz,wght.ttf
│ │ │ └── space-mono
│ │ │ │ ├── OFL.txt
│ │ │ │ ├── SpaceMono-Bold.ttf
│ │ │ │ ├── SpaceMono-BoldItalic.ttf
│ │ │ │ ├── SpaceMono-Italic.ttf
│ │ │ │ └── SpaceMono-Regular.ttf
│ │ ├── hooks
│ │ │ ├── focus-and-select.ts
│ │ │ ├── index.ts
│ │ │ ├── use-debounce-callback.ts
│ │ │ ├── use-disposable.ts
│ │ │ ├── use-ref-effect.ts
│ │ │ ├── use-theme-color-meta.ts
│ │ │ └── use-theme-value.ts
│ │ ├── index.ts
│ │ ├── lit-react
│ │ │ ├── create-component.ts
│ │ │ ├── index.ts
│ │ │ ├── lit-portal
│ │ │ │ ├── index.ts
│ │ │ │ ├── lit-portal.tsx
│ │ │ │ └── uni-component.tsx
│ │ │ ├── readme.md
│ │ │ ├── to-react-node.ts
│ │ │ └── utils.ts
│ │ ├── styles
│ │ │ ├── helper.ts
│ │ │ ├── index.ts
│ │ │ └── styled.tsx
│ │ ├── theme
│ │ │ ├── fonts.css
│ │ │ ├── global.css
│ │ │ ├── index.ts
│ │ │ ├── noise.avif
│ │ │ └── theme.css.ts
│ │ ├── type.d.ts
│ │ ├── ui
│ │ │ ├── audio-player
│ │ │ │ ├── audio-player.css.ts
│ │ │ │ ├── audio-player.stories.tsx
│ │ │ │ ├── audio-player.tsx
│ │ │ │ ├── audio-waveform.css.ts
│ │ │ │ ├── audio-waveform.tsx
│ │ │ │ └── index.ts
│ │ │ ├── avatar
│ │ │ │ ├── avatar.stories.tsx
│ │ │ │ ├── avatar.tsx
│ │ │ │ ├── colorful-fallback.tsx
│ │ │ │ ├── index.ts
│ │ │ │ └── style.css.ts
│ │ │ ├── button
│ │ │ │ ├── button.css.ts
│ │ │ │ ├── button.stories.css.ts
│ │ │ │ ├── button.stories.tsx
│ │ │ │ ├── button.tsx
│ │ │ │ ├── dropdown-button.tsx
│ │ │ │ ├── icon-button.stories.tsx
│ │ │ │ ├── icon-button.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── radio.tsx
│ │ │ │ └── styles.css.ts
│ │ │ ├── checkbox
│ │ │ │ ├── checkbox.stories.tsx
│ │ │ │ ├── checkbox.tsx
│ │ │ │ ├── icons.tsx
│ │ │ │ ├── index.css.ts
│ │ │ │ └── index.ts
│ │ │ ├── date-picker
│ │ │ │ ├── calendar
│ │ │ │ │ ├── calendar.css.ts
│ │ │ │ │ ├── calendar.stories.tsx
│ │ │ │ │ ├── calendar.tsx
│ │ │ │ │ ├── constants.ts
│ │ │ │ │ ├── day-picker.tsx
│ │ │ │ │ ├── helpers.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── items.tsx
│ │ │ │ │ ├── month-picker.tsx
│ │ │ │ │ ├── types.tsx
│ │ │ │ │ └── year-picker.tsx
│ │ │ │ ├── index.css.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── week-date-picker.css.tsx
│ │ │ │ ├── week-date-picker.stories.tsx
│ │ │ │ └── week-date-picker.tsx
│ │ │ ├── divider
│ │ │ │ ├── divider.stories.tsx
│ │ │ │ ├── divider.tsx
│ │ │ │ ├── index.ts
│ │ │ │ └── style.css.ts
│ │ │ ├── dnd
│ │ │ │ ├── common.ts
│ │ │ │ ├── context.ts
│ │ │ │ ├── dnd.stories.tsx
│ │ │ │ ├── draggable.ts
│ │ │ │ ├── drop-indicator.css.ts
│ │ │ │ ├── drop-indicator.tsx
│ │ │ │ ├── drop-target.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── monitor.tsx
│ │ │ │ └── types.ts
│ │ │ ├── drag-handle
│ │ │ │ ├── index.css.ts
│ │ │ │ └── index.tsx
│ │ │ ├── editable
│ │ │ │ ├── index.ts
│ │ │ │ ├── inline-edit.css.ts
│ │ │ │ ├── inline-edit.stories.tsx
│ │ │ │ └── inline-edit.tsx
│ │ │ ├── empty
│ │ │ │ ├── empty-svg.tsx
│ │ │ │ ├── empty.stories.tsx
│ │ │ │ ├── empty.tsx
│ │ │ │ ├── index.css.ts
│ │ │ │ └── index.ts
│ │ │ ├── error-message
│ │ │ │ ├── error-message.tsx
│ │ │ │ ├── index.ts
│ │ │ │ └── style.css.ts
│ │ │ ├── icon-name-editor
│ │ │ │ ├── icon-name-editor.css.ts
│ │ │ │ ├── icon-name-editor.stories.tsx
│ │ │ │ ├── icon-name-editor.tsx
│ │ │ │ └── index.ts
│ │ │ ├── icon-picker
│ │ │ │ ├── icon-picker.css.ts
│ │ │ │ ├── icon-picker.stories.tsx
│ │ │ │ ├── icon-picker.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── picker
│ │ │ │ │ ├── affine-icon
│ │ │ │ │ │ ├── affine-icon-picker.css.ts
│ │ │ │ │ │ └── affine-icon-picker.tsx
│ │ │ │ │ ├── emoji
│ │ │ │ │ │ ├── constants.ts
│ │ │ │ │ │ ├── data
│ │ │ │ │ │ │ └── en.json
│ │ │ │ │ │ ├── emoji-button.tsx
│ │ │ │ │ │ ├── emoji-picker.css.ts
│ │ │ │ │ │ ├── emoji-picker.tsx
│ │ │ │ │ │ ├── gen-data.ts
│ │ │ │ │ │ ├── groups.tsx
│ │ │ │ │ │ ├── icons
│ │ │ │ │ │ │ ├── activity.tsx
│ │ │ │ │ │ │ ├── animal.tsx
│ │ │ │ │ │ │ ├── flag.tsx
│ │ │ │ │ │ │ ├── food.tsx
│ │ │ │ │ │ │ ├── object.tsx
│ │ │ │ │ │ │ ├── smile.tsx
│ │ │ │ │ │ │ ├── symbol.tsx
│ │ │ │ │ │ │ └── travel.tsx
│ │ │ │ │ │ ├── recent.ts
│ │ │ │ │ │ └── type.ts
│ │ │ │ │ └── picker.css.ts
│ │ │ │ ├── renderer.tsx
│ │ │ │ ├── renderer
│ │ │ │ │ └── affine-icon.tsx
│ │ │ │ └── type.ts
│ │ │ ├── input
│ │ │ │ ├── index.ts
│ │ │ │ ├── input.stories.tsx
│ │ │ │ ├── input.tsx
│ │ │ │ ├── row-input.tsx
│ │ │ │ └── style.css.ts
│ │ │ ├── layout
│ │ │ │ ├── content.tsx
│ │ │ │ ├── index.ts
│ │ │ │ └── wrapper.tsx
│ │ │ ├── loading
│ │ │ │ ├── index.ts
│ │ │ │ ├── loading.stories.tsx
│ │ │ │ ├── loading.tsx
│ │ │ │ └── styles.css.ts
│ │ │ ├── lottie
│ │ │ │ ├── animated-play-icon.stories.tsx
│ │ │ │ ├── animated-play-icon.tsx
│ │ │ │ ├── animated-transcribe-icon.stories.tsx
│ │ │ │ ├── animated-transcribe-icon.tsx
│ │ │ │ ├── collections-icon.json
│ │ │ │ ├── collections-icon.stories.tsx
│ │ │ │ ├── collections-icon.tsx
│ │ │ │ ├── delete-icon.json
│ │ │ │ ├── delete-icon.stories.tsx
│ │ │ │ ├── delete-icon.tsx
│ │ │ │ ├── folder-icon.json
│ │ │ │ ├── folder-icon.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── playandpause.json
│ │ │ │ ├── styles.css.ts
│ │ │ │ └── transcribe.json
│ │ │ ├── masonry
│ │ │ │ ├── index.ts
│ │ │ │ ├── masonry.stories.tsx
│ │ │ │ ├── masonry.tsx
│ │ │ │ ├── styles.css.ts
│ │ │ │ ├── type.ts
│ │ │ │ └── utils.ts
│ │ │ ├── menu
│ │ │ │ ├── desktop
│ │ │ │ │ ├── context-menu.tsx
│ │ │ │ │ ├── context.ts
│ │ │ │ │ ├── item.tsx
│ │ │ │ │ ├── root.tsx
│ │ │ │ │ ├── separator.tsx
│ │ │ │ │ ├── styles.css.ts
│ │ │ │ │ └── sub.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── menu-trigger.tsx
│ │ │ │ ├── menu.stories.tsx
│ │ │ │ ├── menu.types.ts
│ │ │ │ ├── mobile
│ │ │ │ │ ├── context.ts
│ │ │ │ │ ├── hook.ts
│ │ │ │ │ ├── item.tsx
│ │ │ │ │ ├── root.tsx
│ │ │ │ │ ├── separator.tsx
│ │ │ │ │ ├── styles.css.ts
│ │ │ │ │ └── sub.tsx
│ │ │ │ ├── styles.css.ts
│ │ │ │ └── use-menu-item.tsx
│ │ │ ├── modal
│ │ │ │ ├── confirm-modal.css.ts
│ │ │ │ ├── confirm-modal.stories.tsx
│ │ │ │ ├── confirm-modal.tsx
│ │ │ │ ├── context.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── modal.stories.tsx
│ │ │ │ ├── modal.tsx
│ │ │ │ ├── overlay-modal.css.ts
│ │ │ │ ├── overlay-modal.tsx
│ │ │ │ ├── prompt-modal.css.ts
│ │ │ │ ├── prompt-modal.tsx
│ │ │ │ └── styles.css.ts
│ │ │ ├── notification
│ │ │ │ ├── desktop
│ │ │ │ │ ├── notification-card.tsx
│ │ │ │ │ ├── notification-center.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── mobile
│ │ │ │ │ ├── notification-card.tsx
│ │ │ │ │ ├── notification-center.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ │ ├── notification-center.stories.tsx
│ │ │ │ ├── notify.tsx
│ │ │ │ ├── types.ts
│ │ │ │ └── utils.ts
│ │ │ ├── popover
│ │ │ │ ├── index.ts
│ │ │ │ ├── popover.tsx
│ │ │ │ └── styles.css.ts
│ │ │ ├── progress
│ │ │ │ ├── index.ts
│ │ │ │ ├── progress.css.ts
│ │ │ │ ├── progress.stories.tsx
│ │ │ │ └── progress.tsx
│ │ │ ├── property
│ │ │ │ ├── index.ts
│ │ │ │ ├── property.css.ts
│ │ │ │ ├── property.stories.tsx
│ │ │ │ └── property.tsx
│ │ │ ├── radio
│ │ │ │ ├── index.ts
│ │ │ │ ├── radio.stories.tsx
│ │ │ │ ├── radio.tsx
│ │ │ │ ├── styles.css.ts
│ │ │ │ └── types.ts
│ │ │ ├── resize-panel
│ │ │ │ ├── resize-panel.tsx
│ │ │ │ └── styles.css.ts
│ │ │ ├── safe-area
│ │ │ │ ├── index.tsx
│ │ │ │ └── style.css.ts
│ │ │ ├── scrollbar
│ │ │ │ ├── index.css.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── scrollable.tsx
│ │ │ │ ├── scrollbar.stories.tsx
│ │ │ │ ├── scrollbar.tsx
│ │ │ │ └── use-has-scroll-top.tsx
│ │ │ ├── skeleton
│ │ │ │ ├── index.css.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── skeleton.stories.tsx
│ │ │ │ ├── skeleton.tsx
│ │ │ │ └── types.ts
│ │ │ ├── slider
│ │ │ │ ├── index.css.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── slider.stories.tsx
│ │ │ │ └── slider.tsx
│ │ │ ├── switch
│ │ │ │ ├── index.css.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── switch.stories.tsx
│ │ │ │ └── switch.tsx
│ │ │ ├── table
│ │ │ │ ├── index.ts
│ │ │ │ ├── interface.ts
│ │ │ │ ├── styles.ts
│ │ │ │ ├── table-body.tsx
│ │ │ │ ├── table-cell.tsx
│ │ │ │ ├── table-head.tsx
│ │ │ │ ├── table-row.tsx
│ │ │ │ ├── table.stories.tsx
│ │ │ │ └── table.tsx
│ │ │ ├── tabs
│ │ │ │ ├── index.ts
│ │ │ │ ├── tabs.css.ts
│ │ │ │ └── tabs.tsx
│ │ │ ├── themed-img
│ │ │ │ └── index.tsx
│ │ │ ├── toast
│ │ │ │ ├── index.ts
│ │ │ │ ├── toast.stories.tsx
│ │ │ │ └── toast.ts
│ │ │ └── tooltip
│ │ │ │ ├── index.ts
│ │ │ │ ├── styles.css.ts
│ │ │ │ ├── tooltip.stories.tsx
│ │ │ │ └── tooltip.tsx
│ │ └── utils
│ │ │ ├── index.ts
│ │ │ ├── keyboard-mapping.ts
│ │ │ ├── observe-intersection.ts
│ │ │ ├── observe-resize.ts
│ │ │ ├── platform.ts
│ │ │ ├── shallow-equal.ts
│ │ │ ├── view-transition.ts
│ │ │ └── with-unit.ts
│ └── tsconfig.json
│ ├── core
│ ├── package.json
│ ├── public
│ │ ├── .gitignore
│ │ ├── apple-touch-icon.png
│ │ ├── favicon-144.png
│ │ ├── favicon-192.png
│ │ ├── favicon-32.png
│ │ ├── favicon-36.png
│ │ ├── favicon-48.png
│ │ ├── favicon-72.png
│ │ ├── favicon-96.png
│ │ ├── favicon.ico
│ │ ├── fonts
│ │ │ ├── BebasNeue-Light.woff2
│ │ │ ├── BebasNeue-Regular.woff2
│ │ │ ├── Inter-Italic.woff2
│ │ │ ├── Inter-Light-BETA.woff2
│ │ │ ├── Inter-LightItalic-BETA.woff2
│ │ │ ├── Inter-Regular.woff2
│ │ │ ├── Inter-SemiBold.woff2
│ │ │ ├── Inter-SemiBoldItalic.woff2
│ │ │ ├── Kalam-Bold.woff2
│ │ │ ├── Kalam-Light.woff2
│ │ │ ├── Kalam-Regular.woff2
│ │ │ ├── Lora-Bold.woff2
│ │ │ ├── Lora-BoldItalic.woff2
│ │ │ ├── Lora-Italic.woff2
│ │ │ ├── Lora-Regular.woff2
│ │ │ ├── OrelegaOne-Regular.woff2
│ │ │ ├── Poppins-Italic.woff2
│ │ │ ├── Poppins-Light.woff2
│ │ │ ├── Poppins-LightItalic.woff2
│ │ │ ├── Poppins-Medium.woff2
│ │ │ ├── Poppins-Regular.woff2
│ │ │ ├── Poppins-SemiBold.woff2
│ │ │ ├── Poppins-SemiBoldItalic.woff2
│ │ │ ├── Satoshi-Bold.woff2
│ │ │ ├── Satoshi-BoldItalic.woff2
│ │ │ ├── Satoshi-Italic.woff2
│ │ │ ├── Satoshi-Light.woff2
│ │ │ ├── Satoshi-LightItalic.woff2
│ │ │ └── Satoshi-Regular.woff2
│ │ ├── imgs
│ │ │ ├── affine-text-logo.png
│ │ │ ├── app-icon-beta.ico
│ │ │ ├── app-icon-canary.ico
│ │ │ ├── app-icon-internal.ico
│ │ │ ├── app-icon-stable.ico
│ │ │ ├── invite-error.svg
│ │ │ ├── invite-success.svg
│ │ │ ├── no-result.svg
│ │ │ ├── screenshot1.png
│ │ │ ├── screenshot2.png
│ │ │ └── screenshot3.png
│ │ ├── manifest.json
│ │ ├── onboarding
│ │ │ ├── ai-onboarding.general.1.mp4
│ │ │ ├── ai-onboarding.general.2.mp4
│ │ │ ├── ai-onboarding.general.3.mp4
│ │ │ ├── ai-onboarding.general.4.mp4
│ │ │ └── ai-onboarding.general.5.mp4
│ │ ├── robots.txt
│ │ └── static
│ │ │ ├── 047ebf2c9a5c7c9d8521c2ea5e6140ff7732ef9e28a9f944e9bf3ca4.png
│ │ │ ├── 1326bc48553a572c6756d9ee1b30a0dfdda26222fc2d2c872b14e609.gif
│ │ │ ├── 27f983d0765289c19d10ee0b51c00c3c7665236a1a82406370d46e0a.gif
│ │ │ ├── 28516717d63e469cd98729ff46be6595711898bab3dc43302319a987.gif
│ │ │ ├── 6aa785ee927547ce9dd9d7b43e01eac948337fe57571443e87bc3a60.png
│ │ │ ├── 9288be57321c8772d04e05dbb69a22742372b3534442607a2d6a9998.gif
│ │ │ ├── c820edeeba50006b531883903f5bb0b96bf523c9a6b3ce5868f03db5.gif
│ │ │ ├── e93536e1be97e3b5206d43bf0793fdef24e60044d174f0abdefebe08.gif
│ │ │ ├── githubStar.mp4
│ │ │ └── newIssue.mp4
│ ├── src
│ │ ├── __tests__
│ │ │ ├── ai
│ │ │ │ └── utils
│ │ │ │ │ └── apply-model
│ │ │ │ │ ├── apply-patch-to-doc.spec.ts
│ │ │ │ │ ├── generate-render-diff.spec.ts
│ │ │ │ │ └── markdown-diff.spec.ts
│ │ │ └── data-view-actions.spec.ts
│ │ ├── blocksuite
│ │ │ ├── __tests__
│ │ │ │ └── pan-tool-middle-mouse.spec.ts
│ │ │ ├── ai
│ │ │ │ ├── _common
│ │ │ │ │ ├── chat-actions-handle.ts
│ │ │ │ │ ├── config.ts
│ │ │ │ │ └── icons.ts
│ │ │ │ ├── actions
│ │ │ │ │ ├── answer-renderer.ts
│ │ │ │ │ ├── consts.ts
│ │ │ │ │ ├── doc-handler.ts
│ │ │ │ │ ├── edgeless-handler.ts
│ │ │ │ │ ├── edgeless-response.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── page-response.ts
│ │ │ │ │ └── types.ts
│ │ │ │ ├── adapters
│ │ │ │ │ └── block-tag.ts
│ │ │ │ ├── ai-panel.ts
│ │ │ │ ├── blocks
│ │ │ │ │ ├── ai-chat-block
│ │ │ │ │ │ ├── ai-chat-block.ts
│ │ │ │ │ │ ├── ai-chat-edgeless-block.ts
│ │ │ │ │ │ ├── ai-chat-spec.ts
│ │ │ │ │ │ ├── ai-transcription-block.ts
│ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ ├── ai-chat-messages.ts
│ │ │ │ │ │ │ ├── chat-images.ts
│ │ │ │ │ │ │ ├── icon.ts
│ │ │ │ │ │ │ ├── image-placeholder.ts
│ │ │ │ │ │ │ └── user-info.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── model
│ │ │ │ │ │ │ ├── ai-chat-model.ts
│ │ │ │ │ │ │ ├── consts.ts
│ │ │ │ │ │ │ └── index.ts
│ │ │ │ │ │ └── styles.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── transcription-block
│ │ │ │ │ │ └── model.ts
│ │ │ │ ├── chat-panel
│ │ │ │ │ ├── actions
│ │ │ │ │ │ ├── action-wrapper.ts
│ │ │ │ │ │ ├── image-to-text.ts
│ │ │ │ │ │ ├── image.ts
│ │ │ │ │ │ ├── make-real.ts
│ │ │ │ │ │ ├── mindmap.ts
│ │ │ │ │ │ ├── slides.ts
│ │ │ │ │ │ └── text.ts
│ │ │ │ │ ├── ai-loading.ts
│ │ │ │ │ ├── ai-title.ts
│ │ │ │ │ ├── chat-config.ts
│ │ │ │ │ ├── const.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── message
│ │ │ │ │ │ ├── action.ts
│ │ │ │ │ │ ├── assistant.ts
│ │ │ │ │ │ └── user.ts
│ │ │ │ │ ├── preload-config.ts
│ │ │ │ │ ├── split-view.ts
│ │ │ │ │ └── templates
│ │ │ │ │ │ ├── TidyMindMapV3.zip
│ │ │ │ │ │ ├── completeWritingWithAI.zip
│ │ │ │ │ │ ├── freelyCommunicateWithAI.zip
│ │ │ │ │ │ ├── readAforeign.zip
│ │ │ │ │ │ └── redHat.zip
│ │ │ │ ├── components
│ │ │ │ │ ├── ai-artifact-skeleton
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── ai-chat-add-context
│ │ │ │ │ │ ├── ai-chat-add-context.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── type.ts
│ │ │ │ │ ├── ai-chat-chips
│ │ │ │ │ │ ├── add-popover.ts
│ │ │ │ │ │ ├── attachment-chip.ts
│ │ │ │ │ │ ├── candidates-popover.ts
│ │ │ │ │ │ ├── chat-panel-chips.ts
│ │ │ │ │ │ ├── chip.ts
│ │ │ │ │ │ ├── collection-chip.ts
│ │ │ │ │ │ ├── doc-chip.ts
│ │ │ │ │ │ ├── file-chip.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── selected-chip.ts
│ │ │ │ │ │ ├── tag-chip.ts
│ │ │ │ │ │ ├── type.ts
│ │ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── ai-chat-composer
│ │ │ │ │ │ ├── ai-chat-composer-tip.ts
│ │ │ │ │ │ ├── ai-chat-composer.ts
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── ai-chat-content
│ │ │ │ │ │ ├── ai-chat-content.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── type.ts
│ │ │ │ │ ├── ai-chat-input
│ │ │ │ │ │ ├── ai-chat-input.ts
│ │ │ │ │ │ ├── const.ts
│ │ │ │ │ │ ├── embedding-status-tooltip.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── preference-popup.ts
│ │ │ │ │ │ └── type.ts
│ │ │ │ │ ├── ai-chat-messages
│ │ │ │ │ │ ├── ai-chat-messages.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── type.ts
│ │ │ │ │ ├── ai-chat-toolbar
│ │ │ │ │ │ ├── ai-chat-toolbar.ts
│ │ │ │ │ │ ├── ai-session-history.ts
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── ai-history-clear
│ │ │ │ │ │ ├── ai-history-clear.ts
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── ai-item
│ │ │ │ │ │ ├── ai-item-list.ts
│ │ │ │ │ │ ├── ai-item.ts
│ │ │ │ │ │ ├── ai-sub-item-list.ts
│ │ │ │ │ │ ├── const.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── styles.ts
│ │ │ │ │ │ └── types.ts
│ │ │ │ │ ├── ai-message-content
│ │ │ │ │ │ ├── assistant-avatar.ts
│ │ │ │ │ │ ├── images.ts
│ │ │ │ │ │ ├── pure-text.ts
│ │ │ │ │ │ ├── rich-text.ts
│ │ │ │ │ │ └── stream-objects.ts
│ │ │ │ │ ├── ai-scrollable-text-renderer.ts
│ │ │ │ │ ├── ai-tools
│ │ │ │ │ │ ├── artifact-tool.ts
│ │ │ │ │ │ ├── artifacts-preview-panel.ts
│ │ │ │ │ │ ├── code-artifact.ts
│ │ │ │ │ │ ├── doc-compose.ts
│ │ │ │ │ │ ├── doc-edit.ts
│ │ │ │ │ │ ├── doc-keyword-search-result.ts
│ │ │ │ │ │ ├── doc-read-result.ts
│ │ │ │ │ │ ├── doc-semantic-search-result.ts
│ │ │ │ │ │ ├── section-edit.ts
│ │ │ │ │ │ ├── tool-call-card.ts
│ │ │ │ │ │ ├── tool-failed-card.ts
│ │ │ │ │ │ ├── tool-result-card.ts
│ │ │ │ │ │ ├── type.ts
│ │ │ │ │ │ ├── web-crawl.ts
│ │ │ │ │ │ └── web-search.ts
│ │ │ │ │ ├── ask-ai-button.ts
│ │ │ │ │ ├── ask-ai-icon.ts
│ │ │ │ │ ├── ask-ai-panel.ts
│ │ │ │ │ ├── ask-ai-toolbar.ts
│ │ │ │ │ ├── chat-action-list.ts
│ │ │ │ │ ├── copy-more.ts
│ │ │ │ │ ├── image-preview-grid.ts
│ │ │ │ │ ├── playground
│ │ │ │ │ │ ├── chat.ts
│ │ │ │ │ │ ├── content.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── modal.ts
│ │ │ │ │ └── text-renderer.ts
│ │ │ │ ├── effects.ts
│ │ │ │ ├── entries
│ │ │ │ │ ├── code-toolbar
│ │ │ │ │ │ └── setup-code-toolbar.ts
│ │ │ │ │ ├── edgeless
│ │ │ │ │ │ ├── actions-config.ts
│ │ │ │ │ │ └── index.ts
│ │ │ │ │ ├── format-bar
│ │ │ │ │ │ └── setup-format-bar.ts
│ │ │ │ │ ├── image-toolbar
│ │ │ │ │ │ └── setup-image-toolbar.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── space
│ │ │ │ │ │ └── setup-space.ts
│ │ │ │ ├── extensions
│ │ │ │ │ ├── ai-code.ts
│ │ │ │ │ ├── ai-edgeless-root.ts
│ │ │ │ │ ├── ai-page-root.ts
│ │ │ │ │ └── ai-slash-menu.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── messages
│ │ │ │ │ ├── error.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── mindmap.ts
│ │ │ │ │ ├── slides-renderer.ts
│ │ │ │ │ └── wrapper.ts
│ │ │ │ ├── mini-mindmap
│ │ │ │ │ ├── __tests__
│ │ │ │ │ │ └── mindmap-preview.unit.spec.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── mindmap-preview.ts
│ │ │ │ │ ├── mindmap-root-block.ts
│ │ │ │ │ ├── mindmap-service.ts
│ │ │ │ │ ├── spec.ts
│ │ │ │ │ ├── surface-block.ts
│ │ │ │ │ └── surface-service.ts
│ │ │ │ ├── peek-view
│ │ │ │ │ ├── chat-block-peek-view.ts
│ │ │ │ │ ├── date-time.ts
│ │ │ │ │ ├── styles.ts
│ │ │ │ │ ├── types.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── provider
│ │ │ │ │ ├── ai-provider.ts
│ │ │ │ │ ├── copilot-client.ts
│ │ │ │ │ ├── error.ts
│ │ │ │ │ ├── event-source.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── prompt.ts
│ │ │ │ │ ├── request.ts
│ │ │ │ │ ├── setup-provider.tsx
│ │ │ │ │ └── tracker.ts
│ │ │ │ ├── services
│ │ │ │ │ └── block-diff.ts
│ │ │ │ ├── slides
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── template.ts
│ │ │ │ │ └── templates
│ │ │ │ │ │ ├── cover.json
│ │ │ │ │ │ ├── four.json
│ │ │ │ │ │ ├── one.json
│ │ │ │ │ │ ├── three.json
│ │ │ │ │ │ └── two.json
│ │ │ │ ├── tool
│ │ │ │ │ └── copilot-tool.ts
│ │ │ │ ├── utils
│ │ │ │ │ ├── action-reporter.ts
│ │ │ │ │ ├── ai-widgets.ts
│ │ │ │ │ ├── apply-model
│ │ │ │ │ │ ├── apply-patch-to-doc.ts
│ │ │ │ │ │ ├── generate-render-diff.ts
│ │ │ │ │ │ └── markdown-diff.ts
│ │ │ │ │ ├── attachment.ts
│ │ │ │ │ ├── context.ts
│ │ │ │ │ ├── edgeless.ts
│ │ │ │ │ ├── editor-actions.ts
│ │ │ │ │ ├── extract.ts
│ │ │ │ │ ├── get-edgeless-copilot-widget.ts
│ │ │ │ │ ├── html.ts
│ │ │ │ │ ├── image.ts
│ │ │ │ │ ├── selection-utils.ts
│ │ │ │ │ └── stream-objects.ts
│ │ │ │ └── widgets
│ │ │ │ │ ├── ai-panel
│ │ │ │ │ ├── ai-panel.ts
│ │ │ │ │ ├── components
│ │ │ │ │ │ ├── divider.ts
│ │ │ │ │ │ ├── finish-tip.ts
│ │ │ │ │ │ ├── generating-placeholder.ts
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ └── state
│ │ │ │ │ │ │ ├── answer.ts
│ │ │ │ │ │ │ ├── error.ts
│ │ │ │ │ │ │ ├── generating.ts
│ │ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ │ └── input.ts
│ │ │ │ │ ├── type.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ │ ├── block-diff
│ │ │ │ │ ├── block.ts
│ │ │ │ │ ├── options.ts
│ │ │ │ │ ├── page.ts
│ │ │ │ │ └── playground.ts
│ │ │ │ │ ├── edgeless-copilot-panel
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── toolbar-entry.ts
│ │ │ │ │ └── edgeless-copilot
│ │ │ │ │ ├── constant.ts
│ │ │ │ │ └── index.ts
│ │ │ ├── attachment-viewer
│ │ │ │ ├── attachment-embed-preview.tsx
│ │ │ │ ├── audio
│ │ │ │ │ ├── audio-block.css.ts
│ │ │ │ │ ├── audio-block.tsx
│ │ │ │ │ ├── transcription-block.css.ts
│ │ │ │ │ └── transcription-block.tsx
│ │ │ │ ├── error.css.ts
│ │ │ │ ├── error.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── pdf
│ │ │ │ │ ├── pdf-viewer-embedded.tsx
│ │ │ │ │ ├── pdf-viewer.tsx
│ │ │ │ │ ├── styles.css.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── types.ts
│ │ │ │ ├── utils.ts
│ │ │ │ ├── viewer.css.ts
│ │ │ │ └── viewer.tsx
│ │ │ ├── block-suite-editor
│ │ │ │ ├── bi-directional-link-panel.css.ts
│ │ │ │ ├── bi-directional-link-panel.tsx
│ │ │ │ ├── blocksuite-editor.tsx
│ │ │ │ ├── doc-icon-picker.css.ts
│ │ │ │ ├── doc-icon-picker.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── journal-doc-title.tsx
│ │ │ │ ├── lit-adaper.tsx
│ │ │ │ ├── no-page-error.ts
│ │ │ │ ├── register-templates.ts
│ │ │ │ ├── starter-bar.css.ts
│ │ │ │ ├── starter-bar.tsx
│ │ │ │ └── styles.css.ts
│ │ │ ├── block-suite-header
│ │ │ │ ├── favorite
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── info
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── journal
│ │ │ │ │ ├── date-picker.tsx
│ │ │ │ │ └── today-button.tsx
│ │ │ │ ├── menu
│ │ │ │ │ ├── history-tips-modal
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ └── top-svg.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── style.css.ts
│ │ │ │ ├── present
│ │ │ │ │ └── detail-header-present-button.tsx
│ │ │ │ └── title
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── style.css.ts
│ │ │ ├── block-suite-mode-switch
│ │ │ │ ├── animation-data
│ │ │ │ │ ├── edgeless-hover.json
│ │ │ │ │ └── page-hover.json
│ │ │ │ ├── index.tsx
│ │ │ │ ├── style.css.ts
│ │ │ │ └── switch-items.tsx
│ │ │ ├── block-suite-page-list
│ │ │ │ ├── index.css.ts
│ │ │ │ └── utils.tsx
│ │ │ ├── database-block
│ │ │ │ ├── components
│ │ │ │ │ ├── loading.css.ts
│ │ │ │ │ └── loading.tsx
│ │ │ │ ├── group-by
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── hooks
│ │ │ │ │ └── use-member-info.ts
│ │ │ │ └── properties
│ │ │ │ │ ├── created-by
│ │ │ │ │ ├── define.ts
│ │ │ │ │ └── view.tsx
│ │ │ │ │ ├── file
│ │ │ │ │ ├── define.ts
│ │ │ │ │ ├── style.css.ts
│ │ │ │ │ └── view.tsx
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── member
│ │ │ │ │ ├── define.ts
│ │ │ │ │ ├── multi-member-select
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── style.css.ts
│ │ │ │ │ ├── style.css.ts
│ │ │ │ │ └── view.tsx
│ │ │ ├── editors
│ │ │ │ ├── edgeless-editor.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── page-editor.ts
│ │ │ ├── initialization
│ │ │ │ └── index.ts
│ │ │ ├── manager
│ │ │ │ ├── store.ts
│ │ │ │ └── view.ts
│ │ │ ├── outline-viewer
│ │ │ │ ├── index.tsx
│ │ │ │ └── outline-viewer.css.ts
│ │ │ ├── store-extensions
│ │ │ │ ├── ai
│ │ │ │ │ └── index.ts
│ │ │ │ └── feature-flag
│ │ │ │ │ ├── feature-flag-syncer.ts
│ │ │ │ │ └── index.ts
│ │ │ ├── utils
│ │ │ │ ├── index.ts
│ │ │ │ └── markdown-utils.ts
│ │ │ └── view-extensions
│ │ │ │ ├── ai
│ │ │ │ ├── edgeless-clipboard.ts
│ │ │ │ └── index.ts
│ │ │ │ ├── cloud
│ │ │ │ ├── index.ts
│ │ │ │ ├── user-list.ts
│ │ │ │ └── user.ts
│ │ │ │ ├── code-block-preview
│ │ │ │ ├── html-preview.ts
│ │ │ │ ├── iframe-container.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── mermaid-preview.ts
│ │ │ │ ├── comment
│ │ │ │ ├── comment-provider.ts
│ │ │ │ └── index.ts
│ │ │ │ ├── database
│ │ │ │ ├── database-block-config-service.ts
│ │ │ │ └── index.ts
│ │ │ │ ├── edgeless-block-header
│ │ │ │ ├── common.tsx
│ │ │ │ ├── edgeless-block-header.css.ts
│ │ │ │ ├── edgeless-embed-synced-doc-header.tsx
│ │ │ │ ├── edgeless-note-header.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ └── patch.tsx
│ │ │ │ ├── editor-config
│ │ │ │ ├── database.ts
│ │ │ │ ├── get-config.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── linked.ts
│ │ │ │ └── toolbar
│ │ │ │ │ ├── copy-as-image.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── editor-view
│ │ │ │ ├── audio
│ │ │ │ │ └── audio-view.tsx
│ │ │ │ ├── display-meta.ts
│ │ │ │ ├── doc-mode-service.ts
│ │ │ │ ├── doc-url.ts
│ │ │ │ ├── editor-view.tsx
│ │ │ │ ├── file-size-limit.ts
│ │ │ │ ├── notification-service.tsx
│ │ │ │ ├── open-doc.ts
│ │ │ │ ├── quick-search-service.ts
│ │ │ │ ├── reference-renderer.ts
│ │ │ │ └── side-bar-service.ts
│ │ │ │ ├── electron
│ │ │ │ ├── electron-clipboard.ts
│ │ │ │ └── index.ts
│ │ │ │ ├── icon-picker
│ │ │ │ ├── icon-picker-service.ts
│ │ │ │ └── index.ts
│ │ │ │ ├── link-preview-service
│ │ │ │ ├── index.ts
│ │ │ │ └── link-preview-service.ts
│ │ │ │ ├── mobile
│ │ │ │ ├── index.ts
│ │ │ │ ├── keyboard-toolbar-extension.ts
│ │ │ │ └── mobile-feature-flag-control.ts
│ │ │ │ ├── pdf
│ │ │ │ ├── index.ts
│ │ │ │ └── pdf-view.tsx
│ │ │ │ ├── theme
│ │ │ │ ├── index.ts
│ │ │ │ ├── preview-theme.ts
│ │ │ │ └── theme.ts
│ │ │ │ └── turbo-renderer
│ │ │ │ ├── index.ts
│ │ │ │ ├── turbo-painter.worker.ts
│ │ │ │ └── turbo-renderer.ts
│ │ ├── bootstrap
│ │ │ ├── browser.ts
│ │ │ ├── cleanup.ts
│ │ │ ├── electron.ts
│ │ │ ├── env.ts
│ │ │ ├── polyfill
│ │ │ │ ├── array.ts
│ │ │ │ ├── browser.ts
│ │ │ │ ├── dispose.ts
│ │ │ │ ├── electron.ts
│ │ │ │ ├── iterator-helpers.ts
│ │ │ │ ├── promise-with-resolvers.ts
│ │ │ │ ├── request-idle-callback.ts
│ │ │ │ ├── resize-observer.ts
│ │ │ │ └── set.ts
│ │ │ ├── public-path.ts
│ │ │ └── telemetry.ts
│ │ ├── commands
│ │ │ ├── affine-creation.tsx
│ │ │ ├── affine-help.tsx
│ │ │ ├── affine-i18n.tsx
│ │ │ ├── affine-layout.tsx
│ │ │ ├── affine-navigation.tsx
│ │ │ ├── affine-settings.tsx
│ │ │ ├── affine-updates.tsx
│ │ │ ├── index.ts
│ │ │ └── registry
│ │ │ │ ├── README.md
│ │ │ │ ├── command.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── registry.ts
│ │ ├── components
│ │ │ ├── affine
│ │ │ │ ├── README.md
│ │ │ │ ├── affine-error-boundary
│ │ │ │ │ ├── affine-error-fallback.css.ts
│ │ │ │ │ ├── affine-error-fallback.tsx
│ │ │ │ │ ├── error-assets
│ │ │ │ │ │ ├── 404.dark.png
│ │ │ │ │ │ ├── 404.light.png
│ │ │ │ │ │ ├── 500.dark.png
│ │ │ │ │ │ └── 500.light.png
│ │ │ │ │ ├── error-basic
│ │ │ │ │ │ ├── error-detail.css.ts
│ │ │ │ │ │ ├── error-detail.tsx
│ │ │ │ │ │ ├── fallback-creator.tsx
│ │ │ │ │ │ └── info-logger.tsx
│ │ │ │ │ ├── error-fallbacks
│ │ │ │ │ │ ├── any-error-fallback.tsx
│ │ │ │ │ │ ├── no-page-root-fallback.tsx
│ │ │ │ │ │ └── page-not-found-fallback.tsx
│ │ │ │ │ ├── error-status.assets.svg
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── ai-onboarding
│ │ │ │ │ ├── apis.ts
│ │ │ │ │ ├── base-style.css.ts
│ │ │ │ │ ├── edgeless.dialog.css.ts
│ │ │ │ │ ├── edgeless.dialog.tsx
│ │ │ │ │ ├── general.dialog.css.ts
│ │ │ │ │ ├── general.dialog.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── local.dialog.css.ts
│ │ │ │ │ ├── local.dialog.tsx
│ │ │ │ │ ├── lottie
│ │ │ │ │ │ └── edgeless
│ │ │ │ │ │ │ ├── mouse-track-dark.json
│ │ │ │ │ │ │ └── mouse-track-light.json
│ │ │ │ │ ├── slider.css.ts
│ │ │ │ │ ├── slider.tsx
│ │ │ │ │ ├── state.ts
│ │ │ │ │ └── type.ts
│ │ │ │ ├── auth
│ │ │ │ │ ├── ai-login-required.tsx
│ │ │ │ │ ├── oauth.tsx
│ │ │ │ │ ├── style.css.ts
│ │ │ │ │ └── user-plan-button.tsx
│ │ │ │ ├── empty
│ │ │ │ │ ├── action-button.tsx
│ │ │ │ │ ├── assets
│ │ │ │ │ │ ├── collection-detail.dark.png
│ │ │ │ │ │ ├── collection-detail.light.png
│ │ │ │ │ │ ├── collection-list.dark.png
│ │ │ │ │ │ ├── collection-list.light.png
│ │ │ │ │ │ ├── denied.dark.png
│ │ │ │ │ │ ├── denied.light.png
│ │ │ │ │ │ ├── docs.dark.png
│ │ │ │ │ │ ├── docs.light.png
│ │ │ │ │ │ ├── tag-list.dark.png
│ │ │ │ │ │ └── tag-list.light.png
│ │ │ │ │ ├── collection-detail.tsx
│ │ │ │ │ ├── collections.tsx
│ │ │ │ │ ├── docs.tsx
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── layout.tsx
│ │ │ │ │ ├── style.css.ts
│ │ │ │ │ ├── tags.tsx
│ │ │ │ │ └── types.ts
│ │ │ │ ├── language-menu
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── style.css.ts
│ │ │ │ ├── onboarding
│ │ │ │ │ ├── animate-in-tooltip.css.tsx
│ │ │ │ │ ├── animate-in-tooltip.tsx
│ │ │ │ │ ├── articles
│ │ │ │ │ │ ├── article-0.tsx
│ │ │ │ │ │ ├── article-1.tsx
│ │ │ │ │ │ ├── article-2.tsx
│ │ │ │ │ │ ├── article-3.tsx
│ │ │ │ │ │ ├── article-4.tsx
│ │ │ │ │ │ ├── assets
│ │ │ │ │ │ │ ├── article-0-bookmark-1.png
│ │ │ │ │ │ │ ├── article-0-bookmark-2.png
│ │ │ │ │ │ │ ├── article-0-embed-1.png
│ │ │ │ │ │ │ ├── article-1-bookmark-1.png
│ │ │ │ │ │ │ ├── article-1-illustration-1.png
│ │ │ │ │ │ │ ├── article-1-illustration-2.tsx
│ │ │ │ │ │ │ ├── article-2-embed-1.png
│ │ │ │ │ │ │ ├── article-2-illustration-1.jpg
│ │ │ │ │ │ │ ├── article-2-illustration-2.jpg
│ │ │ │ │ │ │ ├── article-2-note-1.png
│ │ │ │ │ │ │ ├── article-2-note-2.png
│ │ │ │ │ │ │ ├── article-3-bookmark-1.png
│ │ │ │ │ │ │ ├── article-3-illustration-1.jpg
│ │ │ │ │ │ │ ├── article-3-illustration-2.jpg
│ │ │ │ │ │ │ ├── article-3-illustration-3.jpg
│ │ │ │ │ │ │ ├── article-3-illustration-4.jpg
│ │ │ │ │ │ │ ├── article-3-illustration-5.jpg
│ │ │ │ │ │ │ ├── article-4-bookmark-1.png
│ │ │ │ │ │ │ ├── article-4-bookmark-2.png
│ │ │ │ │ │ │ ├── article-4-illustration-1.jpg
│ │ │ │ │ │ │ └── article-4-illustration-2.jpg
│ │ │ │ │ │ ├── blocks.css.ts
│ │ │ │ │ │ ├── blog-link.tsx
│ │ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── assets
│ │ │ │ │ │ └── logo.tsx
│ │ │ │ │ ├── curve-paper
│ │ │ │ │ │ ├── paper.css.ts
│ │ │ │ │ │ ├── paper.tsx
│ │ │ │ │ │ ├── segment.tsx
│ │ │ │ │ │ └── segments.tsx
│ │ │ │ │ ├── onboarding.tsx
│ │ │ │ │ ├── paper-steps.tsx
│ │ │ │ │ ├── steps
│ │ │ │ │ │ ├── animate-in.css.ts
│ │ │ │ │ │ ├── animate-in.tsx
│ │ │ │ │ │ ├── edgeless-switch.css.ts
│ │ │ │ │ │ ├── edgeless-switch.tsx
│ │ │ │ │ │ ├── unfolding.css.ts
│ │ │ │ │ │ └── unfolding.tsx
│ │ │ │ │ ├── style.css.ts
│ │ │ │ │ ├── switch-widgets
│ │ │ │ │ │ ├── block.tsx
│ │ │ │ │ │ ├── counter-note.css.tsx
│ │ │ │ │ │ ├── counter-note.tsx
│ │ │ │ │ │ ├── page-link.tsx
│ │ │ │ │ │ ├── shadow-sticker.tsx
│ │ │ │ │ │ ├── style.css.tsx
│ │ │ │ │ │ ├── switch.tsx
│ │ │ │ │ │ └── toolbar.tsx
│ │ │ │ │ └── types.ts
│ │ │ │ ├── page-history-modal
│ │ │ │ │ ├── data.ts
│ │ │ │ │ ├── empty-history-shape.tsx
│ │ │ │ │ ├── history-modal.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ │ ├── reference-link
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ │ ├── sign-out-modal
│ │ │ │ │ └── index.tsx
│ │ │ │ └── subscription-landing
│ │ │ │ │ ├── notify.css.ts
│ │ │ │ │ ├── notify.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ ├── atoms
│ │ │ │ ├── index.ts
│ │ │ │ ├── page-history.ts
│ │ │ │ └── trash-modal.ts
│ │ │ ├── cloud
│ │ │ │ └── share-header-right-item
│ │ │ │ │ ├── import-template.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── present.tsx
│ │ │ │ │ ├── sign-in.tsx
│ │ │ │ │ ├── styles.css.ts
│ │ │ │ │ └── user-avatar.tsx
│ │ │ ├── comment
│ │ │ │ ├── comment-editor
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── linked-widget-config.ts
│ │ │ │ │ ├── specs.ts
│ │ │ │ │ └── style.css.ts
│ │ │ │ └── sidebar
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── style.css.ts
│ │ │ ├── context
│ │ │ │ └── index.tsx
│ │ │ ├── explorer
│ │ │ │ ├── context.ts
│ │ │ │ ├── display-menu
│ │ │ │ │ ├── group.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── order.tsx
│ │ │ │ │ ├── properties.css.ts
│ │ │ │ │ ├── properties.tsx
│ │ │ │ │ ├── quick-actions.tsx
│ │ │ │ │ ├── styles.css.ts
│ │ │ │ │ ├── view-toggle.css.ts
│ │ │ │ │ └── view-toggle.tsx
│ │ │ │ ├── docs-view
│ │ │ │ │ ├── doc-list-item.css.ts
│ │ │ │ │ ├── doc-list-item.tsx
│ │ │ │ │ ├── docs-list.css.ts
│ │ │ │ │ ├── docs-list.tsx
│ │ │ │ │ ├── group-header.css.ts
│ │ │ │ │ ├── group-header.tsx
│ │ │ │ │ ├── more-menu.tsx
│ │ │ │ │ ├── properties.css.ts
│ │ │ │ │ ├── properties.tsx
│ │ │ │ │ ├── quick-actions.tsx
│ │ │ │ │ └── stack-property.tsx
│ │ │ │ ├── header
│ │ │ │ │ ├── navigation.css.ts
│ │ │ │ │ └── navigation.tsx
│ │ │ │ ├── properties.ts
│ │ │ │ ├── quick-actions.constants.tsx
│ │ │ │ └── types.ts
│ │ │ ├── filter-container.css.ts
│ │ │ ├── filter
│ │ │ │ ├── add-filter.tsx
│ │ │ │ ├── conditions
│ │ │ │ │ ├── condition.tsx
│ │ │ │ │ ├── property.tsx
│ │ │ │ │ ├── styles.css.ts
│ │ │ │ │ ├── system.tsx
│ │ │ │ │ └── unknown.tsx
│ │ │ │ ├── filter-value-menu.tsx
│ │ │ │ ├── filter.tsx
│ │ │ │ ├── filters.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── options.tsx
│ │ │ │ └── styles.css.ts
│ │ │ ├── guard
│ │ │ │ ├── guard.tsx
│ │ │ │ ├── index.ts
│ │ │ │ └── use-guard.tsx
│ │ │ ├── hooks
│ │ │ │ ├── __tests__
│ │ │ │ │ └── use-system-online.spec.ts
│ │ │ │ ├── affine-async-hooks.ts
│ │ │ │ ├── affine
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── __tests__
│ │ │ │ │ │ └── use-sign-out.spec.ts
│ │ │ │ │ ├── use-ai-chat-config.ts
│ │ │ │ │ ├── use-ai-specs.ts
│ │ │ │ │ ├── use-ai-subscribe.ts
│ │ │ │ │ ├── use-app-setting-helper.ts
│ │ │ │ │ ├── use-block-suite-meta-helper.ts
│ │ │ │ │ ├── use-enable-ai.ts
│ │ │ │ │ ├── use-enable-cloud.tsx
│ │ │ │ │ ├── use-export-page.ts
│ │ │ │ │ ├── use-mutate-cloud.ts
│ │ │ │ │ ├── use-reference-link-helper.ts
│ │ │ │ │ ├── use-register-blocksuite-editor-commands.tsx
│ │ │ │ │ ├── use-register-copy-link-commands.tsx
│ │ │ │ │ ├── use-register-find-in-page-commands.ts
│ │ │ │ │ ├── use-selfhost-login-version-guard.tsx
│ │ │ │ │ ├── use-share-url.ts
│ │ │ │ │ ├── use-shortcuts.ts
│ │ │ │ │ ├── use-sign-out.ts
│ │ │ │ │ ├── use-subscription-notify.tsx
│ │ │ │ │ └── use-toggle-cloud-public.ts
│ │ │ │ ├── use-all-block-suite-page-meta.ts
│ │ │ │ ├── use-app-config-storage.ts
│ │ │ │ ├── use-app-updater.ts
│ │ │ │ ├── use-block-suite-editor.ts
│ │ │ │ ├── use-block-suite-page-meta.ts
│ │ │ │ ├── use-block-suite-workspace-helper.ts
│ │ │ │ ├── use-block-suite-workspace-page.ts
│ │ │ │ ├── use-blur-root.ts
│ │ │ │ ├── use-catch-event-hook.ts
│ │ │ │ ├── use-journal.ts
│ │ │ │ ├── use-mutation.ts
│ │ │ │ ├── use-navigate-helper.ts
│ │ │ │ ├── use-query.ts
│ │ │ │ ├── use-register-workspace-commands.ts
│ │ │ │ ├── use-responsive-siedebar.ts
│ │ │ │ ├── use-seek-time.ts
│ │ │ │ ├── use-system-online.ts
│ │ │ │ ├── use-workspace-info.ts
│ │ │ │ └── use-workspace.ts
│ │ │ ├── member-selector
│ │ │ │ ├── index.tsx
│ │ │ │ ├── inline-member-list.tsx
│ │ │ │ ├── item.tsx
│ │ │ │ └── styles.css.ts
│ │ │ ├── mobile
│ │ │ │ ├── config-modal
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ │ └── index.ts
│ │ │ ├── notification
│ │ │ │ ├── list.style.css.ts
│ │ │ │ └── list.tsx
│ │ │ ├── over-capacity
│ │ │ │ └── index.tsx
│ │ │ ├── page-detail-editor.css.ts
│ │ │ ├── page-detail-editor.tsx
│ │ │ ├── page-list
│ │ │ │ ├── __tests__
│ │ │ │ │ └── use-block-suite-page-preview.spec.ts
│ │ │ │ ├── collections
│ │ │ │ │ ├── collection-list-header.css.ts
│ │ │ │ │ ├── collection-list-header.tsx
│ │ │ │ │ ├── collection-list-item.css.ts
│ │ │ │ │ ├── collection-list-item.tsx
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── virtualized-collection-list.tsx
│ │ │ │ ├── components
│ │ │ │ │ ├── favorite-tag.tsx
│ │ │ │ │ ├── favorited-animation
│ │ │ │ │ │ └── data.json
│ │ │ │ │ ├── floating-toolbar.css.ts
│ │ │ │ │ ├── floating-toolbar.tsx
│ │ │ │ │ ├── list-floating-toolbar.css.ts
│ │ │ │ │ ├── list-floating-toolbar.tsx
│ │ │ │ │ ├── list-header-cell.css.ts
│ │ │ │ │ ├── list-header-cell.tsx
│ │ │ │ │ ├── new-page-button.css.ts
│ │ │ │ │ ├── new-page-button.tsx
│ │ │ │ │ ├── page-display-menu.css.ts
│ │ │ │ │ └── page-display-menu.tsx
│ │ │ │ ├── docs
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── page-list-new-page-button.css.ts
│ │ │ │ │ ├── page-list-new-page-button.tsx
│ │ │ │ │ ├── page-tags.css.ts
│ │ │ │ │ ├── page-tags.tsx
│ │ │ │ │ ├── select-page.css.ts
│ │ │ │ │ └── select-page.tsx
│ │ │ │ ├── group-definitions.css.ts
│ │ │ │ ├── group-definitions.tsx
│ │ │ │ ├── header-col-def.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── items-to-item-group.tsx
│ │ │ │ ├── list.css.ts
│ │ │ │ ├── list.tsx
│ │ │ │ ├── operation-cell.tsx
│ │ │ │ ├── operation-menu-items
│ │ │ │ │ ├── disable-public-sharing.tsx
│ │ │ │ │ ├── export.tsx
│ │ │ │ │ ├── index.css.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── move-to-trash.tsx
│ │ │ │ │ └── types.ts
│ │ │ │ ├── page-content-preview.tsx
│ │ │ │ ├── page-group.css.ts
│ │ │ │ ├── page-group.tsx
│ │ │ │ ├── page-header.css.ts
│ │ │ │ ├── page-header.tsx
│ │ │ │ ├── readme.md
│ │ │ │ ├── scoped-atoms.tsx
│ │ │ │ ├── selector
│ │ │ │ │ ├── selector-layout.css.ts
│ │ │ │ │ └── selector-layout.tsx
│ │ │ │ ├── tags
│ │ │ │ │ ├── create-tag.css.ts
│ │ │ │ │ ├── create-tag.tsx
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── tag-list-header.css.ts
│ │ │ │ │ ├── tag-list-header.tsx
│ │ │ │ │ ├── tag-list-item.css.ts
│ │ │ │ │ ├── tag-list-item.tsx
│ │ │ │ │ └── virtualized-tag-list.tsx
│ │ │ │ ├── types.ts
│ │ │ │ ├── use-all-doc-display-properties.ts
│ │ │ │ ├── use-block-suite-page-preview.ts
│ │ │ │ ├── use-block-suite-workspace-page.ts
│ │ │ │ ├── use-page-selection-events.ts
│ │ │ │ ├── utils.tsx
│ │ │ │ ├── view
│ │ │ │ │ ├── affine-shape.tsx
│ │ │ │ │ ├── collection-operations.css.ts
│ │ │ │ │ ├── collection-operations.tsx
│ │ │ │ │ ├── create-collection.css.ts
│ │ │ │ │ ├── create-collection.tsx
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── save-as-collection-button.css.ts
│ │ │ │ │ ├── save-as-collection-button.tsx
│ │ │ │ │ └── use-action.tsx
│ │ │ │ └── virtualized-list.tsx
│ │ │ ├── properties
│ │ │ │ ├── icons
│ │ │ │ │ ├── constant.ts
│ │ │ │ │ ├── icons-selector.css.ts
│ │ │ │ │ ├── icons-selector.tsx
│ │ │ │ │ └── workspace-property-icon.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── manager
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ │ ├── menu
│ │ │ │ │ ├── create-doc-property.css.ts
│ │ │ │ │ ├── create-doc-property.tsx
│ │ │ │ │ ├── edit-doc-property.css.ts
│ │ │ │ │ └── edit-doc-property.tsx
│ │ │ │ ├── name.tsx
│ │ │ │ ├── sidebar
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── section.css.ts
│ │ │ │ │ ├── section.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ │ ├── table.css.ts
│ │ │ │ ├── table.tsx
│ │ │ │ ├── types.ts
│ │ │ │ └── widgets
│ │ │ │ │ ├── radio-group.css.ts
│ │ │ │ │ └── radio-group.tsx
│ │ │ ├── providers
│ │ │ │ ├── current-server-scope.tsx
│ │ │ │ ├── current-workspace-scope.tsx
│ │ │ │ ├── swr-config-provider.tsx
│ │ │ │ └── workspace-side-effects.tsx
│ │ │ ├── pure
│ │ │ │ ├── file-upload
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── header-drop-down-button
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ │ ├── header
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── style.css.tsx
│ │ │ │ │ └── windows-app-controls.tsx
│ │ │ │ ├── help-island
│ │ │ │ │ ├── icons.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── style.ts
│ │ │ │ ├── icons
│ │ │ │ │ ├── favorite-icon.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── swr-error-bundary.tsx
│ │ │ │ ├── trash-page-footer
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ │ └── workspace-mode-filter-tab
│ │ │ │ │ ├── index.css.ts
│ │ │ │ │ └── index.tsx
│ │ │ ├── root-app-sidebar
│ │ │ │ ├── index.css.ts
│ │ │ │ ├── index.tsx
│ │ │ │ ├── invite-members-button.tsx
│ │ │ │ ├── journal-button.tsx
│ │ │ │ ├── notification-button.style.css.ts
│ │ │ │ ├── notification-button.tsx
│ │ │ │ ├── sidebar-audio-player.css.ts
│ │ │ │ ├── sidebar-audio-player.tsx
│ │ │ │ ├── template-doc-entrance.tsx
│ │ │ │ ├── trash-button.tsx
│ │ │ │ ├── updater-button.tsx
│ │ │ │ └── user-info
│ │ │ │ │ ├── account-menu.tsx
│ │ │ │ │ ├── account.tsx
│ │ │ │ │ ├── ai-usage.tsx
│ │ │ │ │ ├── cloud-usage.tsx
│ │ │ │ │ ├── index.css.ts
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── team-list.tsx
│ │ │ │ │ └── unknow-user.tsx
│ │ │ ├── server-selector
│ │ │ │ ├── index.tsx
│ │ │ │ └── style.css.ts
│ │ │ ├── sign-in
│ │ │ │ ├── add-selfhosted.tsx
│ │ │ │ ├── back.tsx
│ │ │ │ ├── background-arts
│ │ │ │ │ ├── art-dark.inline.svg
│ │ │ │ │ ├── art-light.inline.svg
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── style.css.ts
│ │ │ │ ├── captcha.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── sign-in-with-email.tsx
│ │ │ │ ├── sign-in-with-password.tsx
│ │ │ │ ├── sign-in.tsx
│ │ │ │ └── style.css.ts
│ │ │ ├── system-property-types
│ │ │ │ ├── created-updated-at.tsx
│ │ │ │ ├── created-updated-by.tsx
│ │ │ │ ├── edgeless-theme.tsx
│ │ │ │ ├── favorite.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── integration-type.tsx
│ │ │ │ ├── page-width.tsx
│ │ │ │ ├── shared.tsx
│ │ │ │ ├── tags.tsx
│ │ │ │ └── template.tsx
│ │ │ ├── tags
│ │ │ │ ├── index.ts
│ │ │ │ ├── inline-tag-list.css.ts
│ │ │ │ ├── inline-tag-list.tsx
│ │ │ │ ├── readme.md
│ │ │ │ ├── styles.css.ts
│ │ │ │ ├── tag-edit-menu.css.ts
│ │ │ │ ├── tag-edit-menu.tsx
│ │ │ │ ├── tag.css.ts
│ │ │ │ ├── tag.tsx
│ │ │ │ ├── tags-editor.tsx
│ │ │ │ └── types.ts
│ │ │ ├── telemetry
│ │ │ │ └── index.tsx
│ │ │ ├── theme-provider
│ │ │ │ └── index.tsx
│ │ │ ├── top-tip.tsx
│ │ │ ├── workspace-avatar
│ │ │ │ └── index.tsx
│ │ │ ├── workspace-property-types
│ │ │ │ ├── checkbox.css.ts
│ │ │ │ ├── checkbox.tsx
│ │ │ │ ├── created-updated-at.css.ts
│ │ │ │ ├── created-updated-at.tsx
│ │ │ │ ├── created-updated-by.css.ts
│ │ │ │ ├── created-updated-by.tsx
│ │ │ │ ├── date.css.ts
│ │ │ │ ├── date.tsx
│ │ │ │ ├── doc-primary-mode.css.ts
│ │ │ │ ├── doc-primary-mode.tsx
│ │ │ │ ├── edgeless-theme.css.ts
│ │ │ │ ├── edgeless-theme.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── journal.css.ts
│ │ │ │ ├── journal.tsx
│ │ │ │ ├── number.css.ts
│ │ │ │ ├── number.tsx
│ │ │ │ ├── page-width.css.ts
│ │ │ │ ├── page-width.tsx
│ │ │ │ ├── tags.css.ts
│ │ │ │ ├── tags.tsx
│ │ │ │ ├── template.css.ts
│ │ │ │ ├── template.tsx
│ │ │ │ ├── text.css.ts
│ │ │ │ └── text.tsx
│ │ │ └── workspace-selector
│ │ │ │ ├── enable-cloud
│ │ │ │ ├── enable-cloud.css.ts
│ │ │ │ ├── enable-cloud.tsx
│ │ │ │ └── index.ts
│ │ │ │ ├── index.tsx
│ │ │ │ ├── user-with-workspace-list
│ │ │ │ ├── add-server
│ │ │ │ │ ├── index.css.ts
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── add-workspace
│ │ │ │ │ ├── index.css.ts
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── index.css.ts
│ │ │ │ ├── index.tsx
│ │ │ │ ├── user-account
│ │ │ │ │ ├── index.css.ts
│ │ │ │ │ └── index.tsx
│ │ │ │ └── workspace-list
│ │ │ │ │ ├── index.css.ts
│ │ │ │ │ └── index.tsx
│ │ │ │ └── workspace-card
│ │ │ │ ├── index.tsx
│ │ │ │ ├── pure-workspace-card.tsx
│ │ │ │ └── styles.css.ts
│ │ ├── desktop
│ │ │ ├── components
│ │ │ │ ├── ai-island
│ │ │ │ │ ├── container.css.ts
│ │ │ │ │ ├── container.tsx
│ │ │ │ │ ├── icons.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ │ ├── app-container
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ │ ├── document-title
│ │ │ │ │ └── index.tsx
│ │ │ │ └── navigation-panel
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── layouts
│ │ │ │ │ ├── collapsible-section.css.ts
│ │ │ │ │ ├── collapsible-section.tsx
│ │ │ │ │ ├── empty-node-children.css.ts
│ │ │ │ │ ├── empty-node-children.tsx
│ │ │ │ │ ├── empty-section.css.ts
│ │ │ │ │ └── empty-section.tsx
│ │ │ │ │ ├── nodes
│ │ │ │ │ ├── collection
│ │ │ │ │ │ ├── empty.tsx
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ └── operations.tsx
│ │ │ │ │ ├── doc
│ │ │ │ │ │ ├── empty.tsx
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ ├── operations.tsx
│ │ │ │ │ │ └── styles.css.ts
│ │ │ │ │ ├── folder
│ │ │ │ │ │ ├── empty.css.ts
│ │ │ │ │ │ ├── empty.tsx
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ └── operations.tsx
│ │ │ │ │ ├── tag
│ │ │ │ │ │ ├── empty.tsx
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ ├── operations.tsx
│ │ │ │ │ │ └── styles.css.ts
│ │ │ │ │ └── types.ts
│ │ │ │ │ ├── sections
│ │ │ │ │ ├── collections
│ │ │ │ │ │ ├── empty.tsx
│ │ │ │ │ │ ├── index.css.ts
│ │ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── favorites
│ │ │ │ │ │ ├── dnd.ts
│ │ │ │ │ │ ├── empty.tsx
│ │ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── migration-favorites
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ └── styles.css.ts
│ │ │ │ │ ├── organize
│ │ │ │ │ │ ├── dnd.ts
│ │ │ │ │ │ ├── empty.tsx
│ │ │ │ │ │ └── index.tsx
│ │ │ │ │ └── tags
│ │ │ │ │ │ ├── empty.tsx
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ └── styles.css.ts
│ │ │ │ │ └── tree
│ │ │ │ │ ├── context.tsx
│ │ │ │ │ ├── drop-effect.css.ts
│ │ │ │ │ ├── drop-effect.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── node.css.ts
│ │ │ │ │ ├── node.tsx
│ │ │ │ │ ├── root.css.ts
│ │ │ │ │ ├── root.tsx
│ │ │ │ │ └── types.ts
│ │ │ ├── dialogs
│ │ │ │ ├── change-password
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── collection-editor
│ │ │ │ │ ├── edit-collection.css.ts
│ │ │ │ │ ├── edit-collection.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── rules-mode.tsx
│ │ │ │ ├── create-workspace
│ │ │ │ │ ├── index.css.ts
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── server-selector.css.ts
│ │ │ │ │ └── server-selector.tsx
│ │ │ │ ├── deleted-account
│ │ │ │ │ ├── index.css.ts
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── doc-info
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── info-modal.css.ts
│ │ │ │ │ ├── info-modal.tsx
│ │ │ │ │ ├── links-row.css.ts
│ │ │ │ │ ├── links-row.tsx
│ │ │ │ │ ├── styles.css.ts
│ │ │ │ │ ├── time-row.css.ts
│ │ │ │ │ └── time-row.tsx
│ │ │ │ ├── enable-cloud
│ │ │ │ │ ├── dialog.css.ts
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── import-template
│ │ │ │ │ ├── dialog.css.ts
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── import-workspace
│ │ │ │ │ ├── dialog.css.ts
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── import
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ │ ├── index.tsx
│ │ │ │ ├── selectors
│ │ │ │ │ ├── collection.tsx
│ │ │ │ │ ├── date.tsx
│ │ │ │ │ ├── doc.tsx
│ │ │ │ │ └── tag.tsx
│ │ │ │ ├── setting
│ │ │ │ │ ├── account-setting
│ │ │ │ │ │ ├── ai-usage-panel.tsx
│ │ │ │ │ │ ├── delete-account.tsx
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ ├── storage-progress.css.ts
│ │ │ │ │ │ ├── storage-progress.tsx
│ │ │ │ │ │ └── style.css.ts
│ │ │ │ │ ├── general-setting
│ │ │ │ │ │ ├── about
│ │ │ │ │ │ │ ├── config.tsx
│ │ │ │ │ │ │ ├── icons.tsx
│ │ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ │ ├── style.css.ts
│ │ │ │ │ │ │ └── update-check-section.tsx
│ │ │ │ │ │ ├── appearance
│ │ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ │ ├── links.css.ts
│ │ │ │ │ │ │ ├── links.tsx
│ │ │ │ │ │ │ ├── style.css.ts
│ │ │ │ │ │ │ └── theme-editor-setting.tsx
│ │ │ │ │ │ ├── backup
│ │ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ │ └── styles.css.ts
│ │ │ │ │ │ ├── billing
│ │ │ │ │ │ │ ├── ai-plan-card.tsx
│ │ │ │ │ │ │ ├── biliever-identifier.tsx
│ │ │ │ │ │ │ ├── billing-history.tsx
│ │ │ │ │ │ │ ├── card-name-label-row.tsx
│ │ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ │ ├── payment-method.tsx
│ │ │ │ │ │ │ ├── pro-plan-card.tsx
│ │ │ │ │ │ │ ├── style.css.ts
│ │ │ │ │ │ │ └── typeform-link.tsx
│ │ │ │ │ │ ├── editor
│ │ │ │ │ │ │ ├── edgeless
│ │ │ │ │ │ │ │ ├── connector.tsx
│ │ │ │ │ │ │ │ ├── docs
│ │ │ │ │ │ │ │ │ ├── connector.json
│ │ │ │ │ │ │ │ │ ├── flow.json
│ │ │ │ │ │ │ │ │ ├── frame.json
│ │ │ │ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ │ │ │ ├── mindmap.json
│ │ │ │ │ │ │ │ │ ├── note.json
│ │ │ │ │ │ │ │ │ ├── pen.json
│ │ │ │ │ │ │ │ │ ├── shape.json
│ │ │ │ │ │ │ │ │ └── text.json
│ │ │ │ │ │ │ │ ├── edgeless.tsx
│ │ │ │ │ │ │ │ ├── frame.tsx
│ │ │ │ │ │ │ │ ├── general.tsx
│ │ │ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ │ │ ├── mind-map.tsx
│ │ │ │ │ │ │ │ ├── note.tsx
│ │ │ │ │ │ │ │ ├── pen.tsx
│ │ │ │ │ │ │ │ ├── point.tsx
│ │ │ │ │ │ │ │ ├── shape.tsx
│ │ │ │ │ │ │ │ ├── snapshot.tsx
│ │ │ │ │ │ │ │ ├── text.tsx
│ │ │ │ │ │ │ │ └── utils.ts
│ │ │ │ │ │ │ ├── general.tsx
│ │ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ │ ├── menu.tsx
│ │ │ │ │ │ │ ├── page.tsx
│ │ │ │ │ │ │ ├── preferences.tsx
│ │ │ │ │ │ │ ├── style.css.ts
│ │ │ │ │ │ │ └── utils.ts
│ │ │ │ │ │ ├── experimental-features
│ │ │ │ │ │ │ ├── arts.css.ts
│ │ │ │ │ │ │ ├── arts.tsx
│ │ │ │ │ │ │ ├── dark-art-svg.ts
│ │ │ │ │ │ │ ├── index.css.ts
│ │ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ │ └── light-art-svg.ts
│ │ │ │ │ │ ├── icons.tsx
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ ├── meetings
│ │ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ │ ├── meeting-apps.dark.assets.svg
│ │ │ │ │ │ │ ├── meeting-apps.light.assets.svg
│ │ │ │ │ │ │ ├── styles.css.ts
│ │ │ │ │ │ │ ├── use-enable-recording.ts
│ │ │ │ │ │ │ ├── welcome-page.css.ts
│ │ │ │ │ │ │ └── welcome-page.tsx
│ │ │ │ │ │ ├── notifications
│ │ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ │ └── style.css.ts
│ │ │ │ │ │ ├── plans
│ │ │ │ │ │ │ ├── actions.tsx
│ │ │ │ │ │ │ ├── ai
│ │ │ │ │ │ │ │ ├── actions
│ │ │ │ │ │ │ │ │ ├── cancel.tsx
│ │ │ │ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ │ │ │ ├── login.tsx
│ │ │ │ │ │ │ │ │ ├── redeem.tsx
│ │ │ │ │ │ │ │ │ ├── resume.tsx
│ │ │ │ │ │ │ │ │ └── subscribe.tsx
│ │ │ │ │ │ │ │ ├── ai-plan.css.ts
│ │ │ │ │ │ │ │ ├── ai-plan.tsx
│ │ │ │ │ │ │ │ ├── benefits.tsx
│ │ │ │ │ │ │ │ └── layout.tsx
│ │ │ │ │ │ │ ├── checkout-slot.tsx
│ │ │ │ │ │ │ ├── cloud-plans.tsx
│ │ │ │ │ │ │ ├── icons
│ │ │ │ │ │ │ │ └── bulled-list.tsx
│ │ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ │ ├── layout.css.ts
│ │ │ │ │ │ │ ├── layout.tsx
│ │ │ │ │ │ │ ├── lifetime
│ │ │ │ │ │ │ │ ├── assets.ts
│ │ │ │ │ │ │ │ ├── believer-card.css.ts
│ │ │ │ │ │ │ │ ├── believer-card.tsx
│ │ │ │ │ │ │ │ ├── benefits.css.ts
│ │ │ │ │ │ │ │ ├── benefits.tsx
│ │ │ │ │ │ │ │ ├── lifetime-plan.tsx
│ │ │ │ │ │ │ │ └── style.css.ts
│ │ │ │ │ │ │ ├── modals.tsx
│ │ │ │ │ │ │ ├── plan-card.tsx
│ │ │ │ │ │ │ ├── skeleton.css.ts
│ │ │ │ │ │ │ ├── skeleton.tsx
│ │ │ │ │ │ │ └── style.css.ts
│ │ │ │ │ │ └── shortcuts
│ │ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ │ └── style.css.ts
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── issue-feedback-modal
│ │ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── setting-sidebar
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ └── style.css.ts
│ │ │ │ │ ├── star-affine-modal
│ │ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── style.css.ts
│ │ │ │ │ ├── sub-page.css.ts
│ │ │ │ │ ├── sub-page.tsx
│ │ │ │ │ ├── types.ts
│ │ │ │ │ └── workspace-setting
│ │ │ │ │ │ ├── billing
│ │ │ │ │ │ ├── billing-history.tsx
│ │ │ │ │ │ ├── card-name-label-row.tsx
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ ├── payment-method.tsx
│ │ │ │ │ │ ├── styles.css.ts
│ │ │ │ │ │ ├── team-card.tsx
│ │ │ │ │ │ └── typeform-link.tsx
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ ├── integration
│ │ │ │ │ │ ├── calendar
│ │ │ │ │ │ │ ├── setting-panel.css.ts
│ │ │ │ │ │ │ ├── setting-panel.tsx
│ │ │ │ │ │ │ ├── subscription-setting.css.ts
│ │ │ │ │ │ │ └── subscription-setting.tsx
│ │ │ │ │ │ ├── card.css.ts
│ │ │ │ │ │ ├── card.tsx
│ │ │ │ │ │ ├── constants.tsx
│ │ │ │ │ │ ├── index.css.ts
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ ├── mcp-server
│ │ │ │ │ │ │ ├── MCP.inline.svg
│ │ │ │ │ │ │ ├── setting-panel.css.ts
│ │ │ │ │ │ │ └── setting-panel.tsx
│ │ │ │ │ │ ├── readwise
│ │ │ │ │ │ │ ├── connect.tsx
│ │ │ │ │ │ │ ├── connected.css.ts
│ │ │ │ │ │ │ ├── connected.tsx
│ │ │ │ │ │ │ ├── import-dialog.css.ts
│ │ │ │ │ │ │ ├── import-dialog.tsx
│ │ │ │ │ │ │ ├── index.css.ts
│ │ │ │ │ │ │ ├── setting-panel.css.ts
│ │ │ │ │ │ │ ├── setting-panel.tsx
│ │ │ │ │ │ │ └── track.ts
│ │ │ │ │ │ ├── setting.css.ts
│ │ │ │ │ │ └── setting.tsx
│ │ │ │ │ │ ├── license
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ ├── self-host-team-card.tsx
│ │ │ │ │ │ ├── self-host-team-plan.css.ts
│ │ │ │ │ │ ├── self-host-team-plan.tsx
│ │ │ │ │ │ ├── styles.css.ts
│ │ │ │ │ │ ├── upload-license-modal.css.ts
│ │ │ │ │ │ └── upload-license-modal.tsx
│ │ │ │ │ │ ├── members
│ │ │ │ │ │ ├── cloud-members-panel.tsx
│ │ │ │ │ │ ├── confirm-assign-modal.tsx
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ ├── member-list.tsx
│ │ │ │ │ │ ├── member-option.tsx
│ │ │ │ │ │ └── styles.css.ts
│ │ │ │ │ │ ├── preference
│ │ │ │ │ │ ├── ai.tsx
│ │ │ │ │ │ ├── delete-leave-workspace
│ │ │ │ │ │ │ ├── delete
│ │ │ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ │ │ └── style.css.ts
│ │ │ │ │ │ │ └── index.tsx
│ │ │ │ │ │ ├── enable-cloud.tsx
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ ├── labels.tsx
│ │ │ │ │ │ ├── profile.tsx
│ │ │ │ │ │ ├── sharing.tsx
│ │ │ │ │ │ ├── style.css.ts
│ │ │ │ │ │ ├── template.css.ts
│ │ │ │ │ │ ├── template.tsx
│ │ │ │ │ │ └── types.ts
│ │ │ │ │ │ ├── properties
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ └── styles.css.ts
│ │ │ │ │ │ └── storage
│ │ │ │ │ │ ├── blob-management.tsx
│ │ │ │ │ │ ├── export.tsx
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ ├── style.css.ts
│ │ │ │ │ │ └── workspace-quota.tsx
│ │ │ │ ├── sign-in
│ │ │ │ │ └── index.tsx
│ │ │ │ └── verify-email
│ │ │ │ │ └── index.tsx
│ │ │ ├── pages
│ │ │ │ ├── 404
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── ai-upgrade-success
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ │ ├── auth
│ │ │ │ │ ├── auth.tsx
│ │ │ │ │ ├── common.ts
│ │ │ │ │ ├── confirm-change-email.tsx
│ │ │ │ │ ├── email-verified-email.tsx
│ │ │ │ │ ├── magic-link.tsx
│ │ │ │ │ ├── oauth-callback.tsx
│ │ │ │ │ ├── oauth-login.tsx
│ │ │ │ │ └── sign-in.tsx
│ │ │ │ ├── expired
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── import-clipper
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── style.css.ts
│ │ │ │ ├── import-template
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── index
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── invite
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── onboarding
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── open-app
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── open-app.css.ts
│ │ │ │ ├── redirect
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── root
│ │ │ │ │ ├── custom-theme
│ │ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── find-in-page
│ │ │ │ │ │ ├── find-in-page-popup.css.ts
│ │ │ │ │ │ └── find-in-page-popup.tsx
│ │ │ │ │ ├── global-loading
│ │ │ │ │ │ ├── index.css.ts
│ │ │ │ │ │ └── index.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── subscribe
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── subscribe.css.ts
│ │ │ │ ├── theme-editor
│ │ │ │ │ ├── components
│ │ │ │ │ │ ├── color-cell.tsx
│ │ │ │ │ │ ├── empty.tsx
│ │ │ │ │ │ ├── simple-color-picker.css.ts
│ │ │ │ │ │ ├── simple-color-picker.tsx
│ │ │ │ │ │ ├── string-cell.css.ts
│ │ │ │ │ │ ├── string-cell.tsx
│ │ │ │ │ │ ├── tree-node.tsx
│ │ │ │ │ │ └── variable-list.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── resource.ts
│ │ │ │ │ ├── theme-editor.css.ts
│ │ │ │ │ ├── theme-editor.tsx
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── upgrade-success
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── self-host-team
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ └── styles.css.ts
│ │ │ │ │ ├── styles.css.ts
│ │ │ │ │ └── team
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ └── styles.css.ts
│ │ │ │ ├── upgrade-to-team
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ │ └── workspace
│ │ │ │ │ ├── all-collection
│ │ │ │ │ ├── header.css.ts
│ │ │ │ │ ├── header.tsx
│ │ │ │ │ ├── index.css.ts
│ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── all-page
│ │ │ │ │ ├── all-page-header.css.ts
│ │ │ │ │ ├── all-page-header.tsx
│ │ │ │ │ ├── all-page.css.ts
│ │ │ │ │ ├── all-page.tsx
│ │ │ │ │ ├── dark-migration.png
│ │ │ │ │ ├── light-migration.png
│ │ │ │ │ ├── migration-data.css.ts
│ │ │ │ │ ├── migration-data.tsx
│ │ │ │ │ ├── pinned-collections.css.ts
│ │ │ │ │ └── pinned-collections.tsx
│ │ │ │ │ ├── all-tag
│ │ │ │ │ ├── all-tag.css.ts
│ │ │ │ │ ├── header.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── attachment
│ │ │ │ │ ├── index.css.ts
│ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── chat
│ │ │ │ │ ├── index.css.ts
│ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── collection
│ │ │ │ │ ├── collection.css.ts
│ │ │ │ │ ├── header.tsx
│ │ │ │ │ ├── index.css.ts
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── list-header.tsx
│ │ │ │ │ ├── detail-page
│ │ │ │ │ ├── detail-page-header.css.ts
│ │ │ │ │ ├── detail-page-header.tsx
│ │ │ │ │ ├── detail-page-wrapper.tsx
│ │ │ │ │ ├── detail-page.css.ts
│ │ │ │ │ ├── detail-page.tsx
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── tabs
│ │ │ │ │ │ ├── adapter.css.ts
│ │ │ │ │ │ ├── adapter.tsx
│ │ │ │ │ │ ├── chat.css.ts
│ │ │ │ │ │ ├── chat.tsx
│ │ │ │ │ │ ├── frame.css.ts
│ │ │ │ │ │ ├── frame.tsx
│ │ │ │ │ │ ├── journal
│ │ │ │ │ │ │ ├── assets.ts
│ │ │ │ │ │ │ ├── calendar-events.css.ts
│ │ │ │ │ │ │ ├── calendar-events.tsx
│ │ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ │ ├── journal.css.ts
│ │ │ │ │ │ │ ├── template-onboarding.css.ts
│ │ │ │ │ │ │ ├── template-onboarding.tsx
│ │ │ │ │ │ │ ├── template-setting.css.ts
│ │ │ │ │ │ │ └── template-setting.tsx
│ │ │ │ │ │ ├── outline.css.ts
│ │ │ │ │ │ └── outline.tsx
│ │ │ │ │ └── use-header-responsive.ts
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── journals
│ │ │ │ │ ├── index.css.ts
│ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── layouts
│ │ │ │ │ ├── all-doc-sidebar-tabs.tsx
│ │ │ │ │ └── workspace-layout.tsx
│ │ │ │ │ ├── page-list-empty.css.ts
│ │ │ │ │ ├── page-list-empty.tsx
│ │ │ │ │ ├── settings
│ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── share
│ │ │ │ │ ├── share-footer.css.ts
│ │ │ │ │ ├── share-footer.tsx
│ │ │ │ │ ├── share-header.css.ts
│ │ │ │ │ ├── share-header.tsx
│ │ │ │ │ ├── share-page.css.ts
│ │ │ │ │ └── share-page.tsx
│ │ │ │ │ ├── tag
│ │ │ │ │ ├── header.tsx
│ │ │ │ │ ├── index.css.ts
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── list-header.css.ts
│ │ │ │ │ └── list-header.tsx
│ │ │ │ │ ├── trash-page.css.ts
│ │ │ │ │ └── trash-page.tsx
│ │ │ ├── router.tsx
│ │ │ ├── storage.ts
│ │ │ └── workbench-router.ts
│ │ ├── mobile
│ │ │ ├── components
│ │ │ │ ├── README.md
│ │ │ │ ├── app-fallback
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── app-tabs
│ │ │ │ │ ├── constants.ts
│ │ │ │ │ ├── create.tsx
│ │ │ │ │ ├── data.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── journal.tsx
│ │ │ │ │ ├── styles.css.ts
│ │ │ │ │ ├── tab-item.tsx
│ │ │ │ │ └── type.ts
│ │ │ │ ├── doc-card
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── styles.css.tsx
│ │ │ │ │ ├── tag.css.ts
│ │ │ │ │ └── tag.tsx
│ │ │ │ ├── doc-info
│ │ │ │ │ ├── doc-info.css.ts
│ │ │ │ │ ├── doc-info.tsx
│ │ │ │ │ ├── doc-scope.tsx
│ │ │ │ │ └── index.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── navigation-back
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── navigation
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── layouts
│ │ │ │ │ │ ├── add-item-placeholder.css.ts
│ │ │ │ │ │ ├── add-item-placeholder.tsx
│ │ │ │ │ │ ├── collapsible-section.css.ts
│ │ │ │ │ │ └── collapsible-section.tsx
│ │ │ │ │ ├── nodes
│ │ │ │ │ │ ├── collection
│ │ │ │ │ │ │ ├── dialog.tsx
│ │ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ │ └── operations.tsx
│ │ │ │ │ │ ├── doc
│ │ │ │ │ │ │ ├── dialog.tsx
│ │ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ │ ├── operations.tsx
│ │ │ │ │ │ │ └── styles.css.ts
│ │ │ │ │ │ ├── folder
│ │ │ │ │ │ │ ├── dialog.tsx
│ │ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ │ └── operations.tsx
│ │ │ │ │ │ └── tag
│ │ │ │ │ │ │ ├── dialog.css.ts
│ │ │ │ │ │ │ ├── dialog.tsx
│ │ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ │ ├── operations.tsx
│ │ │ │ │ │ │ └── styles.css.ts
│ │ │ │ │ ├── sections
│ │ │ │ │ │ ├── collections
│ │ │ │ │ │ │ ├── index.css.ts
│ │ │ │ │ │ │ └── index.tsx
│ │ │ │ │ │ ├── favorites
│ │ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ │ └── loading.tsx
│ │ │ │ │ │ ├── organize
│ │ │ │ │ │ │ └── index.tsx
│ │ │ │ │ │ └── tags
│ │ │ │ │ │ │ └── index.tsx
│ │ │ │ │ └── tree
│ │ │ │ │ │ ├── node.css.ts
│ │ │ │ │ │ ├── node.tsx
│ │ │ │ │ │ ├── root.css.ts
│ │ │ │ │ │ └── root.tsx
│ │ │ │ ├── page-header
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ │ ├── page
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ │ ├── rename
│ │ │ │ │ ├── content.css.ts
│ │ │ │ │ ├── content.tsx
│ │ │ │ │ ├── dialog.css.ts
│ │ │ │ │ ├── dialog.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── sub-menu.tsx
│ │ │ │ │ └── type.ts
│ │ │ │ ├── search-input
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── style.css.ts
│ │ │ │ ├── search-result
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── search-res-label.tsx
│ │ │ │ │ ├── universal-item.css.ts
│ │ │ │ │ └── universal-item.tsx
│ │ │ │ ├── sign-in
│ │ │ │ │ ├── art-dark.inline.svg
│ │ │ │ │ ├── art-light.inline.svg
│ │ │ │ │ ├── background.css.ts
│ │ │ │ │ ├── background.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── layout.css.ts
│ │ │ │ │ └── layout.tsx
│ │ │ │ ├── swipe-menu
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ │ ├── toc-menu
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── user-plan-tag
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── style.css.ts
│ │ │ │ └── workspace-selector
│ │ │ │ │ ├── card.css.ts
│ │ │ │ │ ├── current-card.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── menu.css.ts
│ │ │ │ │ └── menu.tsx
│ │ │ ├── dialogs
│ │ │ │ ├── index.tsx
│ │ │ │ ├── selectors
│ │ │ │ │ ├── collection-selector.tsx
│ │ │ │ │ ├── date-selector.tsx
│ │ │ │ │ ├── doc-selector.tsx
│ │ │ │ │ ├── generic-selector.tsx
│ │ │ │ │ ├── generic.css.ts
│ │ │ │ │ └── tag-selector.tsx
│ │ │ │ ├── setting
│ │ │ │ │ ├── about
│ │ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── appearance
│ │ │ │ │ │ ├── font.tsx
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ ├── language.tsx
│ │ │ │ │ │ └── theme.tsx
│ │ │ │ │ ├── dropdown-select.css.ts
│ │ │ │ │ ├── dropdown-select.tsx
│ │ │ │ │ ├── experimental
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ └── styles.css.ts
│ │ │ │ │ ├── group.css.ts
│ │ │ │ │ ├── group.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── others
│ │ │ │ │ │ ├── delete-account.css.ts
│ │ │ │ │ │ ├── delete-account.tsx
│ │ │ │ │ │ ├── index.css.ts
│ │ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── row.layout.tsx
│ │ │ │ │ ├── style.css.ts
│ │ │ │ │ ├── subscription
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ └── styles.css.ts
│ │ │ │ │ ├── swipe-dialog.css.ts
│ │ │ │ │ ├── swipe-dialog.tsx
│ │ │ │ │ ├── user-profile
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ └── style.css.ts
│ │ │ │ │ └── user-usage
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ └── style.css.ts
│ │ │ │ └── sign-in
│ │ │ │ │ └── index.tsx
│ │ │ ├── hooks
│ │ │ │ └── use-global-events.ts
│ │ │ ├── modules
│ │ │ │ ├── haptics
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── providers
│ │ │ │ │ │ └── haptic.ts
│ │ │ │ │ └── services
│ │ │ │ │ │ └── haptics.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── navigation-gesture
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── providers
│ │ │ │ │ │ └── navigation-gesture.ts
│ │ │ │ │ └── services
│ │ │ │ │ │ └── navigation-gesture.ts
│ │ │ │ ├── search
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── service
│ │ │ │ │ │ └── search.ts
│ │ │ │ └── virtual-keyboard
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── providers
│ │ │ │ │ └── virtual-keyboard.ts
│ │ │ │ │ └── services
│ │ │ │ │ └── virtual-keyboard.ts
│ │ │ ├── pages
│ │ │ │ ├── 404.tsx
│ │ │ │ ├── auth.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── root
│ │ │ │ │ └── index.tsx
│ │ │ │ ├── sign-in.tsx
│ │ │ │ └── workspace
│ │ │ │ │ ├── all.tsx
│ │ │ │ │ ├── collection
│ │ │ │ │ ├── detail.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── detail
│ │ │ │ │ ├── journal-conflict-block.css.ts
│ │ │ │ │ ├── journal-conflict-block.tsx
│ │ │ │ │ ├── journal-date-picker
│ │ │ │ │ │ ├── constants.ts
│ │ │ │ │ │ ├── context.ts
│ │ │ │ │ │ ├── day-cell.css.ts
│ │ │ │ │ │ ├── day-cell.tsx
│ │ │ │ │ │ ├── index.tsx
│ │ │ │ │ │ ├── month.css.ts
│ │ │ │ │ │ ├── month.tsx
│ │ │ │ │ │ ├── utils.ts
│ │ │ │ │ │ ├── viewport.css.ts
│ │ │ │ │ │ ├── viewport.tsx
│ │ │ │ │ │ ├── week.css.ts
│ │ │ │ │ │ └── week.tsx
│ │ │ │ │ ├── menu
│ │ │ │ │ │ ├── journal-conflicts.css.ts
│ │ │ │ │ │ ├── journal-conflicts.tsx
│ │ │ │ │ │ ├── journal-today-activity.css.ts
│ │ │ │ │ │ ├── journal-today-activity.tsx
│ │ │ │ │ │ ├── mode-switch.css.ts
│ │ │ │ │ │ └── mode-switch.tsx
│ │ │ │ │ ├── mobile-detail-page.css.ts
│ │ │ │ │ ├── mobile-detail-page.tsx
│ │ │ │ │ ├── page-header-more-button.css.ts
│ │ │ │ │ ├── page-header-more-button.tsx
│ │ │ │ │ ├── page-header-share-button.css.ts
│ │ │ │ │ └── page-header-share-button.tsx
│ │ │ │ │ ├── home.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── journals.css.ts
│ │ │ │ │ ├── journals.tsx
│ │ │ │ │ ├── layout.tsx
│ │ │ │ │ ├── search.tsx
│ │ │ │ │ ├── tag
│ │ │ │ │ ├── detail.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── trash.tsx
│ │ │ │ │ └── workbench-root.tsx
│ │ │ ├── router.tsx
│ │ │ ├── styles
│ │ │ │ ├── mobile.css.ts
│ │ │ │ └── variables.css.ts
│ │ │ ├── utils
│ │ │ │ ├── index.ts
│ │ │ │ └── swipe-helper.ts
│ │ │ ├── views
│ │ │ │ ├── README.md
│ │ │ │ ├── all-docs
│ │ │ │ │ ├── collection
│ │ │ │ │ │ ├── detail.css.ts
│ │ │ │ │ │ ├── detail.tsx
│ │ │ │ │ │ ├── empty.tsx
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── item.tsx
│ │ │ │ │ │ ├── list.tsx
│ │ │ │ │ │ └── styles.css.ts
│ │ │ │ │ ├── header.tsx
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── style.css.ts
│ │ │ │ │ ├── tabs.tsx
│ │ │ │ │ └── tag
│ │ │ │ │ │ ├── detail-header.tsx
│ │ │ │ │ │ ├── detail.css.ts
│ │ │ │ │ │ ├── detail.tsx
│ │ │ │ │ │ ├── empty.tsx
│ │ │ │ │ │ ├── index.ts
│ │ │ │ │ │ ├── item.tsx
│ │ │ │ │ │ ├── list.tsx
│ │ │ │ │ │ └── styles.css.ts
│ │ │ │ ├── home-header
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── recent-docs
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ │ └── search
│ │ │ │ │ ├── search-results.tsx
│ │ │ │ │ └── style.css.ts
│ │ │ └── workbench-router.ts
│ │ ├── modules
│ │ │ ├── ai-button
│ │ │ │ ├── index.ts
│ │ │ │ ├── provider
│ │ │ │ │ └── ai-button.ts
│ │ │ │ └── services
│ │ │ │ │ ├── ai-button.ts
│ │ │ │ │ ├── ai-draft.ts
│ │ │ │ │ ├── models.ts
│ │ │ │ │ ├── network-search.ts
│ │ │ │ │ ├── playground.ts
│ │ │ │ │ ├── reasoning.ts
│ │ │ │ │ └── tools-config.ts
│ │ │ ├── app-sidebar
│ │ │ │ ├── entities
│ │ │ │ │ ├── __tests__
│ │ │ │ │ │ └── app-sidebar.spec.ts
│ │ │ │ │ └── app-sidebar.ts
│ │ │ │ ├── impls
│ │ │ │ │ └── storage.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── providers
│ │ │ │ │ └── storage.ts
│ │ │ │ ├── services
│ │ │ │ │ └── app-sidebar.ts
│ │ │ │ └── views
│ │ │ │ │ ├── add-page-button
│ │ │ │ │ ├── index.css.ts
│ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── app-download-button
│ │ │ │ │ ├── index.css.ts
│ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── app-updater-button
│ │ │ │ │ ├── dot-animation.svg
│ │ │ │ │ ├── index.css.ts
│ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── category-divider
│ │ │ │ │ ├── index.css.ts
│ │ │ │ │ ├── index.stories.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── fallback.css.ts
│ │ │ │ │ ├── index.css.ts
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── menu-item
│ │ │ │ │ ├── external-menu-link-item.tsx
│ │ │ │ │ ├── index.css.ts
│ │ │ │ │ ├── index.stories.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── open-in-app-card
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── open-in-app-card.css.ts
│ │ │ │ │ └── open-in-app-card.tsx
│ │ │ │ │ ├── quick-search-input
│ │ │ │ │ ├── index.css.ts
│ │ │ │ │ ├── index.stories.tsx
│ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── sidebar-containers
│ │ │ │ │ ├── index.css.ts
│ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── sidebar-header
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── sidebar-switch.css.ts
│ │ │ │ │ └── sidebar-switch.tsx
│ │ │ │ │ └── spolight
│ │ │ │ │ ├── index.css.ts
│ │ │ │ │ ├── index.stories.tsx
│ │ │ │ │ └── index.tsx
│ │ │ ├── app-tabs-header
│ │ │ │ ├── index.ts
│ │ │ │ ├── services
│ │ │ │ │ └── app-tabs-header-service.ts
│ │ │ │ └── views
│ │ │ │ │ ├── app-tabs-header.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ ├── at-menu-config
│ │ │ │ ├── index.ts
│ │ │ │ └── services
│ │ │ │ │ └── index.ts
│ │ │ ├── backup
│ │ │ │ ├── index.ts
│ │ │ │ └── services
│ │ │ │ │ └── index.ts
│ │ │ ├── blob-management
│ │ │ │ ├── entity
│ │ │ │ │ └── unused-blobs.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── services
│ │ │ │ │ └── index.ts
│ │ │ ├── cloud
│ │ │ │ ├── constant.ts
│ │ │ │ ├── entities
│ │ │ │ │ ├── cloud-doc-meta.ts
│ │ │ │ │ ├── invoices.ts
│ │ │ │ │ ├── server.ts
│ │ │ │ │ ├── session.ts
│ │ │ │ │ ├── subscription-prices.ts
│ │ │ │ │ ├── subscription.ts
│ │ │ │ │ ├── user-copilot-quota.ts
│ │ │ │ │ ├── user-feature.ts
│ │ │ │ │ ├── user-quota.ts
│ │ │ │ │ ├── workspace-invoices.ts
│ │ │ │ │ └── workspace-subscription.ts
│ │ │ │ ├── events
│ │ │ │ │ ├── account-changed.ts
│ │ │ │ │ ├── account-logged-in.ts
│ │ │ │ │ ├── account-logged-out.ts
│ │ │ │ │ └── server-started.ts
│ │ │ │ ├── impl
│ │ │ │ │ └── auth.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── provider
│ │ │ │ │ ├── auth.ts
│ │ │ │ │ └── validator.ts
│ │ │ │ ├── scopes
│ │ │ │ │ └── server.ts
│ │ │ │ ├── services
│ │ │ │ │ ├── access-token.ts
│ │ │ │ │ ├── auth.ts
│ │ │ │ │ ├── blocksuite-writer-info.ts
│ │ │ │ │ ├── captcha.ts
│ │ │ │ │ ├── cloud-doc-meta.ts
│ │ │ │ │ ├── default-server.ts
│ │ │ │ │ ├── doc-created-by-updated-by-sync.ts
│ │ │ │ │ ├── doc-created-by.ts
│ │ │ │ │ ├── doc-updated-by.ts
│ │ │ │ │ ├── eventsource.ts
│ │ │ │ │ ├── fetch.ts
│ │ │ │ │ ├── graphql.ts
│ │ │ │ │ ├── invitation.ts
│ │ │ │ │ ├── invoices.ts
│ │ │ │ │ ├── public-user.ts
│ │ │ │ │ ├── selfhost-generate-license.ts
│ │ │ │ │ ├── selfhost-license.ts
│ │ │ │ │ ├── server.ts
│ │ │ │ │ ├── servers.ts
│ │ │ │ │ ├── subscription.ts
│ │ │ │ │ ├── user-copilot-quota.ts
│ │ │ │ │ ├── user-feature.ts
│ │ │ │ │ ├── user-quota.ts
│ │ │ │ │ ├── user-settings.ts
│ │ │ │ │ ├── workspace-invoices.ts
│ │ │ │ │ ├── workspace-server.ts
│ │ │ │ │ └── workspace-subscription.ts
│ │ │ │ ├── stores
│ │ │ │ │ ├── accept-invite.ts
│ │ │ │ │ ├── access-token.ts
│ │ │ │ │ ├── auth.ts
│ │ │ │ │ ├── cloud-doc-meta.ts
│ │ │ │ │ ├── doc-created-by-updated-by-sync.ts
│ │ │ │ │ ├── invite-info.ts
│ │ │ │ │ ├── invoices.ts
│ │ │ │ │ ├── public-user.ts
│ │ │ │ │ ├── selfhost-generate-license.ts
│ │ │ │ │ ├── selfhost-license.ts
│ │ │ │ │ ├── server-config.ts
│ │ │ │ │ ├── server-list.ts
│ │ │ │ │ ├── subscription.ts
│ │ │ │ │ ├── user-copilot-quota.ts
│ │ │ │ │ ├── user-feature.ts
│ │ │ │ │ ├── user-quota.ts
│ │ │ │ │ └── user-settings.ts
│ │ │ │ ├── types.ts
│ │ │ │ └── views
│ │ │ │ │ ├── public-user.css.ts
│ │ │ │ │ └── public-user.tsx
│ │ │ ├── collection-rules
│ │ │ │ ├── impls
│ │ │ │ │ ├── filters
│ │ │ │ │ │ ├── checkbox.ts
│ │ │ │ │ │ ├── created-at.ts
│ │ │ │ │ │ ├── created-by.ts
│ │ │ │ │ │ ├── date.ts
│ │ │ │ │ │ ├── doc-primary-mode.ts
│ │ │ │ │ │ ├── edgeless-theme.ts
│ │ │ │ │ │ ├── empty-journal.ts
│ │ │ │ │ │ ├── favorite.ts
│ │ │ │ │ │ ├── integration-type.ts
│ │ │ │ │ │ ├── journal.ts
│ │ │ │ │ │ ├── number.ts
│ │ │ │ │ │ ├── page-width.ts
│ │ │ │ │ │ ├── property.ts
│ │ │ │ │ │ ├── shared.ts
│ │ │ │ │ │ ├── system.ts
│ │ │ │ │ │ ├── tags.ts
│ │ │ │ │ │ ├── template.ts
│ │ │ │ │ │ ├── text.ts
│ │ │ │ │ │ ├── title.ts
│ │ │ │ │ │ ├── trash.ts
│ │ │ │ │ │ ├── updated-at.ts
│ │ │ │ │ │ └── updated-by.ts
│ │ │ │ │ ├── group-by
│ │ │ │ │ │ ├── checkbox.ts
│ │ │ │ │ │ ├── created-at.ts
│ │ │ │ │ │ ├── created-by.ts
│ │ │ │ │ │ ├── date.ts
│ │ │ │ │ │ ├── doc-primary-mode.ts
│ │ │ │ │ │ ├── edgeless-theme.ts
│ │ │ │ │ │ ├── integration-type.ts
│ │ │ │ │ │ ├── journal.ts
│ │ │ │ │ │ ├── number.ts
│ │ │ │ │ │ ├── page-width.ts
│ │ │ │ │ │ ├── property.ts
│ │ │ │ │ │ ├── system.ts
│ │ │ │ │ │ ├── tags.ts
│ │ │ │ │ │ ├── template.ts
│ │ │ │ │ │ ├── text.ts
│ │ │ │ │ │ ├── updated-at.ts
│ │ │ │ │ │ └── updated-by.ts
│ │ │ │ │ └── order-by
│ │ │ │ │ │ ├── checkbox.ts
│ │ │ │ │ │ ├── created-at.ts
│ │ │ │ │ │ ├── created-by.ts
│ │ │ │ │ │ ├── date.ts
│ │ │ │ │ │ ├── doc-primary-mode.ts
│ │ │ │ │ │ ├── edgeless-theme.ts
│ │ │ │ │ │ ├── integration-type.ts
│ │ │ │ │ │ ├── journal.ts
│ │ │ │ │ │ ├── number.ts
│ │ │ │ │ │ ├── page-width.ts
│ │ │ │ │ │ ├── property.ts
│ │ │ │ │ │ ├── system.ts
│ │ │ │ │ │ ├── tags.ts
│ │ │ │ │ │ ├── template.ts
│ │ │ │ │ │ ├── text.ts
│ │ │ │ │ │ ├── title.ts
│ │ │ │ │ │ ├── updated-at.ts
│ │ │ │ │ │ └── updated-by.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── provider
│ │ │ │ │ └── index.ts
│ │ │ │ ├── services
│ │ │ │ │ └── collection-rules.ts
│ │ │ │ └── types.ts
│ │ │ ├── collection
│ │ │ │ ├── entities
│ │ │ │ │ └── collection.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── services
│ │ │ │ │ ├── collection.ts
│ │ │ │ │ └── pinned-collection.ts
│ │ │ │ └── stores
│ │ │ │ │ ├── collection.ts
│ │ │ │ │ └── pinned-collection.ts
│ │ │ ├── comment
│ │ │ │ ├── entities
│ │ │ │ │ ├── doc-comment-store.ts
│ │ │ │ │ ├── doc-comment.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── services
│ │ │ │ │ ├── comment-panel-service.ts
│ │ │ │ │ ├── doc-comment-manager.ts
│ │ │ │ │ └── snapshot-helper.ts
│ │ │ │ └── types.ts
│ │ │ ├── db
│ │ │ │ ├── entities
│ │ │ │ │ ├── db.ts
│ │ │ │ │ └── table.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── schema
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── schema.ts
│ │ │ │ ├── services
│ │ │ │ │ └── db.ts
│ │ │ │ └── utils.ts
│ │ │ ├── desktop-api
│ │ │ │ ├── entities
│ │ │ │ │ └── electron-api.ts
│ │ │ │ ├── impl
│ │ │ │ │ └── index.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── provider
│ │ │ │ │ └── index.ts
│ │ │ │ └── service
│ │ │ │ │ └── desktop-api.ts
│ │ │ ├── dialogs
│ │ │ │ ├── constant.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── services
│ │ │ │ │ ├── dialog.ts
│ │ │ │ │ └── workspace-dialog.ts
│ │ │ │ └── types.ts
│ │ │ ├── dnd
│ │ │ │ ├── index.ts
│ │ │ │ └── services
│ │ │ │ │ └── index.ts
│ │ │ ├── doc-display-meta
│ │ │ │ ├── index.ts
│ │ │ │ └── services
│ │ │ │ │ ├── doc-display-meta.ts
│ │ │ │ │ └── icon.tsx
│ │ │ ├── doc-info
│ │ │ │ ├── index.ts
│ │ │ │ ├── services
│ │ │ │ │ └── doc-database-backlinks.ts
│ │ │ │ ├── types.ts
│ │ │ │ ├── use-std.ts
│ │ │ │ ├── utils.ts
│ │ │ │ └── views
│ │ │ │ │ └── database-properties
│ │ │ │ │ ├── cells
│ │ │ │ │ ├── checkbox.tsx
│ │ │ │ │ ├── date.tsx
│ │ │ │ │ ├── link.css.ts
│ │ │ │ │ ├── link.tsx
│ │ │ │ │ ├── number.tsx
│ │ │ │ │ ├── progress.css.ts
│ │ │ │ │ ├── progress.tsx
│ │ │ │ │ ├── rich-text.css.ts
│ │ │ │ │ ├── rich-text.tsx
│ │ │ │ │ ├── select.css.ts
│ │ │ │ │ └── select.tsx
│ │ │ │ │ ├── constant.tsx
│ │ │ │ │ ├── doc-database-backlink-info.css.ts
│ │ │ │ │ └── doc-database-backlink-info.tsx
│ │ │ ├── doc-link
│ │ │ │ ├── entities
│ │ │ │ │ ├── doc-backlinks.ts
│ │ │ │ │ └── doc-links.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── services
│ │ │ │ │ └── doc-links.ts
│ │ │ ├── doc-summary
│ │ │ │ ├── index.ts
│ │ │ │ ├── services
│ │ │ │ │ └── doc-summary.ts
│ │ │ │ └── stores
│ │ │ │ │ └── doc-summary.ts
│ │ │ ├── doc
│ │ │ │ ├── entities
│ │ │ │ │ ├── doc.ts
│ │ │ │ │ ├── record-list.ts
│ │ │ │ │ └── record.ts
│ │ │ │ ├── events
│ │ │ │ │ └── index.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── providers
│ │ │ │ │ └── doc-create-middleware.ts
│ │ │ │ ├── scopes
│ │ │ │ │ └── doc.ts
│ │ │ │ ├── services
│ │ │ │ │ ├── doc.ts
│ │ │ │ │ └── docs.ts
│ │ │ │ ├── stores
│ │ │ │ │ ├── doc-properties.ts
│ │ │ │ │ └── docs.ts
│ │ │ │ └── types.ts
│ │ │ ├── docs-search
│ │ │ │ ├── README.md
│ │ │ │ ├── index.ts
│ │ │ │ └── services
│ │ │ │ │ └── docs-search.ts
│ │ │ ├── editor-setting
│ │ │ │ ├── entities
│ │ │ │ │ └── editor-setting.ts
│ │ │ │ ├── impls
│ │ │ │ │ ├── doc-create-middleware.ts
│ │ │ │ │ ├── global-state.ts
│ │ │ │ │ └── user-db.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── provider
│ │ │ │ │ └── editor-setting-provider.ts
│ │ │ │ ├── schema.ts
│ │ │ │ └── services
│ │ │ │ │ ├── editor-setting.ts
│ │ │ │ │ ├── spell-check-setting.ts
│ │ │ │ │ └── tray-settings.ts
│ │ │ ├── editor
│ │ │ │ ├── entities
│ │ │ │ │ └── editor.ts
│ │ │ │ ├── events
│ │ │ │ │ └── index.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── scopes
│ │ │ │ │ └── editor.ts
│ │ │ │ ├── services
│ │ │ │ │ ├── editor.ts
│ │ │ │ │ └── editors.ts
│ │ │ │ └── types.ts
│ │ │ ├── explorer-icon
│ │ │ │ ├── index.ts
│ │ │ │ ├── services
│ │ │ │ │ └── explorer-icon.ts
│ │ │ │ └── store
│ │ │ │ │ └── explorer-icon.ts
│ │ │ ├── favorite
│ │ │ │ ├── constant.ts
│ │ │ │ ├── entities
│ │ │ │ │ └── favorite-list.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── services
│ │ │ │ │ ├── favorite.ts
│ │ │ │ │ └── old
│ │ │ │ │ │ ├── adapter.ts
│ │ │ │ │ │ └── schema.ts
│ │ │ │ └── stores
│ │ │ │ │ └── favorite.ts
│ │ │ ├── feature-flag
│ │ │ │ ├── constant.ts
│ │ │ │ ├── entities
│ │ │ │ │ └── flags.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── services
│ │ │ │ │ └── feature-flag.ts
│ │ │ │ └── types.ts
│ │ │ ├── find-in-page
│ │ │ │ ├── entities
│ │ │ │ │ └── find-in-page.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── services
│ │ │ │ │ └── find-in-page.ts
│ │ │ ├── global-context
│ │ │ │ ├── entities
│ │ │ │ │ └── global-context.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── services
│ │ │ │ │ └── global-context.ts
│ │ │ ├── i18n
│ │ │ │ ├── context.tsx
│ │ │ │ ├── entities
│ │ │ │ │ └── i18n.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── services
│ │ │ │ │ └── i18n.ts
│ │ │ ├── icon-picker
│ │ │ │ ├── index.ts
│ │ │ │ └── services
│ │ │ │ │ └── icon-picker.ts
│ │ │ ├── import-clipper
│ │ │ │ ├── index.ts
│ │ │ │ └── services
│ │ │ │ │ └── import.ts
│ │ │ ├── import-template
│ │ │ │ ├── entities
│ │ │ │ │ └── downloader.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── services
│ │ │ │ │ ├── downloader.ts
│ │ │ │ │ └── import.ts
│ │ │ │ └── store
│ │ │ │ │ └── downloader.ts
│ │ │ ├── index.ts
│ │ │ ├── integration
│ │ │ │ ├── constant.ts
│ │ │ │ ├── entities
│ │ │ │ │ ├── calendar-subscription.ts
│ │ │ │ │ ├── calendar.ts
│ │ │ │ │ ├── readwise-crawler.ts
│ │ │ │ │ ├── readwise.ts
│ │ │ │ │ └── writer.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── services
│ │ │ │ │ ├── integration-property.ts
│ │ │ │ │ └── integration.ts
│ │ │ │ ├── store
│ │ │ │ │ ├── calendar.ts
│ │ │ │ │ ├── integration-ref.ts
│ │ │ │ │ └── readwise.ts
│ │ │ │ ├── type.ts
│ │ │ │ ├── utils
│ │ │ │ │ ├── calendar-url-parser.ts
│ │ │ │ │ ├── encrypt.ts
│ │ │ │ │ └── is-all-day.ts
│ │ │ │ └── views
│ │ │ │ │ ├── icon.tsx
│ │ │ │ │ ├── properties-table.tsx
│ │ │ │ │ └── property-values
│ │ │ │ │ ├── date-value.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── link-value.tsx
│ │ │ │ │ ├── source-value.tsx
│ │ │ │ │ ├── styles.css.ts
│ │ │ │ │ ├── text-value.tsx
│ │ │ │ │ └── type.ts
│ │ │ ├── journal
│ │ │ │ ├── __tests__
│ │ │ │ │ └── suggest-date.spec.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── services
│ │ │ │ │ ├── journal-doc.ts
│ │ │ │ │ └── journal.ts
│ │ │ │ ├── store
│ │ │ │ │ └── journal.ts
│ │ │ │ └── suggest-journal-date.ts
│ │ │ ├── lifecycle
│ │ │ │ ├── index.ts
│ │ │ │ └── service
│ │ │ │ │ └── lifecycle.ts
│ │ │ ├── media
│ │ │ │ ├── audio-sync-diagram.md
│ │ │ │ ├── entities
│ │ │ │ │ ├── audio-attachment-block.ts
│ │ │ │ │ ├── audio-media.ts
│ │ │ │ │ ├── audio-transcription-job-store.ts
│ │ │ │ │ ├── audio-transcription-job.ts
│ │ │ │ │ └── types.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── providers
│ │ │ │ │ └── global-audio-state.ts
│ │ │ │ ├── services
│ │ │ │ │ ├── audio-attachment.ts
│ │ │ │ │ ├── audio-media-manager.ts
│ │ │ │ │ └── meeting-settings.ts
│ │ │ │ └── utils.ts
│ │ │ ├── navigation-panel
│ │ │ │ ├── index.ts
│ │ │ │ └── services
│ │ │ │ │ └── navigation-panel.ts
│ │ │ ├── navigation
│ │ │ │ ├── README.md
│ │ │ │ ├── __tests__
│ │ │ │ │ └── utils.spec.ts
│ │ │ │ ├── entities
│ │ │ │ │ └── navigator.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── services
│ │ │ │ │ └── navigator.ts
│ │ │ │ ├── utils.ts
│ │ │ │ └── view
│ │ │ │ │ ├── navigation-buttons.css.ts
│ │ │ │ │ ├── navigation-buttons.tsx
│ │ │ │ │ └── use-register-navigation-commands.ts
│ │ │ ├── notification
│ │ │ │ ├── index.ts
│ │ │ │ ├── services
│ │ │ │ │ ├── count.ts
│ │ │ │ │ ├── list.ts
│ │ │ │ │ └── notification.ts
│ │ │ │ └── stores
│ │ │ │ │ └── notification.ts
│ │ │ ├── open-in-app
│ │ │ │ ├── index.ts
│ │ │ │ ├── services
│ │ │ │ │ └── index.ts
│ │ │ │ ├── utils.ts
│ │ │ │ └── views
│ │ │ │ │ ├── open-in-app-guard.tsx
│ │ │ │ │ ├── open-in-app-page.css.ts
│ │ │ │ │ └── open-in-app-page.tsx
│ │ │ ├── organize
│ │ │ │ ├── constants.ts
│ │ │ │ ├── entities
│ │ │ │ │ ├── folder-node.ts
│ │ │ │ │ └── folder-tree.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── services
│ │ │ │ │ └── organize.ts
│ │ │ │ ├── stores
│ │ │ │ │ └── folder.ts
│ │ │ │ └── types.ts
│ │ │ ├── paywall
│ │ │ │ ├── index.ts
│ │ │ │ ├── providers
│ │ │ │ │ └── native-paywall.ts
│ │ │ │ └── services
│ │ │ │ │ └── native-paywall.ts
│ │ │ ├── pdf
│ │ │ │ ├── entities
│ │ │ │ │ ├── pdf-page.ts
│ │ │ │ │ └── pdf.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── renderer
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── ops.ts
│ │ │ │ │ ├── pdf.worker.ts
│ │ │ │ │ ├── renderer.ts
│ │ │ │ │ └── types.ts
│ │ │ │ ├── services
│ │ │ │ │ └── pdf.ts
│ │ │ │ └── views
│ │ │ │ │ ├── components.tsx
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── page-renderer.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ ├── peek-view
│ │ │ │ ├── entities
│ │ │ │ │ └── peek-view.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── services
│ │ │ │ │ └── peek-view.ts
│ │ │ │ └── view
│ │ │ │ │ ├── ai-chat-block-peek-view
│ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── attachment-preview
│ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── doc-preview
│ │ │ │ │ ├── doc-peek-view.css.ts
│ │ │ │ │ ├── doc-peek-view.tsx
│ │ │ │ │ └── index.ts
│ │ │ │ │ ├── image-preview
│ │ │ │ │ ├── hooks
│ │ │ │ │ │ └── use-zoom.tsx
│ │ │ │ │ ├── index.css.ts
│ │ │ │ │ └── index.tsx
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── modal-container.css.ts
│ │ │ │ │ ├── modal-container.tsx
│ │ │ │ │ ├── peek-view-controls.css.ts
│ │ │ │ │ ├── peek-view-controls.tsx
│ │ │ │ │ ├── peek-view-manager.tsx
│ │ │ │ │ └── utils.ts
│ │ │ ├── permissions
│ │ │ │ ├── entities
│ │ │ │ │ ├── members.ts
│ │ │ │ │ └── permission.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── services
│ │ │ │ │ ├── doc-granted-users.ts
│ │ │ │ │ ├── guard.ts
│ │ │ │ │ ├── member-search.ts
│ │ │ │ │ ├── members.ts
│ │ │ │ │ └── permission.ts
│ │ │ │ └── stores
│ │ │ │ │ ├── doc-granted-users.ts
│ │ │ │ │ ├── guard.ts
│ │ │ │ │ ├── member-search.ts
│ │ │ │ │ ├── members.ts
│ │ │ │ │ └── permission.ts
│ │ │ ├── quicksearch
│ │ │ │ ├── entities
│ │ │ │ │ └── quick-search.ts
│ │ │ │ ├── impls
│ │ │ │ │ ├── collections.ts
│ │ │ │ │ ├── commands.ts
│ │ │ │ │ ├── creation.ts
│ │ │ │ │ ├── docs.ts
│ │ │ │ │ ├── external-links.ts
│ │ │ │ │ ├── journals.ts
│ │ │ │ │ ├── links.ts
│ │ │ │ │ ├── recent-docs.ts
│ │ │ │ │ └── tags.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── providers
│ │ │ │ │ └── quick-search-provider.ts
│ │ │ │ ├── services
│ │ │ │ │ ├── cmdk.ts
│ │ │ │ │ ├── quick-search.ts
│ │ │ │ │ └── recent-pages.ts
│ │ │ │ ├── types
│ │ │ │ │ ├── group.ts
│ │ │ │ │ ├── item.ts
│ │ │ │ │ └── options.ts
│ │ │ │ ├── utils
│ │ │ │ │ └── highlighter.ts
│ │ │ │ └── views
│ │ │ │ │ ├── cmdk.css.ts
│ │ │ │ │ ├── cmdk.tsx
│ │ │ │ │ ├── container.tsx
│ │ │ │ │ ├── highlight-text.css.ts
│ │ │ │ │ ├── highlight-text.tsx
│ │ │ │ │ ├── modal.css.ts
│ │ │ │ │ ├── modal.tsx
│ │ │ │ │ └── tag-icon.tsx
│ │ │ ├── quota
│ │ │ │ ├── entities
│ │ │ │ │ └── quota.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── services
│ │ │ │ │ └── quota.ts
│ │ │ │ ├── stores
│ │ │ │ │ └── quota.ts
│ │ │ │ └── views
│ │ │ │ │ ├── quota-check.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ ├── search-menu
│ │ │ │ ├── index.ts
│ │ │ │ └── services
│ │ │ │ │ └── index.ts
│ │ │ ├── share-doc
│ │ │ │ ├── entities
│ │ │ │ │ ├── share-docs-list.ts
│ │ │ │ │ └── share-info.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── services
│ │ │ │ │ ├── share-docs-list.ts
│ │ │ │ │ └── share-info.ts
│ │ │ │ └── stores
│ │ │ │ │ ├── share-docs.ts
│ │ │ │ │ └── share.ts
│ │ │ ├── share-menu
│ │ │ │ ├── index.ts
│ │ │ │ └── view
│ │ │ │ │ ├── cloud-svg.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── share-menu
│ │ │ │ │ ├── copy-link-button.css.ts
│ │ │ │ │ ├── copy-link-button.tsx
│ │ │ │ │ ├── general-access
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── members-permission.tsx
│ │ │ │ │ ├── public-page-button.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ │ │ ├── index.css.ts
│ │ │ │ │ ├── index.jotai.ts
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── invite-member-editor
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── invite-member-editor.css.ts
│ │ │ │ │ ├── invite-member-editor.tsx
│ │ │ │ │ ├── member-item.css.ts
│ │ │ │ │ ├── member-item.tsx
│ │ │ │ │ ├── selected-member-item.css.ts
│ │ │ │ │ ├── selected-member-item.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ │ │ ├── member-management
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ ├── member-item.css.ts
│ │ │ │ │ ├── member-item.tsx
│ │ │ │ │ ├── member-management.css.ts
│ │ │ │ │ ├── member-management.tsx
│ │ │ │ │ └── styles.css.ts
│ │ │ │ │ ├── plan-tag.css.ts
│ │ │ │ │ ├── plan-tag.tsx
│ │ │ │ │ ├── scroller.css.ts
│ │ │ │ │ ├── scroller.tsx
│ │ │ │ │ ├── share-export.tsx
│ │ │ │ │ ├── share-menu.tsx
│ │ │ │ │ └── share-page.tsx
│ │ │ ├── share-setting
│ │ │ │ ├── entities
│ │ │ │ │ └── share-setting.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── services
│ │ │ │ │ └── share-setting.ts
│ │ │ │ └── stores
│ │ │ │ │ └── share-setting.ts
│ │ │ ├── storage
│ │ │ │ ├── impls
│ │ │ │ │ ├── electron.ts
│ │ │ │ │ └── storage.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── providers
│ │ │ │ │ ├── global.ts
│ │ │ │ │ └── nbstore.ts
│ │ │ │ └── services
│ │ │ │ │ ├── global.ts
│ │ │ │ │ └── nbstore.ts
│ │ │ ├── system-font-family
│ │ │ │ ├── entities
│ │ │ │ │ └── system-font-family.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── services
│ │ │ │ │ └── system-font-family.ts
│ │ │ ├── tag
│ │ │ │ ├── entities
│ │ │ │ │ ├── tag-list.ts
│ │ │ │ │ ├── tag.ts
│ │ │ │ │ └── utils.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── service
│ │ │ │ │ └── tag.ts
│ │ │ │ ├── stores
│ │ │ │ │ └── tag.ts
│ │ │ │ └── view
│ │ │ │ │ └── delete-tag-modal.tsx
│ │ │ ├── telemetry
│ │ │ │ ├── index.ts
│ │ │ │ └── services
│ │ │ │ │ └── telemetry.ts
│ │ │ ├── template-doc
│ │ │ │ ├── entities
│ │ │ │ │ ├── list.ts
│ │ │ │ │ └── setting.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── services
│ │ │ │ │ └── template-doc.ts
│ │ │ │ ├── store
│ │ │ │ │ ├── list.ts
│ │ │ │ │ └── setting.ts
│ │ │ │ ├── type.ts
│ │ │ │ └── view
│ │ │ │ │ ├── styles.css.ts
│ │ │ │ │ └── template-list-menu.tsx
│ │ │ ├── theme-editor
│ │ │ │ ├── index.ts
│ │ │ │ ├── services
│ │ │ │ │ └── theme-editor.ts
│ │ │ │ └── types.ts
│ │ │ ├── theme
│ │ │ │ ├── entities
│ │ │ │ │ └── theme.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── services
│ │ │ │ │ └── theme.ts
│ │ │ ├── url
│ │ │ │ ├── index.ts
│ │ │ │ ├── providers
│ │ │ │ │ ├── client-schema.ts
│ │ │ │ │ └── popup-window.ts
│ │ │ │ └── services
│ │ │ │ │ └── url.ts
│ │ │ ├── userspace
│ │ │ │ ├── entities
│ │ │ │ │ ├── current-user-db.ts
│ │ │ │ │ ├── user-db-engine.ts
│ │ │ │ │ ├── user-db-table.ts
│ │ │ │ │ └── user-db.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── schema
│ │ │ │ │ └── index.ts
│ │ │ │ └── services
│ │ │ │ │ └── userspace.ts
│ │ │ ├── workbench
│ │ │ │ ├── README.md
│ │ │ │ ├── constants.tsx
│ │ │ │ ├── entities
│ │ │ │ │ ├── sidebar-tab.ts
│ │ │ │ │ ├── view.ts
│ │ │ │ │ └── workbench.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── scopes
│ │ │ │ │ └── view.ts
│ │ │ │ ├── services
│ │ │ │ │ ├── desktop-state-synchronizer.ts
│ │ │ │ │ ├── view.ts
│ │ │ │ │ ├── workbench-new-tab-handler.ts
│ │ │ │ │ ├── workbench-view-state.ts
│ │ │ │ │ └── workbench.ts
│ │ │ │ └── view
│ │ │ │ │ ├── browser-adapter.ts
│ │ │ │ │ ├── desktop-adapter.ts
│ │ │ │ │ ├── route-container.css.ts
│ │ │ │ │ ├── route-container.tsx
│ │ │ │ │ ├── sidebar
│ │ │ │ │ ├── sidebar-container.css.ts
│ │ │ │ │ ├── sidebar-container.tsx
│ │ │ │ │ ├── sidebar-header-switcher.css.ts
│ │ │ │ │ ├── sidebar-header-switcher.tsx
│ │ │ │ │ ├── sidebar-header.css.ts
│ │ │ │ │ └── sidebar-header.tsx
│ │ │ │ │ ├── split-view
│ │ │ │ │ ├── indicator.css.ts
│ │ │ │ │ ├── indicator.tsx
│ │ │ │ │ ├── panel.tsx
│ │ │ │ │ ├── resize-handle.tsx
│ │ │ │ │ ├── split-view.css.ts
│ │ │ │ │ ├── split-view.tsx
│ │ │ │ │ ├── state.ts
│ │ │ │ │ └── types.ts
│ │ │ │ │ ├── use-is-active-view.tsx
│ │ │ │ │ ├── use-view-position.tsx
│ │ │ │ │ ├── view-islands.tsx
│ │ │ │ │ ├── view-meta.tsx
│ │ │ │ │ ├── view-root.tsx
│ │ │ │ │ ├── workbench-link.tsx
│ │ │ │ │ ├── workbench-root.css.ts
│ │ │ │ │ └── workbench-root.tsx
│ │ │ ├── workspace-engine
│ │ │ │ ├── impls
│ │ │ │ │ ├── cloud.ts
│ │ │ │ │ ├── local.ts
│ │ │ │ │ ├── out-worker.ts
│ │ │ │ │ ├── worker-ops.ts
│ │ │ │ │ └── workspace-profile.worker.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── utils
│ │ │ │ │ ├── __tests__
│ │ │ │ │ └── buffer-to-blob.spec.ts
│ │ │ │ │ ├── base64.ts
│ │ │ │ │ └── buffer-to-blob.ts
│ │ │ ├── workspace-indexer-embedding
│ │ │ │ ├── constants.ts
│ │ │ │ ├── entities
│ │ │ │ │ ├── additional-attachments.ts
│ │ │ │ │ ├── embedding-enabled.ts
│ │ │ │ │ ├── embedding-progress.ts
│ │ │ │ │ └── ignored-docs.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── services
│ │ │ │ │ └── embedding.ts
│ │ │ │ ├── stores
│ │ │ │ │ └── embedding.ts
│ │ │ │ ├── types.ts
│ │ │ │ ├── utils.ts
│ │ │ │ └── view
│ │ │ │ │ ├── attachments.tsx
│ │ │ │ │ ├── embedding-progress.tsx
│ │ │ │ │ ├── embedding-settings.tsx
│ │ │ │ │ ├── ignored-docs.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── styles-css.ts
│ │ │ ├── workspace-property
│ │ │ │ ├── constants.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── services
│ │ │ │ │ └── workspace-property.ts
│ │ │ │ ├── stores
│ │ │ │ │ └── workspace-property.ts
│ │ │ │ └── types.ts
│ │ │ └── workspace
│ │ │ │ ├── entities
│ │ │ │ ├── engine.ts
│ │ │ │ ├── list.ts
│ │ │ │ ├── profile.ts
│ │ │ │ └── workspace.ts
│ │ │ │ ├── events
│ │ │ │ └── index.ts
│ │ │ │ ├── global-schema.ts
│ │ │ │ ├── impls
│ │ │ │ ├── doc.ts
│ │ │ │ ├── meta.ts
│ │ │ │ ├── storage.ts
│ │ │ │ └── workspace.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── metadata.ts
│ │ │ │ ├── open-options.ts
│ │ │ │ ├── providers
│ │ │ │ ├── flavour.ts
│ │ │ │ └── storage.ts
│ │ │ │ ├── scopes
│ │ │ │ └── workspace.ts
│ │ │ │ ├── services
│ │ │ │ ├── destroy.ts
│ │ │ │ ├── engine.ts
│ │ │ │ ├── factory.ts
│ │ │ │ ├── flavours.ts
│ │ │ │ ├── list.ts
│ │ │ │ ├── profile.ts
│ │ │ │ ├── repo.ts
│ │ │ │ ├── transform.ts
│ │ │ │ ├── workspace.ts
│ │ │ │ └── workspaces.ts
│ │ │ │ └── stores
│ │ │ │ └── profile-cache.ts
│ │ ├── types
│ │ │ ├── dnd.ts
│ │ │ └── types.d.ts
│ │ └── utils
│ │ │ ├── __tests__
│ │ │ └── extract-emoji-icon.spec.ts
│ │ │ ├── channel.ts
│ │ │ ├── clipboard
│ │ │ ├── fake.ts
│ │ │ └── index.ts
│ │ │ ├── create-emotion-cache.ts
│ │ │ ├── email-regex.ts
│ │ │ ├── event.ts
│ │ │ ├── extract-emoji-icon.ts
│ │ │ ├── first-app-data.ts
│ │ │ ├── fuzzy-match.ts
│ │ │ ├── index.ts
│ │ │ ├── island.tsx
│ │ │ ├── navigable-history.ts
│ │ │ ├── opus-encoding.ts
│ │ │ ├── reduce-image.ts
│ │ │ ├── resource.ts
│ │ │ ├── string2color.ts
│ │ │ ├── toast.ts
│ │ │ ├── unflatten-object.ts
│ │ │ ├── unique-name.ts
│ │ │ └── user-setting.ts
│ └── tsconfig.json
│ ├── electron-api
│ ├── package.json
│ ├── src
│ │ └── index.ts
│ └── tsconfig.json
│ ├── i18n
│ ├── .gitignore
│ ├── .i18n-codegen.json
│ ├── README.md
│ ├── build.ts
│ ├── cleanup.mjs
│ ├── crowdin.yml
│ ├── package.json
│ ├── src
│ │ ├── i18n-completenesses.json
│ │ ├── i18n.gen.ts
│ │ ├── i18next.ts
│ │ ├── index.ts
│ │ ├── react.ts
│ │ ├── resources
│ │ │ ├── ar.json
│ │ │ ├── ca.json
│ │ │ ├── da.json
│ │ │ ├── de.json
│ │ │ ├── el-GR.json
│ │ │ ├── en.json
│ │ │ ├── es-AR.json
│ │ │ ├── es-CL.json
│ │ │ ├── es.json
│ │ │ ├── fa.json
│ │ │ ├── fr.json
│ │ │ ├── hi.json
│ │ │ ├── index.ts
│ │ │ ├── it-IT.json
│ │ │ ├── it.json
│ │ │ ├── ja.json
│ │ │ ├── ko.json
│ │ │ ├── pl.json
│ │ │ ├── pt-BR.json
│ │ │ ├── ru.json
│ │ │ ├── sv-SE.json
│ │ │ ├── uk.json
│ │ │ ├── ur.json
│ │ │ ├── zh-Hans.json
│ │ │ └── zh-Hant.json
│ │ └── utils
│ │ │ ├── __tests__
│ │ │ └── time.spec.ts
│ │ │ ├── index.ts
│ │ │ └── time.ts
│ └── tsconfig.json
│ ├── media-capture-playground
│ ├── .gitignore
│ ├── package.json
│ ├── server
│ │ ├── encode.ts
│ │ ├── gemini.ts
│ │ ├── main.ts
│ │ └── types.d.ts
│ ├── tsconfg.node.json
│ ├── tsconfig.json
│ ├── vite.config.ts
│ └── web
│ │ ├── app.tsx
│ │ ├── components
│ │ ├── app-item.tsx
│ │ ├── app-list.tsx
│ │ ├── global-record-button.tsx
│ │ ├── icons.tsx
│ │ ├── saved-recording-item.tsx
│ │ └── saved-recordings.tsx
│ │ ├── index.html
│ │ ├── main.css
│ │ ├── main.tsx
│ │ ├── types.ts
│ │ └── utils.ts
│ ├── mobile-native
│ ├── Cargo.toml
│ ├── src
│ │ └── lib.rs
│ └── uniffi-bindgen.rs
│ ├── native
│ ├── .gitignore
│ ├── Cargo.toml
│ ├── __tests__
│ │ ├── db.spec.mts
│ │ ├── fixtures
│ │ │ ├── recording.wav
│ │ │ └── test01.affine
│ │ └── pool.spec.mts
│ ├── build.rs
│ ├── index.d.ts
│ ├── index.js
│ ├── media-capture-exapmle.ts
│ ├── media_capture
│ │ ├── Cargo.toml
│ │ ├── benches
│ │ │ └── mix_audio_samples.rs
│ │ ├── build.rs
│ │ └── src
│ │ │ ├── audio_decoder.rs
│ │ │ ├── lib.rs
│ │ │ ├── macos
│ │ │ ├── audio_buffer.rs
│ │ │ ├── audio_stream_basic_desc.rs
│ │ │ ├── av_audio_file.rs
│ │ │ ├── av_audio_format.rs
│ │ │ ├── av_audio_pcm_buffer.rs
│ │ │ ├── ca_tap_description.rs
│ │ │ ├── cf_types.rs
│ │ │ ├── device.rs
│ │ │ ├── error.rs
│ │ │ ├── mod.rs
│ │ │ ├── pid.rs
│ │ │ ├── queue.rs
│ │ │ ├── screen_capture_kit.rs
│ │ │ ├── tap_audio.rs
│ │ │ └── utils.rs
│ │ │ └── windows
│ │ │ ├── README.md
│ │ │ ├── audio_capture.rs
│ │ │ ├── error.rs
│ │ │ ├── microphone_listener.rs
│ │ │ ├── mod.rs
│ │ │ └── screen_capture_kit.rs
│ ├── nbstore
│ │ ├── Cargo.toml
│ │ ├── build.rs
│ │ └── src
│ │ │ ├── blob.rs
│ │ │ ├── blob_sync.rs
│ │ │ ├── doc.rs
│ │ │ ├── doc_sync.rs
│ │ │ ├── error.rs
│ │ │ ├── indexer
│ │ │ ├── memory_indexer.rs
│ │ │ ├── mod.rs
│ │ │ ├── tokenizer.rs
│ │ │ └── types.rs
│ │ │ ├── lib.rs
│ │ │ ├── pool.rs
│ │ │ └── storage.rs
│ ├── package.json
│ ├── schema
│ │ ├── Cargo.toml
│ │ ├── README.md
│ │ └── src
│ │ │ ├── lib.rs
│ │ │ └── v1.rs
│ ├── sqlite_v1
│ │ ├── Cargo.toml
│ │ ├── build.rs
│ │ └── src
│ │ │ └── lib.rs
│ ├── src
│ │ ├── hashcash.rs
│ │ └── lib.rs
│ └── tsconfig.json
│ ├── routes
│ ├── README.md
│ ├── build.ts
│ ├── package.json
│ ├── routes.json
│ ├── schema.json
│ ├── src
│ │ ├── __tests__
│ │ │ └── routes.spec.ts
│ │ ├── index.ts
│ │ ├── lazy.ts
│ │ └── routes.ts
│ └── tsconfig.json
│ ├── templates
│ ├── README.md
│ ├── build-edgeless.mjs
│ ├── build-stickers.mjs
│ ├── edgeless-snapshot
│ │ ├── Brainstorming
│ │ │ ├── 5W2H.svg
│ │ │ ├── 5W2H.zip
│ │ │ ├── Concept Map.svg
│ │ │ ├── Concept Map.zip
│ │ │ ├── Flowchart.svg
│ │ │ ├── Flowchart.zip
│ │ │ ├── SMART.svg
│ │ │ ├── SMART.zip
│ │ │ ├── SWOT.svg
│ │ │ └── SWOT.zip
│ │ ├── Marketing
│ │ │ ├── 4P Marketing Matrix.svg
│ │ │ ├── 4P Marketing Matrix.zip
│ │ │ ├── Storyboard.svg
│ │ │ ├── Storyboard.zip
│ │ │ ├── User Journey Map.svg
│ │ │ └── User Journey Map.zip
│ │ ├── Presentation
│ │ │ ├── Business Proposal.svg
│ │ │ ├── Business Proposal.zip
│ │ │ ├── Data Analysis.svg
│ │ │ ├── Data Analysis.zip
│ │ │ ├── Simple Presentation.svg
│ │ │ └── Simple Presentation.zip
│ │ └── Project Management
│ │ │ ├── Fishbone Diagram.svg
│ │ │ ├── Fishbone Diagram.zip
│ │ │ ├── Gantt Chart.svg
│ │ │ ├── Gantt Chart.zip
│ │ │ ├── Monthly Calendar.svg
│ │ │ ├── Monthly Calendar.zip
│ │ │ ├── Project Planning.svg
│ │ │ ├── Project Planning.zip
│ │ │ ├── Project Tracking Kanban.svg
│ │ │ └── Project Tracking Kanban.zip
│ ├── edgeless-templates.gen.ts
│ ├── onboarding
│ │ └── onboarding.zip
│ ├── package.json
│ ├── stickers-templates.gen.ts
│ └── stickers
│ │ ├── Arrows
│ │ ├── Content
│ │ │ ├── arrow-1.svg
│ │ │ ├── arrow-10.svg
│ │ │ ├── arrow-100.svg
│ │ │ ├── arrow-101.svg
│ │ │ ├── arrow-102.svg
│ │ │ ├── arrow-103.svg
│ │ │ ├── arrow-104.svg
│ │ │ ├── arrow-105.svg
│ │ │ ├── arrow-106.svg
│ │ │ ├── arrow-107.svg
│ │ │ ├── arrow-108.svg
│ │ │ ├── arrow-109.svg
│ │ │ ├── arrow-11.svg
│ │ │ ├── arrow-110.svg
│ │ │ ├── arrow-111.svg
│ │ │ ├── arrow-112.svg
│ │ │ ├── arrow-113.svg
│ │ │ ├── arrow-114.svg
│ │ │ ├── arrow-115.svg
│ │ │ ├── arrow-116.svg
│ │ │ ├── arrow-117.svg
│ │ │ ├── arrow-118.svg
│ │ │ ├── arrow-119.svg
│ │ │ ├── arrow-12.svg
│ │ │ ├── arrow-120.svg
│ │ │ ├── arrow-121.svg
│ │ │ ├── arrow-122.svg
│ │ │ ├── arrow-123.svg
│ │ │ ├── arrow-124.svg
│ │ │ ├── arrow-125.svg
│ │ │ ├── arrow-126.svg
│ │ │ ├── arrow-127.svg
│ │ │ ├── arrow-128.svg
│ │ │ ├── arrow-129.svg
│ │ │ ├── arrow-13.svg
│ │ │ ├── arrow-130.svg
│ │ │ ├── arrow-131.svg
│ │ │ ├── arrow-132.svg
│ │ │ ├── arrow-133.svg
│ │ │ ├── arrow-134.svg
│ │ │ ├── arrow-135.svg
│ │ │ ├── arrow-136.svg
│ │ │ ├── arrow-137.svg
│ │ │ ├── arrow-138.svg
│ │ │ ├── arrow-139.svg
│ │ │ ├── arrow-14.svg
│ │ │ ├── arrow-140.svg
│ │ │ ├── arrow-141.svg
│ │ │ ├── arrow-142.svg
│ │ │ ├── arrow-143.svg
│ │ │ ├── arrow-144.svg
│ │ │ ├── arrow-145.svg
│ │ │ ├── arrow-146.svg
│ │ │ ├── arrow-147.svg
│ │ │ ├── arrow-148.svg
│ │ │ ├── arrow-149.svg
│ │ │ ├── arrow-15.svg
│ │ │ ├── arrow-150.svg
│ │ │ ├── arrow-151.svg
│ │ │ ├── arrow-152.svg
│ │ │ ├── arrow-153.svg
│ │ │ ├── arrow-154.svg
│ │ │ ├── arrow-155.svg
│ │ │ ├── arrow-156.svg
│ │ │ ├── arrow-157.svg
│ │ │ ├── arrow-158.svg
│ │ │ ├── arrow-159.svg
│ │ │ ├── arrow-16.svg
│ │ │ ├── arrow-160.svg
│ │ │ ├── arrow-161.svg
│ │ │ ├── arrow-162.svg
│ │ │ ├── arrow-163.svg
│ │ │ ├── arrow-164.svg
│ │ │ ├── arrow-165.svg
│ │ │ ├── arrow-166.svg
│ │ │ ├── arrow-167.svg
│ │ │ ├── arrow-168.svg
│ │ │ ├── arrow-169.svg
│ │ │ ├── arrow-17.svg
│ │ │ ├── arrow-170.svg
│ │ │ ├── arrow-171.svg
│ │ │ ├── arrow-172.svg
│ │ │ ├── arrow-173.svg
│ │ │ ├── arrow-174.svg
│ │ │ ├── arrow-175.svg
│ │ │ ├── arrow-176.svg
│ │ │ ├── arrow-177.svg
│ │ │ ├── arrow-178.svg
│ │ │ ├── arrow-179.svg
│ │ │ ├── arrow-18.svg
│ │ │ ├── arrow-180.svg
│ │ │ ├── arrow-181.svg
│ │ │ ├── arrow-182.svg
│ │ │ ├── arrow-183.svg
│ │ │ ├── arrow-184.svg
│ │ │ ├── arrow-185.svg
│ │ │ ├── arrow-19.svg
│ │ │ ├── arrow-2.svg
│ │ │ ├── arrow-20.svg
│ │ │ ├── arrow-21.svg
│ │ │ ├── arrow-22.svg
│ │ │ ├── arrow-23.svg
│ │ │ ├── arrow-24.svg
│ │ │ ├── arrow-25.svg
│ │ │ ├── arrow-26.svg
│ │ │ ├── arrow-27.svg
│ │ │ ├── arrow-28.svg
│ │ │ ├── arrow-29.svg
│ │ │ ├── arrow-3.svg
│ │ │ ├── arrow-30.svg
│ │ │ ├── arrow-31.svg
│ │ │ ├── arrow-32.svg
│ │ │ ├── arrow-33.svg
│ │ │ ├── arrow-34.svg
│ │ │ ├── arrow-35.svg
│ │ │ ├── arrow-36.svg
│ │ │ ├── arrow-37.svg
│ │ │ ├── arrow-38.svg
│ │ │ ├── arrow-39.svg
│ │ │ ├── arrow-4.svg
│ │ │ ├── arrow-40.svg
│ │ │ ├── arrow-41.svg
│ │ │ ├── arrow-42.svg
│ │ │ ├── arrow-43.svg
│ │ │ ├── arrow-44.svg
│ │ │ ├── arrow-45.svg
│ │ │ ├── arrow-46.svg
│ │ │ ├── arrow-47.svg
│ │ │ ├── arrow-48.svg
│ │ │ ├── arrow-49.svg
│ │ │ ├── arrow-5.svg
│ │ │ ├── arrow-50.svg
│ │ │ ├── arrow-51.svg
│ │ │ ├── arrow-52.svg
│ │ │ ├── arrow-53.svg
│ │ │ ├── arrow-54.svg
│ │ │ ├── arrow-55.svg
│ │ │ ├── arrow-56.svg
│ │ │ ├── arrow-57.svg
│ │ │ ├── arrow-58.svg
│ │ │ ├── arrow-59.svg
│ │ │ ├── arrow-6.svg
│ │ │ ├── arrow-60.svg
│ │ │ ├── arrow-61.svg
│ │ │ ├── arrow-62.svg
│ │ │ ├── arrow-63.svg
│ │ │ ├── arrow-64.svg
│ │ │ ├── arrow-65.svg
│ │ │ ├── arrow-66.svg
│ │ │ ├── arrow-67.svg
│ │ │ ├── arrow-68.svg
│ │ │ ├── arrow-69.svg
│ │ │ ├── arrow-7.svg
│ │ │ ├── arrow-70.svg
│ │ │ ├── arrow-71.svg
│ │ │ ├── arrow-72.svg
│ │ │ ├── arrow-73.svg
│ │ │ ├── arrow-74.svg
│ │ │ ├── arrow-75.svg
│ │ │ ├── arrow-76.svg
│ │ │ ├── arrow-77.svg
│ │ │ ├── arrow-78.svg
│ │ │ ├── arrow-79.svg
│ │ │ ├── arrow-8.svg
│ │ │ ├── arrow-80.svg
│ │ │ ├── arrow-81.svg
│ │ │ ├── arrow-82.svg
│ │ │ ├── arrow-83.svg
│ │ │ ├── arrow-84.svg
│ │ │ ├── arrow-85.svg
│ │ │ ├── arrow-86.svg
│ │ │ ├── arrow-87.svg
│ │ │ ├── arrow-88.svg
│ │ │ ├── arrow-89.svg
│ │ │ ├── arrow-9.svg
│ │ │ ├── arrow-90.svg
│ │ │ ├── arrow-91.svg
│ │ │ ├── arrow-92.svg
│ │ │ ├── arrow-93.svg
│ │ │ ├── arrow-94.svg
│ │ │ ├── arrow-95.svg
│ │ │ ├── arrow-96.svg
│ │ │ ├── arrow-97.svg
│ │ │ ├── arrow-98.svg
│ │ │ ├── arrow-99.svg
│ │ │ └── source.svg
│ │ └── Cover
│ │ │ ├── arrow-1.svg
│ │ │ ├── arrow-10.svg
│ │ │ ├── arrow-100.svg
│ │ │ ├── arrow-101.svg
│ │ │ ├── arrow-102.svg
│ │ │ ├── arrow-103.svg
│ │ │ ├── arrow-104.svg
│ │ │ ├── arrow-105.svg
│ │ │ ├── arrow-106.svg
│ │ │ ├── arrow-107.svg
│ │ │ ├── arrow-108.svg
│ │ │ ├── arrow-109.svg
│ │ │ ├── arrow-11.svg
│ │ │ ├── arrow-110.svg
│ │ │ ├── arrow-111.svg
│ │ │ ├── arrow-112.svg
│ │ │ ├── arrow-113.svg
│ │ │ ├── arrow-114.svg
│ │ │ ├── arrow-115.svg
│ │ │ ├── arrow-116.svg
│ │ │ ├── arrow-117.svg
│ │ │ ├── arrow-118.svg
│ │ │ ├── arrow-119.svg
│ │ │ ├── arrow-12.svg
│ │ │ ├── arrow-120.svg
│ │ │ ├── arrow-121.svg
│ │ │ ├── arrow-122.svg
│ │ │ ├── arrow-123.svg
│ │ │ ├── arrow-124.svg
│ │ │ ├── arrow-125.svg
│ │ │ ├── arrow-126.svg
│ │ │ ├── arrow-127.svg
│ │ │ ├── arrow-128.svg
│ │ │ ├── arrow-129.svg
│ │ │ ├── arrow-13.svg
│ │ │ ├── arrow-130.svg
│ │ │ ├── arrow-131.svg
│ │ │ ├── arrow-132.svg
│ │ │ ├── arrow-133.svg
│ │ │ ├── arrow-134.svg
│ │ │ ├── arrow-135.svg
│ │ │ ├── arrow-136.svg
│ │ │ ├── arrow-137.svg
│ │ │ ├── arrow-138.svg
│ │ │ ├── arrow-139.svg
│ │ │ ├── arrow-14.svg
│ │ │ ├── arrow-140.svg
│ │ │ ├── arrow-141.svg
│ │ │ ├── arrow-142.svg
│ │ │ ├── arrow-143.svg
│ │ │ ├── arrow-144.svg
│ │ │ ├── arrow-145.svg
│ │ │ ├── arrow-146.svg
│ │ │ ├── arrow-147.svg
│ │ │ ├── arrow-148.svg
│ │ │ ├── arrow-149.svg
│ │ │ ├── arrow-15.svg
│ │ │ ├── arrow-150.svg
│ │ │ ├── arrow-151.svg
│ │ │ ├── arrow-152.svg
│ │ │ ├── arrow-153.svg
│ │ │ ├── arrow-154.svg
│ │ │ ├── arrow-155.svg
│ │ │ ├── arrow-156.svg
│ │ │ ├── arrow-157.svg
│ │ │ ├── arrow-158.svg
│ │ │ ├── arrow-159.svg
│ │ │ ├── arrow-16.svg
│ │ │ ├── arrow-160.svg
│ │ │ ├── arrow-161.svg
│ │ │ ├── arrow-162.svg
│ │ │ ├── arrow-163.svg
│ │ │ ├── arrow-164.svg
│ │ │ ├── arrow-165.svg
│ │ │ ├── arrow-166.svg
│ │ │ ├── arrow-167.svg
│ │ │ ├── arrow-168.svg
│ │ │ ├── arrow-169.svg
│ │ │ ├── arrow-17.svg
│ │ │ ├── arrow-170.svg
│ │ │ ├── arrow-171.svg
│ │ │ ├── arrow-172.svg
│ │ │ ├── arrow-173.svg
│ │ │ ├── arrow-174.svg
│ │ │ ├── arrow-175.svg
│ │ │ ├── arrow-176.svg
│ │ │ ├── arrow-177.svg
│ │ │ ├── arrow-178.svg
│ │ │ ├── arrow-179.svg
│ │ │ ├── arrow-18.svg
│ │ │ ├── arrow-180.svg
│ │ │ ├── arrow-181.svg
│ │ │ ├── arrow-182.svg
│ │ │ ├── arrow-183.svg
│ │ │ ├── arrow-184.svg
│ │ │ ├── arrow-185.svg
│ │ │ ├── arrow-19.svg
│ │ │ ├── arrow-2.svg
│ │ │ ├── arrow-20.svg
│ │ │ ├── arrow-21.svg
│ │ │ ├── arrow-22.svg
│ │ │ ├── arrow-23.svg
│ │ │ ├── arrow-24.svg
│ │ │ ├── arrow-25.svg
│ │ │ ├── arrow-26.svg
│ │ │ ├── arrow-27.svg
│ │ │ ├── arrow-28.svg
│ │ │ ├── arrow-29.svg
│ │ │ ├── arrow-3.svg
│ │ │ ├── arrow-30.svg
│ │ │ ├── arrow-31.svg
│ │ │ ├── arrow-32.svg
│ │ │ ├── arrow-33.svg
│ │ │ ├── arrow-34.svg
│ │ │ ├── arrow-35.svg
│ │ │ ├── arrow-36.svg
│ │ │ ├── arrow-37.svg
│ │ │ ├── arrow-38.svg
│ │ │ ├── arrow-39.svg
│ │ │ ├── arrow-4.svg
│ │ │ ├── arrow-40.svg
│ │ │ ├── arrow-41.svg
│ │ │ ├── arrow-42.svg
│ │ │ ├── arrow-43.svg
│ │ │ ├── arrow-44.svg
│ │ │ ├── arrow-45.svg
│ │ │ ├── arrow-46.svg
│ │ │ ├── arrow-47.svg
│ │ │ ├── arrow-48.svg
│ │ │ ├── arrow-49.svg
│ │ │ ├── arrow-5.svg
│ │ │ ├── arrow-50.svg
│ │ │ ├── arrow-51.svg
│ │ │ ├── arrow-52.svg
│ │ │ ├── arrow-53.svg
│ │ │ ├── arrow-54.svg
│ │ │ ├── arrow-55.svg
│ │ │ ├── arrow-56.svg
│ │ │ ├── arrow-57.svg
│ │ │ ├── arrow-58.svg
│ │ │ ├── arrow-59.svg
│ │ │ ├── arrow-6.svg
│ │ │ ├── arrow-60.svg
│ │ │ ├── arrow-61.svg
│ │ │ ├── arrow-62.svg
│ │ │ ├── arrow-63.svg
│ │ │ ├── arrow-64.svg
│ │ │ ├── arrow-65.svg
│ │ │ ├── arrow-66.svg
│ │ │ ├── arrow-67.svg
│ │ │ ├── arrow-68.svg
│ │ │ ├── arrow-69.svg
│ │ │ ├── arrow-7.svg
│ │ │ ├── arrow-70.svg
│ │ │ ├── arrow-71.svg
│ │ │ ├── arrow-72.svg
│ │ │ ├── arrow-73.svg
│ │ │ ├── arrow-74.svg
│ │ │ ├── arrow-75.svg
│ │ │ ├── arrow-76.svg
│ │ │ ├── arrow-77.svg
│ │ │ ├── arrow-78.svg
│ │ │ ├── arrow-79.svg
│ │ │ ├── arrow-8.svg
│ │ │ ├── arrow-80.svg
│ │ │ ├── arrow-81.svg
│ │ │ ├── arrow-82.svg
│ │ │ ├── arrow-83.svg
│ │ │ ├── arrow-84.svg
│ │ │ ├── arrow-85.svg
│ │ │ ├── arrow-86.svg
│ │ │ ├── arrow-87.svg
│ │ │ ├── arrow-88.svg
│ │ │ ├── arrow-89.svg
│ │ │ ├── arrow-9.svg
│ │ │ ├── arrow-90.svg
│ │ │ ├── arrow-91.svg
│ │ │ ├── arrow-92.svg
│ │ │ ├── arrow-93.svg
│ │ │ ├── arrow-94.svg
│ │ │ ├── arrow-95.svg
│ │ │ ├── arrow-96.svg
│ │ │ ├── arrow-97.svg
│ │ │ ├── arrow-98.svg
│ │ │ ├── arrow-99.svg
│ │ │ └── source.svg
│ │ ├── Cheeky Piggies
│ │ ├── Content
│ │ │ ├── Crybaby.svg
│ │ │ ├── Drool.svg
│ │ │ ├── Fuming.svg
│ │ │ ├── Hi~.svg
│ │ │ ├── Holding Tears.svg
│ │ │ ├── Love Blows.svg
│ │ │ ├── Me_ Really_.svg
│ │ │ ├── OK.svg
│ │ │ ├── Sassy Flick.svg
│ │ │ ├── Shockwave.svg
│ │ │ ├── Snooze Drool.svg
│ │ │ ├── Swag.svg
│ │ │ ├── Sweatdrop.svg
│ │ │ ├── Thumbs Up.svg
│ │ │ └── What_.svg
│ │ └── Cover
│ │ │ ├── Crybaby.svg
│ │ │ ├── Drool.svg
│ │ │ ├── Fuming.svg
│ │ │ ├── Hi~.svg
│ │ │ ├── Holding Tears.svg
│ │ │ ├── Love Blows.svg
│ │ │ ├── Me_ Really_.svg
│ │ │ ├── OK.svg
│ │ │ ├── Sassy Flick.svg
│ │ │ ├── Shockwave.svg
│ │ │ ├── Snooze Drool.svg
│ │ │ ├── Swag.svg
│ │ │ ├── Sweatdrop.svg
│ │ │ ├── Thumbs Up.svg
│ │ │ └── What_.svg
│ │ ├── Contorted Stickers
│ │ ├── Content
│ │ │ ├── AFFiNE.svg
│ │ │ ├── AI.svg
│ │ │ ├── Cat.svg
│ │ │ ├── Closed.svg
│ │ │ ├── Eyes.svg
│ │ │ ├── Fire.svg
│ │ │ ├── Info.svg
│ │ │ ├── King.svg
│ │ │ ├── Love Face.svg
│ │ │ ├── Love.svg
│ │ │ ├── Notice.svg
│ │ │ ├── Pin.svg
│ │ │ ├── Question.svg
│ │ │ ├── Smile Face.svg
│ │ │ └── Stop.svg
│ │ └── Cover
│ │ │ ├── AFFiNE.svg
│ │ │ ├── AI.svg
│ │ │ ├── Cat.svg
│ │ │ ├── Closed.svg
│ │ │ ├── Eyes.svg
│ │ │ ├── Fire.svg
│ │ │ ├── Info.svg
│ │ │ ├── King.svg
│ │ │ ├── Love Face.svg
│ │ │ ├── Love.svg
│ │ │ ├── Notice.svg
│ │ │ ├── Pin.svg
│ │ │ ├── Question.svg
│ │ │ ├── Smile Face.svg
│ │ │ └── Stop.svg
│ │ └── Paper
│ │ ├── Content
│ │ ├── +1.svg
│ │ ├── A lot of question.svg
│ │ ├── AFFiNE AI.svg
│ │ ├── Arrow.svg
│ │ ├── Atention.svg
│ │ ├── Blue Screen.svg
│ │ ├── Boom.svg
│ │ ├── Cool.svg
│ │ ├── Dino.svg
│ │ ├── Histogram.svg
│ │ ├── Local First.svg
│ │ ├── Medal.svg
│ │ ├── Notice.svg
│ │ ├── Pin.svg
│ │ └── Star.svg
│ │ └── Cover
│ │ ├── +1.svg
│ │ ├── A lot of question.svg
│ │ ├── AFFiNE AI.svg
│ │ ├── Arrow.svg
│ │ ├── Atention.svg
│ │ ├── Blue Screen.svg
│ │ ├── Boom.svg
│ │ ├── Cool.svg
│ │ ├── Dino.svg
│ │ ├── Histogram.svg
│ │ ├── Local First.svg
│ │ ├── Medal.svg
│ │ ├── Notice.svg
│ │ ├── Pin.svg
│ │ └── Star.svg
│ └── track
│ ├── package.json
│ ├── src
│ ├── __tests__
│ │ └── auto.spec.ts
│ ├── auto.ts
│ ├── events.ts
│ ├── index.ts
│ ├── mixpanel.ts
│ ├── sentry.ts
│ └── types.ts
│ └── tsconfig.json
├── rust-toolchain.toml
├── rustfmt.toml
├── scripts
├── download-blocksuite-fonts.mjs
├── generate-release-yml.mjs
├── set-version.sh
├── setup
│ ├── global.ts
│ ├── lit.ts
│ ├── polyfill.ts
│ └── vi-mock.ts
└── vitest-global.js
├── tests
├── affine-cloud-copilot
│ ├── README.md
│ ├── e2e
│ │ ├── ai-action
│ │ │ ├── brainstorm-ideas-with-mind-map.spec.ts
│ │ │ ├── change-tone.spec.ts
│ │ │ ├── check-code-error.spec.ts
│ │ │ ├── continue-with-ai.spec.ts
│ │ │ ├── continue-writing.spec.ts
│ │ │ ├── expand-mindmap-node.spec.ts
│ │ │ ├── explain-code.spec.ts
│ │ │ ├── explain-image.spec.ts
│ │ │ ├── explain-selection.spec.ts
│ │ │ ├── find-actions.spec.ts
│ │ │ ├── fix-grammar.spec.ts
│ │ │ ├── fix-spelling.spec.ts
│ │ │ ├── generate-an-image-with-image.spec.ts
│ │ │ ├── generate-an-image-with-text.spec.ts
│ │ │ ├── generate-headings.spec.ts
│ │ │ ├── generate-image-caption.spec.ts
│ │ │ ├── generate-outline.spec.ts
│ │ │ ├── generate-presentation.spec.ts
│ │ │ ├── image-filter.spec.ts
│ │ │ ├── image-processing.spec.ts
│ │ │ ├── improve-writing.spec.ts
│ │ │ ├── make-it-longer.spec.ts
│ │ │ ├── make-it-real.spec.ts
│ │ │ ├── make-it-shorter.spec.ts
│ │ │ ├── regenerate-mindmap.spec.ts
│ │ │ ├── summarize.spec.ts
│ │ │ ├── translate.spec.ts
│ │ │ ├── write-an-article.spec.ts
│ │ │ ├── write-an-blog.spec.ts
│ │ │ ├── write-an-poem.spec.ts
│ │ │ └── write-an-tweet.spec.ts
│ │ ├── base
│ │ │ └── base-test.ts
│ │ ├── basic
│ │ │ ├── authority.spec.ts
│ │ │ ├── chat.spec.ts
│ │ │ ├── guidance.spec.ts
│ │ │ └── onboarding.spec.ts
│ │ ├── chat-with
│ │ │ ├── attachments.spec.ts
│ │ │ ├── collections.spec.ts
│ │ │ ├── doc.spec.ts
│ │ │ ├── edgeless-mindmap.spec.ts
│ │ │ ├── edgeless-note-block.spec.ts
│ │ │ ├── edgeless-text-block.spec.ts
│ │ │ ├── image-block.spec.ts
│ │ │ ├── image.spec.ts
│ │ │ ├── network.spec.ts
│ │ │ ├── reasoning.spec.ts
│ │ │ ├── tags.spec.ts
│ │ │ └── text.spec.ts
│ │ ├── insertion
│ │ │ ├── add-to-edgeless-as-note.spec.ts
│ │ │ ├── insert.spec.ts
│ │ │ ├── save-as-block.spec.ts
│ │ │ └── save-as-doc.spec.ts
│ │ ├── settings
│ │ │ └── embedding.spec.ts
│ │ ├── types
│ │ │ └── global.d.ts
│ │ └── utils
│ │ │ ├── chat-panel-utils.ts
│ │ │ ├── editor-utils.ts
│ │ │ ├── settings-panel-utils.ts
│ │ │ └── test-utils.ts
│ ├── global-setup.ts
│ ├── package.json
│ ├── playwright.config.ts
│ └── tsconfig.json
├── affine-cloud
│ ├── e2e
│ │ ├── collaboration.spec.ts
│ │ ├── comments.spec.ts
│ │ ├── fixtures
│ │ │ └── 0.9.0-canary.9-snapshots.sql
│ │ ├── login.spec.ts
│ │ ├── logo.svg
│ │ ├── migration.spec.skip.ts
│ │ ├── open-in-app.spec.ts
│ │ ├── page-history.spec.ts
│ │ ├── share-page-1.spec.ts
│ │ ├── share-page-2.spec.ts
│ │ ├── storage.spec.ts
│ │ ├── template.spec.ts
│ │ └── workspace.spec.ts
│ ├── package.json
│ ├── playwright.config.ts
│ └── tsconfig.json
├── affine-desktop-cloud
│ ├── e2e
│ │ └── basic.spec.ts
│ ├── package.json
│ ├── playwright.config.ts
│ └── tsconfig.json
├── affine-desktop
│ ├── e2e
│ │ ├── basic.spec.ts
│ │ ├── image.spec.ts
│ │ ├── split-view.spec.ts
│ │ ├── tabs.spec.ts
│ │ └── workspace.spec.ts
│ ├── package.json
│ ├── playwright.config.ts
│ └── tsconfig.json
├── affine-local
│ ├── e2e
│ │ ├── ai-land.spec.ts
│ │ ├── all-page.spec.ts
│ │ ├── attachment-preview.spec.ts
│ │ ├── blocksuite
│ │ │ ├── at-menu.spec.ts
│ │ │ ├── attachment
│ │ │ │ └── toolbar.spec.ts
│ │ │ ├── callout
│ │ │ │ └── callout.spec.ts
│ │ │ ├── clipboard
│ │ │ │ └── clipboard.spec.ts
│ │ │ ├── code
│ │ │ │ ├── crud.spec.ts
│ │ │ │ └── utils.ts
│ │ │ ├── color-picker.spec.ts
│ │ │ ├── database
│ │ │ │ ├── clipboard.spec.ts
│ │ │ │ ├── rich-text.spec.ts
│ │ │ │ └── utils.ts
│ │ │ ├── edgeless
│ │ │ │ ├── auto-complete.spec.ts
│ │ │ │ ├── connector.spec.ts
│ │ │ │ ├── embed.spec.ts
│ │ │ │ ├── frame.spec.ts
│ │ │ │ ├── highlighter.spec.ts
│ │ │ │ ├── note.spec.ts
│ │ │ │ ├── shape.spec.ts
│ │ │ │ └── text.spec.ts
│ │ │ ├── editor.spec.ts
│ │ │ ├── embed
│ │ │ │ ├── embed-iframe.spec.ts
│ │ │ │ └── synced.spec.ts
│ │ │ ├── list.spec.ts
│ │ │ ├── outline
│ │ │ │ ├── outline-panel.spec.ts
│ │ │ │ ├── outline-viewer.spec.ts
│ │ │ │ └── utils.ts
│ │ │ ├── paragraph.spec.ts
│ │ │ ├── table
│ │ │ │ ├── collab.spec.ts
│ │ │ │ ├── edge-insertion.spec.ts
│ │ │ │ └── insertion.spec.ts
│ │ │ └── toolbar.spec.ts
│ │ ├── change-page-mode.spec.ts
│ │ ├── doc-info-modal.spec.ts
│ │ ├── drag-page.spec.ts
│ │ ├── duplicate-page.spec.ts
│ │ ├── exception-page.spec.ts
│ │ ├── image-preview.spec.ts
│ │ ├── import-dialog.spec.ts
│ │ ├── journal.spec.ts
│ │ ├── layout.spec.ts
│ │ ├── links.spec.ts
│ │ ├── local-first-avatar.spec.ts
│ │ ├── local-first-collections-items.spec.ts
│ │ ├── local-first-delete-page.spec.ts
│ │ ├── local-first-delete-workspace.spec.ts
│ │ ├── local-first-export-page.spec.ts
│ │ ├── local-first-favorite-page.spec.ts
│ │ ├── local-first-favorites-items.spec.ts
│ │ ├── local-first-new-page.spec.ts
│ │ ├── local-first-openpage-newtab.spec.ts
│ │ ├── local-first-restore-page.spec.ts
│ │ ├── local-first-show-delete-modal.spec.ts
│ │ ├── local-first-trash-page.spec.ts
│ │ ├── local-first-workspace-list.spec.ts
│ │ ├── local-first-workspace.spec.ts
│ │ ├── navigation.spec.ts
│ │ ├── open-affine.spec.ts
│ │ ├── page-properties.spec.ts
│ │ ├── peek-view.spec.ts
│ │ ├── quick-search.spec.ts
│ │ ├── router.spec.ts
│ │ ├── settings.spec.ts
│ │ ├── template.spec.ts
│ │ ├── theme.spec.ts
│ │ └── undo-empty.spec.ts
│ ├── package.json
│ ├── playwright.config.ts
│ └── tsconfig.json
├── affine-mobile
│ ├── e2e
│ │ ├── back-button-visibility.spec.ts
│ │ ├── detail.spec.ts
│ │ ├── explorer-favorite.spec.ts
│ │ ├── explorer-folder.spec.ts
│ │ ├── explorer-tag.spec.ts
│ │ ├── home.spec.ts
│ │ ├── settings.spec.ts
│ │ └── utils.ts
│ ├── package.json
│ ├── playwright.config.ts
│ └── tsconfig.json
├── blocksuite
│ ├── e2e
│ │ ├── attachment.spec.ts
│ │ ├── bookmark.spec.ts
│ │ ├── clipboard
│ │ │ ├── clipboard.spec.ts
│ │ │ ├── image.spec.ts
│ │ │ ├── list.spec.ts
│ │ │ └── markdown.spec.ts
│ │ ├── code
│ │ │ ├── copy-paste.spec.ts
│ │ │ ├── crud.spec.ts
│ │ │ ├── readonly.spec.ts
│ │ │ ├── selections.spec.ts
│ │ │ └── utils.ts
│ │ ├── cross-platform
│ │ │ ├── basic.spec.ts
│ │ │ └── inline
│ │ │ │ └── inline-editor.spec.ts
│ │ ├── database
│ │ │ ├── actions.ts
│ │ │ ├── clipboard.spec.ts
│ │ │ ├── column.spec.ts
│ │ │ ├── database.spec.ts
│ │ │ ├── selection.spec.ts
│ │ │ ├── sort.spec.ts
│ │ │ ├── statistics.spec.ts
│ │ │ └── title.spec.ts
│ │ ├── drag.spec.ts
│ │ ├── edgeless
│ │ │ ├── align.spec.ts
│ │ │ ├── auto-complete.spec.ts
│ │ │ ├── auto-connect.spec.ts
│ │ │ ├── basic.spec.ts
│ │ │ ├── brush.spec.ts
│ │ │ ├── clipboard.spec.ts
│ │ │ ├── color-picker.spec.ts
│ │ │ ├── connector
│ │ │ │ ├── clipboard.spec.ts
│ │ │ │ ├── connector.spec.ts
│ │ │ │ ├── elbow.spec.ts
│ │ │ │ ├── group.spec.ts
│ │ │ │ └── label.spec.ts
│ │ │ ├── edgeless-text.spec.ts
│ │ │ ├── element-toolbar.spec.ts
│ │ │ ├── eraser.spec.ts
│ │ │ ├── frame
│ │ │ │ ├── clipboard.spec.ts
│ │ │ │ ├── frame-mindmap.spec.ts
│ │ │ │ ├── frame-title.spec.ts
│ │ │ │ ├── frame.spec.ts
│ │ │ │ ├── layer.spec.ts
│ │ │ │ └── selection.spec.ts
│ │ │ ├── group
│ │ │ │ ├── clipboard.spec.ts
│ │ │ │ ├── group-and-ungroup.spec.ts
│ │ │ │ ├── group.spec.ts
│ │ │ │ ├── release.spec.ts
│ │ │ │ └── title.spec.ts
│ │ │ ├── linked-doc.spec.ts
│ │ │ ├── lock.spec.ts
│ │ │ ├── mindmap.spec.ts
│ │ │ ├── note
│ │ │ │ ├── drag-handle.spec.ts
│ │ │ │ ├── mode.spec.ts
│ │ │ │ ├── note.spec.ts
│ │ │ │ ├── resize.spec.ts
│ │ │ │ ├── scale.spec.ts
│ │ │ │ ├── slicer.spec.ts
│ │ │ │ └── undo-redo.spec.ts
│ │ │ ├── pan.spec.ts
│ │ │ ├── paste-block.spec.ts
│ │ │ ├── presentation.spec.ts
│ │ │ ├── reordering.spec.ts
│ │ │ ├── resizing.spec.ts
│ │ │ ├── rotation.spec.ts
│ │ │ ├── selection
│ │ │ │ ├── connector.spec.ts
│ │ │ │ ├── keyboard.spec.ts
│ │ │ │ └── selection.spec.ts
│ │ │ ├── shape.spec.ts
│ │ │ ├── shortcut.spec.ts
│ │ │ ├── snap.spec.ts
│ │ │ └── text.spec.ts
│ │ ├── embed-synced-doc
│ │ │ ├── edgeless.spec.ts
│ │ │ ├── render.spec.ts
│ │ │ ├── toolbar.spec.ts
│ │ │ └── utils.ts
│ │ ├── fixtures
│ │ │ └── smile.png
│ │ ├── format-bar.spec.ts
│ │ ├── fragments
│ │ │ └── frame-panel.spec.ts
│ │ ├── hotkey
│ │ │ ├── bracket.spec.ts
│ │ │ ├── hotkey.spec.ts
│ │ │ ├── multiline.spec.ts
│ │ │ └── title.spec.ts
│ │ ├── image
│ │ │ ├── image.spec.ts
│ │ │ ├── keymap.spec.ts
│ │ │ ├── load.spec.ts
│ │ │ └── menu.spec.ts
│ │ ├── latex
│ │ │ ├── block.spec.ts
│ │ │ └── inline.spec.ts
│ │ ├── link.spec.ts
│ │ ├── linked-page.spec.ts
│ │ ├── list.spec.ts
│ │ ├── markdown.spec.ts
│ │ ├── multiple-editors
│ │ │ ├── edgeless.spec.ts
│ │ │ └── selection.spec.ts
│ │ ├── paragraph.spec.ts
│ │ ├── quote.spec.ts
│ │ ├── selection
│ │ │ ├── block.spec.ts
│ │ │ └── native.spec.ts
│ │ ├── slash-menu.spec.ts
│ │ ├── utils
│ │ │ ├── actions
│ │ │ │ ├── block.ts
│ │ │ │ ├── click.ts
│ │ │ │ ├── drag.ts
│ │ │ │ ├── edgeless.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── keyboard.ts
│ │ │ │ ├── linked-doc.ts
│ │ │ │ ├── misc.ts
│ │ │ │ └── selection.ts
│ │ │ ├── asserts.ts
│ │ │ ├── bs-alternative.ts
│ │ │ ├── declare-test-window.ts
│ │ │ ├── ignore.ts
│ │ │ ├── inline-editor.ts
│ │ │ ├── mindmap.ts
│ │ │ ├── multiple-editor.ts
│ │ │ ├── playwright.ts
│ │ │ └── query.ts
│ │ ├── worker.spec.ts
│ │ └── zero-width.spec.ts
│ ├── package.json
│ ├── playwright.config.ts
│ ├── snapshots
│ │ ├── attachment.spec.ts
│ │ │ ├── can-insert-attachment-from-slash-menu.json
│ │ │ ├── should-attachment-can-be-deleted.json
│ │ │ ├── should-turn-attachment-to-image-works-1.json
│ │ │ ├── should-turn-attachment-to-image-works-2.json
│ │ │ ├── should-undo-redo-works-for-attachment-1.json
│ │ │ ├── should-undo-redo-works-for-attachment-2.json
│ │ │ ├── should-undo-redo-works-for-attachment-3.json
│ │ │ ├── support-dragging-attachment-block-directly-1.json
│ │ │ ├── support-dragging-attachment-block-directly-2.json
│ │ │ └── support-dragging-attachment-block-directly-3.json
│ │ ├── bookmark.spec.ts
│ │ │ ├── copy-bookmark-url-by-copy-button-final.json
│ │ │ ├── copy-url-to-create-bookmark-in-edgeless-mode-final.json
│ │ │ ├── copy-url-to-create-bookmark-in-page-mode-final.json
│ │ │ ├── covert-bookmark-block-to-link-text-final.json
│ │ │ ├── create-bookmark-by-slash-menu-final.json
│ │ │ ├── embed-figma.json
│ │ │ ├── embed-youtube.json
│ │ │ ├── horizontal-figma.json
│ │ │ ├── horizontal-youtube.json
│ │ │ ├── support-dragging-bookmark-block-directly-after-add-paragraph.json
│ │ │ ├── support-dragging-bookmark-block-directly-after-drag.json
│ │ │ └── support-dragging-bookmark-block-directly-init.json
│ │ ├── clipboard
│ │ │ ├── clipboard.spec.ts
│ │ │ │ ├── auto-identify-url-final.json
│ │ │ │ ├── clipboard-copy-nested-items-clipboard.html
│ │ │ │ ├── clipboard-copy-nested-items-clipboard.json
│ │ │ │ ├── clipboard-copy-nested-items-clipboard.md
│ │ │ │ ├── clipboard-copy-nested-items-clipboard2.html
│ │ │ │ ├── clipboard-copy-nested-items-clipboard2.json
│ │ │ │ └── clipboard-copy-nested-items-clipboard2.md
│ │ │ └── list.spec.ts
│ │ │ │ ├── copy-a-nested-list-by-clicking-button-the-clipboard-data-should-be-complete-clipboard.html
│ │ │ │ ├── copy-a-nested-list-by-clicking-button-the-clipboard-data-should-be-complete-clipboard.json
│ │ │ │ ├── copy-a-nested-list-by-clicking-button-the-clipboard-data-should-be-complete-clipboard.md
│ │ │ │ ├── cut-will-delete-all-content-and-copy-will-reappear-content-after-cut.json
│ │ │ │ ├── cut-will-delete-all-content-and-copy-will-reappear-content-after-paste.json
│ │ │ │ ├── should-keep-paragraph-block-s-type-when-pasting-at-the-start-of-empty-paragraph-block-except-type-text-after-paste-1.json
│ │ │ │ └── should-keep-paragraph-block-s-type-when-pasting-at-the-start-of-empty-paragraph-block-except-type-text-after-paste-2.json
│ │ ├── code
│ │ │ ├── copy-paste.spec.ts
│ │ │ │ ├── code-block-has-content-click-code-block-copy-menu-copy-whole-code-block-pasted.json
│ │ │ │ └── code-block-is-empty-click-code-block-copy-menu-copy-the-empty-code-block-pasted.json
│ │ │ └── crud.spec.ts
│ │ │ │ ├── add-caption-works.json
│ │ │ │ ├── change-code-language-can-work-1.json
│ │ │ │ ├── change-code-language-can-work-2.json
│ │ │ │ ├── delete-code-block-in-more-menu-final.json
│ │ │ │ ├── duplicate-code-block-final.json
│ │ │ │ ├── format-text-in-code-block-format.json
│ │ │ │ ├── format-text-in-code-block-init.json
│ │ │ │ ├── format-text-in-code-block-link.json
│ │ │ │ ├── toggle-code-block-wrap-can-work-1.json
│ │ │ │ ├── toggle-code-block-wrap-can-work-2.json
│ │ │ │ ├── toggle-code-block-wrap-can-work-3.json
│ │ │ │ ├── undo-code-block-wrap-can-work-1.json
│ │ │ │ ├── undo-code-block-wrap-can-work-2.json
│ │ │ │ ├── undo-code-block-wrap-can-work-3.json
│ │ │ │ ├── use-markdown-syntax-can-create-code-block-init.json
│ │ │ │ └── use-markdown-syntax-can-create-code-block-markdown-syntax.json
│ │ ├── cross-platform
│ │ │ └── basic.spec.ts
│ │ │ │ ├── automatic-identify-url-text-final.json
│ │ │ │ └── basic-test-default.json
│ │ ├── drag.spec.ts
│ │ │ ├── move-to-the-last-block-of-each-level-in-multi-level-nesting-drag-3-4.json
│ │ │ ├── move-to-the-last-block-of-each-level-in-multi-level-nesting-drag-3-9.json
│ │ │ ├── move-to-the-last-block-of-each-level-in-multi-level-nesting-drag-4-3.json
│ │ │ ├── move-to-the-last-block-of-each-level-in-multi-level-nesting-init.json
│ │ │ ├── should-be-able-to-drag-drop-multiple-blocks-to-nested-block-finial.json
│ │ │ └── should-be-able-to-drag-drop-multiple-blocks-to-nested-block-init.json
│ │ ├── edgeless
│ │ │ └── edgeless-text.spec.ts
│ │ │ │ ├── min-width-limit-for-embed-block-add-linked-doc.json
│ │ │ │ ├── min-width-limit-for-embed-block-drag.json
│ │ │ │ ├── min-width-limit-for-embed-block-init.json
│ │ │ │ ├── min-width-limit-for-embed-block-link-to-card-min-width.json
│ │ │ │ ├── min-width-limit-for-embed-block-link-to-card.json
│ │ │ │ ├── press-backspace-at-the-start-of-first-line-when-edgeless-text-exist-finial.json
│ │ │ │ ├── press-backspace-at-the-start-of-first-line-when-edgeless-text-exist-note-empty.json
│ │ │ │ └── press-backspace-at-the-start-of-first-line-when-edgeless-text-exist-note-not-empty.json
│ │ ├── format-bar.spec.ts
│ │ │ ├── create-linked-doc-from-block-selection-with-format-bar.json
│ │ │ ├── should-format-quick-bar-be-able-to-change-background-color-default-color.json
│ │ │ ├── should-format-quick-bar-be-able-to-change-background-color-init.json
│ │ │ ├── should-format-quick-bar-be-able-to-change-background-color-select-all.json
│ │ │ ├── should-format-quick-bar-be-able-to-change-to-heading-paragraph-type-bulleted.json
│ │ │ ├── should-format-quick-bar-be-able-to-change-to-heading-paragraph-type-finial.json
│ │ │ ├── should-format-quick-bar-be-able-to-change-to-heading-paragraph-type-init.json
│ │ │ ├── should-format-quick-bar-be-able-to-format-text-finial.json
│ │ │ ├── should-format-quick-bar-be-able-to-format-text-init.json
│ │ │ ├── should-format-quick-bar-be-able-to-format-text-when-select-multiple-line-finial.json
│ │ │ ├── should-format-quick-bar-be-able-to-format-text-when-select-multiple-line-init.json
│ │ │ ├── should-format-quick-bar-be-able-to-link-text-finial.json
│ │ │ ├── should-format-quick-bar-be-able-to-link-text-init.json
│ │ │ ├── should-format-quick-bar-show-after-convert-to-code-block.json
│ │ │ ├── should-format-quick-bar-with-block-selection-works-when-update-block-type-final.json
│ │ │ ├── should-format-quick-bar-with-block-selection-works-when-update-block-type-init.json
│ │ │ ├── should-format-quick-bar-work-in-multiple-block-selection.json
│ │ │ └── should-format-quick-bar-work-in-single-block-selection.json
│ │ ├── hotkey.spec.ts
│ │ │ ├── Enter-key-should-as-expected-after-setting-heading-by-shortkey.json
│ │ │ ├── multi-line-rich-text-inline-code-hotkey-init.json
│ │ │ ├── multi-line-rich-text-inline-code-hotkey-redo.json
│ │ │ ├── multi-line-rich-text-inline-code-hotkey-undo.json
│ │ │ ├── should-cut-work-multiple-line-init.json
│ │ │ ├── should-cut-work-multiple-line-undo.json
│ │ │ ├── should-cut-work-single-line-init.json
│ │ │ ├── should-cut-work-single-line-undo.json
│ │ │ ├── should-hotkey-work-in-paragraph-init.json
│ │ │ ├── should-hotkey-work-in-paragraph-press-0.json
│ │ │ ├── should-hotkey-work-in-paragraph-press-6.json
│ │ │ ├── should-hotkey-work-in-paragraph-press-8.json
│ │ │ ├── should-hotkey-work-in-paragraph-press-9.json
│ │ │ ├── should-hotkey-work-in-paragraph-press-d.json
│ │ │ ├── should-multiple-line-format-hotkey-work-finial.json
│ │ │ ├── should-multiple-line-format-hotkey-work-init.json
│ │ │ ├── should-single-line-format-hotkey-work-finial.json
│ │ │ ├── should-single-line-format-hotkey-work-init.json
│ │ │ ├── use-formatted-cursor-with-hotkey-bold-ggg.json
│ │ │ ├── use-formatted-cursor-with-hotkey-bold-hhh.json
│ │ │ ├── use-formatted-cursor-with-hotkey-bold.json
│ │ │ └── use-formatted-cursor-with-hotkey-init.json
│ │ ├── hotkey
│ │ │ ├── bracket.spec.ts
│ │ │ │ ├── should-bracket-complete-with-backtick-works-undo.json
│ │ │ │ └── should-bracket-complete-with-backtick-works.json
│ │ │ ├── hotkey.spec.ts
│ │ │ │ ├── Enter-key-should-as-expected-after-setting-heading-by-shortkey.json
│ │ │ │ ├── should-cut-work-single-line-init.json
│ │ │ │ ├── should-cut-work-single-line-undo.json
│ │ │ │ ├── should-hotkey-work-in-paragraph-init.json
│ │ │ │ ├── should-hotkey-work-in-paragraph-press-0.json
│ │ │ │ ├── should-hotkey-work-in-paragraph-press-6.json
│ │ │ │ ├── should-hotkey-work-in-paragraph-press-8.json
│ │ │ │ ├── should-hotkey-work-in-paragraph-press-9.json
│ │ │ │ ├── should-hotkey-work-in-paragraph-press-d.json
│ │ │ │ ├── should-single-line-format-hotkey-work-finial.json
│ │ │ │ ├── should-single-line-format-hotkey-work-init.json
│ │ │ │ ├── type-character-jump-out-code-node-1.json
│ │ │ │ ├── type-character-jump-out-code-node-2.json
│ │ │ │ ├── use-formatted-cursor-with-hotkey-at-empty-line-bold.json
│ │ │ │ ├── use-formatted-cursor-with-hotkey-bold-ggg.json
│ │ │ │ ├── use-formatted-cursor-with-hotkey-bold-hhh.json
│ │ │ │ ├── use-formatted-cursor-with-hotkey-bold.json
│ │ │ │ └── use-formatted-cursor-with-hotkey-init.json
│ │ │ └── multiline.spec.ts
│ │ │ │ ├── multi-line-rich-text-inline-code-hotkey-init.json
│ │ │ │ ├── multi-line-rich-text-inline-code-hotkey-redo.json
│ │ │ │ ├── multi-line-rich-text-inline-code-hotkey-undo.json
│ │ │ │ ├── should-cut-work-multiple-line-init.json
│ │ │ │ ├── should-cut-work-multiple-line-undo.json
│ │ │ │ ├── should-multiple-line-format-hotkey-work-finial.json
│ │ │ │ └── should-multiple-line-format-hotkey-work-init.json
│ │ ├── latex
│ │ │ ├── block.spec.ts
│ │ │ │ ├── add-latex-block-using-markdown-shortcut-with-enter-finial.json
│ │ │ │ ├── add-latex-block-using-markdown-shortcut-with-enter-init.json
│ │ │ │ ├── add-latex-block-using-markdown-shortcut-with-space-finial.json
│ │ │ │ ├── add-latex-block-using-markdown-shortcut-with-space-init.json
│ │ │ │ ├── add-latex-block-using-slash-menu-finial.json
│ │ │ │ └── add-latex-block-using-slash-menu-init.json
│ │ │ └── inline.spec.ts
│ │ │ │ ├── add-inline-latex-at-the-start-of-line.html
│ │ │ │ ├── add-inline-latex-in-the-middle-of-text.html
│ │ │ │ ├── add-inline-latex-using-slash-menu.html
│ │ │ │ └── update-inline-latex-by-clicking-the-node.html
│ │ ├── link.spec.ts
│ │ │ ├── basic-link.json
│ │ │ ├── convert-link-to-card.json
│ │ │ ├── convert-link-to-embed.json
│ │ │ ├── create-link-with-paste.json
│ │ │ ├── should-mock-selection-not-stored.json
│ │ │ ├── type-character-after-link-should-not-extend-the-link-attributes.json
│ │ │ └── type-character-in-link-should-not-jump-out-link-node.json
│ │ ├── linked-page.spec.ts
│ │ │ ├── can-create-linked-page-and-jump-final.json
│ │ │ ├── can-create-linked-page-and-jump-init.json
│ │ │ ├── duplicated-linked-page-should-paste-as-linked-page.json
│ │ │ ├── linked-doc-popover-can-show-and-hide-correctly.json
│ │ │ ├── paste-linked-page-should-paste-as-linked-page.json
│ │ │ ├── should-Selected-text-converted-to-linked-page.json
│ │ │ ├── should-create-and-switch-page-work-final.json
│ │ │ ├── should-create-and-switch-page-work-init.json
│ │ │ ├── should-reference-node-attributes-correctly-1.json
│ │ │ ├── should-reference-node-attributes-correctly-2.json
│ │ │ ├── should-the-cursor-move-correctly-around-reference-node-1.json
│ │ │ ├── should-the-cursor-move-correctly-around-reference-node-2.json
│ │ │ ├── text-can-be-inserted-as-expected-when-reference-node-is-in-the-start-or-end-of-line.json
│ │ │ └── text-inserted-in-the-between-of-reference-nodes-should-not-be-extend-attributes.json
│ │ ├── list.spec.ts
│ │ │ ├── basic-indent-and-unindent-after-shift-tab.json
│ │ │ ├── basic-indent-and-unindent-after-tab.json
│ │ │ ├── basic-indent-and-unindent-init.json
│ │ │ ├── can-expand-toggle-in-readonly-mode-before-readonly.json
│ │ │ ├── click-toggle-icon-should-collapsed-list-init.json
│ │ │ ├── click-toggle-icon-should-collapsed-list-toggle.json
│ │ │ ├── convert-nested-paragraph-to-list-final.json
│ │ │ ├── convert-nested-paragraph-to-list-init.json
│ │ │ ├── enter-list-block-with-empty-text-1.json
│ │ │ ├── enter-list-block-with-empty-text-2.json
│ │ │ ├── enter-list-block-with-empty-text-3.json
│ │ │ ├── enter-list-block-with-empty-text-4.json
│ │ │ ├── enter-list-block-with-empty-text-5.json
│ │ │ ├── enter-list-block-with-empty-text-init.json
│ │ │ ├── indent-item-should-expand-toggle-finial.json
│ │ │ ├── indent-item-should-expand-toggle-init.json
│ │ │ ├── indent-item-should-expand-toggle-toggle.json
│ │ │ ├── nested-list-blocks-finial.json
│ │ │ ├── nested-list-blocks-init.json
│ │ │ ├── should-indent-todo-block-preserve-todo-status-final.json
│ │ │ └── should-indent-todo-block-preserve-todo-status-init.json
│ │ ├── paragraph.spec.ts
│ │ │ ├── delete-empty-text-paragraph-block-should-keep-children-blocks-when-following-custom-blocks-final.json
│ │ │ ├── delete-empty-text-paragraph-block-should-keep-children-blocks-when-following-custom-blocks-init.json
│ │ │ ├── paragraph-indent-and-delete-in-line-start-after-press-backspace-2.json
│ │ │ ├── paragraph-indent-and-delete-in-line-start-after-press-backspace-3.json
│ │ │ ├── paragraph-indent-and-delete-in-line-start-after-press-backspace.json
│ │ │ ├── paragraph-indent-and-delete-in-line-start-init.json
│ │ │ ├── paragraph-with-child-block-should-work-at-enter-final.json
│ │ │ ├── paragraph-with-child-block-should-work-at-enter-init.json
│ │ │ ├── should-delete-paragraph-block-child-can-hold-cursor-in-correct-position-final.json
│ │ │ ├── should-delete-paragraph-block-child-can-hold-cursor-in-correct-position-init.json
│ │ │ ├── should-indent-and-unindent-works-with-children-indent-2.json
│ │ │ ├── should-indent-and-unindent-works-with-children-indent-3.json
│ │ │ ├── should-indent-and-unindent-works-with-children-indent-4.json
│ │ │ ├── should-indent-and-unindent-works-with-children-indent.json
│ │ │ ├── should-indent-and-unindent-works-with-children-init.json
│ │ │ ├── should-indent-and-unindent-works-with-children-unindent-1.json
│ │ │ ├── should-indent-and-unindent-works-with-children-unindent-2.json
│ │ │ ├── should-indent-and-unindent-works-with-children-unindent-3.json
│ │ │ ├── should-readonly-mode-not-be-able-to-modify-text-1.json
│ │ │ └── should-readonly-mode-not-be-able-to-modify-text-2.json
│ │ ├── selection
│ │ │ ├── block.spec.ts
│ │ │ │ ├── click-bottom-of-page-and-if-the-last-is-embed-block-editor-should-insert-a-new-editable-block.json
│ │ │ │ ├── should-indent-multi-selection-block.json
│ │ │ │ ├── should-not-draw-rect-for-sub-selected-blocks-when-entering-tab-key.json
│ │ │ │ ├── should-unindent-multi-selection-block-final.json
│ │ │ │ └── should-unindent-multi-selection-block-init.json
│ │ │ └── native.spec.ts
│ │ │ │ ├── indent-native-multi-selection-block-after-shift-tab.json
│ │ │ │ ├── indent-native-multi-selection-block-after-tab.json
│ │ │ │ ├── native-range-delete-with-indent-after-backspace.json
│ │ │ │ ├── native-range-delete-with-indent-after-redo.json
│ │ │ │ ├── native-range-delete-with-indent-after-undo.json
│ │ │ │ ├── native-range-delete-with-indent-init.json
│ │ │ │ └── should-unindent-native-multi-selection-block-after-tab.json
│ │ └── slash-menu.spec.ts
│ │ │ ├── delete-block-by-slash-menu-should-remove-children.json
│ │ │ ├── delete-the-slash-symbol-should-close-the-slash-menu.json
│ │ │ ├── should-clean-slash-string-after-soft-enter.json
│ │ │ ├── should-style-empty-line-works.json
│ │ │ ├── should-style-text-line-works.json
│ │ │ └── slash-menu-should-hide-after-click-away.json
│ └── tsconfig.json
├── fixtures
│ ├── affine-preview.png
│ ├── affine.svg
│ ├── blue.png
│ ├── large-image.png
│ ├── lorem-ipsum.pdf
│ └── v1-color-palettes-snapshot.zip
└── kit
│ ├── package.json
│ ├── src
│ ├── bs
│ │ ├── linked-toolbar.ts
│ │ ├── misc.ts
│ │ └── table.ts
│ ├── electron.ts
│ ├── mobile.ts
│ ├── playwright.ts
│ └── utils
│ │ ├── app-tabs.ts
│ │ ├── attachment.ts
│ │ ├── clipboard.ts
│ │ ├── cloud.ts
│ │ ├── drop-file.ts
│ │ ├── editor.ts
│ │ ├── filter.ts
│ │ ├── image.ts
│ │ ├── keyboard.ts
│ │ ├── load-page.ts
│ │ ├── page-logic.ts
│ │ ├── properties.ts
│ │ ├── selection.ts
│ │ ├── setting.ts
│ │ ├── sidebar.ts
│ │ ├── url.ts
│ │ ├── utils.ts
│ │ └── workspace.ts
│ └── tsconfig.json
├── tools
├── @types
│ ├── build-config
│ │ ├── __all.d.ts
│ │ └── package.json
│ └── env
│ │ ├── __all.d.ts
│ │ └── package.json
├── changelog
│ ├── index.js
│ ├── markdown.js
│ └── package.json
├── cli
│ ├── README.md
│ ├── bin
│ │ ├── cli.js
│ │ └── runner.js
│ ├── hooks.js
│ ├── package.json
│ ├── register.js
│ ├── src
│ │ ├── affine.ts
│ │ ├── build.ts
│ │ ├── bundle.ts
│ │ ├── cert.ts
│ │ ├── clean.ts
│ │ ├── command.ts
│ │ ├── context.ts
│ │ ├── dev.ts
│ │ ├── init.ts
│ │ ├── run.ts
│ │ └── webpack
│ │ │ ├── cache-group.ts
│ │ │ ├── error-handler.js
│ │ │ ├── html-plugin.ts
│ │ │ ├── index.ts
│ │ │ ├── node-loader.js
│ │ │ ├── s3-plugin.ts
│ │ │ ├── template.html
│ │ │ └── types.ts
│ └── tsconfig.json
├── commitlint
│ ├── .commitlintrc.json
│ ├── README.md
│ └── package.json
├── copilot-result
│ ├── index.js
│ ├── markdown.js
│ └── package.json
├── playstore-auto-bump
│ ├── index.ts
│ ├── package.json
│ └── tsconfig.json
└── utils
│ ├── package.json
│ ├── src
│ ├── build-config.ts
│ ├── distribution.ts
│ ├── format.ts
│ ├── index.ts
│ ├── logger.ts
│ ├── package.ts
│ ├── path.ts
│ ├── process.ts
│ ├── types.ts
│ ├── workspace.gen.ts
│ ├── workspace.ts
│ └── yarn.ts
│ └── tsconfig.json
├── tsconfig.eslint.json
├── tsconfig.json
├── tsconfig.node.json
├── tsconfig.web.json
├── typedoc.base.json
├── typedoc.json
├── vitest.config.ts
├── vitest.workspace.ts
└── yarn.lock
/.cargo/config.toml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.cargo/config.toml
--------------------------------------------------------------------------------
/.codesandbox/task.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.codesandbox/task.json
--------------------------------------------------------------------------------
/.devcontainer/build.sh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.devcontainer/build.sh
--------------------------------------------------------------------------------
/.devcontainer/devcontainer.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.devcontainer/devcontainer.json
--------------------------------------------------------------------------------
/.devcontainer/docker-compose.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.devcontainer/docker-compose.yml
--------------------------------------------------------------------------------
/.devcontainer/setup-user.sh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.devcontainer/setup-user.sh
--------------------------------------------------------------------------------
/.docker/dev/.env.example:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.docker/dev/.env.example
--------------------------------------------------------------------------------
/.docker/dev/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.docker/dev/.gitignore
--------------------------------------------------------------------------------
/.docker/dev/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.docker/dev/README.md
--------------------------------------------------------------------------------
/.docker/dev/certs/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.docker/dev/compose.yml.example:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.docker/dev/compose.yml.example
--------------------------------------------------------------------------------
/.docker/dev/nginx/nginx.conf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.docker/dev/nginx/nginx.conf
--------------------------------------------------------------------------------
/.docker/dev/templates/nginx.conf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.docker/dev/templates/nginx.conf
--------------------------------------------------------------------------------
/.docker/dev/templates/openssl.conf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.docker/dev/templates/openssl.conf
--------------------------------------------------------------------------------
/.docker/selfhost/.env.example:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.docker/selfhost/.env.example
--------------------------------------------------------------------------------
/.docker/selfhost/.gitignore:
--------------------------------------------------------------------------------
1 | .env
2 |
--------------------------------------------------------------------------------
/.docker/selfhost/compose.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.docker/selfhost/compose.yml
--------------------------------------------------------------------------------
/.docker/selfhost/config.example.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.docker/selfhost/config.example.json
--------------------------------------------------------------------------------
/.docker/selfhost/schema.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.docker/selfhost/schema.json
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.editorconfig
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.gitattributes
--------------------------------------------------------------------------------
/.github/CLA.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/CLA.md
--------------------------------------------------------------------------------
/.github/CODEOWNERS:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/CODEOWNERS
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | github: [toeverything]
2 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/BUG-REPORT.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/ISSUE_TEMPLATE/BUG-REPORT.yml
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/FEATURE-REQUEST.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/ISSUE_TEMPLATE/FEATURE-REQUEST.yml
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/ISSUE_TEMPLATE/config.yml
--------------------------------------------------------------------------------
/.github/actions/build-rust/action.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/actions/build-rust/action.yml
--------------------------------------------------------------------------------
/.github/actions/cluster-auth/action.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/actions/cluster-auth/action.yml
--------------------------------------------------------------------------------
/.github/actions/copilot-test/action.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/actions/copilot-test/action.yml
--------------------------------------------------------------------------------
/.github/actions/deploy/action.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/actions/deploy/action.yml
--------------------------------------------------------------------------------
/.github/actions/deploy/deploy.mjs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/actions/deploy/deploy.mjs
--------------------------------------------------------------------------------
/.github/actions/download-web/action.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/actions/download-web/action.yml
--------------------------------------------------------------------------------
/.github/actions/prepare-release/action.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/actions/prepare-release/action.yml
--------------------------------------------------------------------------------
/.github/actions/server-test-env/action.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/actions/server-test-env/action.yml
--------------------------------------------------------------------------------
/.github/actions/setup-node/action.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/actions/setup-node/action.yml
--------------------------------------------------------------------------------
/.github/actions/setup-sentry/action.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/actions/setup-sentry/action.yml
--------------------------------------------------------------------------------
/.github/actions/setup-version/action.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/actions/setup-version/action.yml
--------------------------------------------------------------------------------
/.github/auto_assign.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/auto_assign.yml
--------------------------------------------------------------------------------
/.github/deployment/front/Dockerfile:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/deployment/front/Dockerfile
--------------------------------------------------------------------------------
/.github/deployment/front/affine.nginx.conf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/deployment/front/affine.nginx.conf
--------------------------------------------------------------------------------
/.github/deployment/front/nginx.conf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/deployment/front/nginx.conf
--------------------------------------------------------------------------------
/.github/deployment/node/Dockerfile:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/deployment/node/Dockerfile
--------------------------------------------------------------------------------
/.github/helm/affine/.helmignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/helm/affine/.helmignore
--------------------------------------------------------------------------------
/.github/helm/affine/Chart.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/helm/affine/Chart.yaml
--------------------------------------------------------------------------------
/.github/helm/affine/charts/doc/Chart.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/helm/affine/charts/doc/Chart.yaml
--------------------------------------------------------------------------------
/.github/helm/affine/charts/doc/values.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/helm/affine/charts/doc/values.yaml
--------------------------------------------------------------------------------
/.github/helm/affine/charts/sync/.helmignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/helm/affine/charts/sync/.helmignore
--------------------------------------------------------------------------------
/.github/helm/affine/charts/sync/Chart.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/helm/affine/charts/sync/Chart.yaml
--------------------------------------------------------------------------------
/.github/helm/affine/charts/sync/values.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/helm/affine/charts/sync/values.yaml
--------------------------------------------------------------------------------
/.github/helm/affine/charts/web/.helmignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/helm/affine/charts/web/.helmignore
--------------------------------------------------------------------------------
/.github/helm/affine/charts/web/Chart.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/helm/affine/charts/web/Chart.yaml
--------------------------------------------------------------------------------
/.github/helm/affine/charts/web/values.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/helm/affine/charts/web/values.yaml
--------------------------------------------------------------------------------
/.github/helm/affine/templates/_helpers.tpl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/helm/affine/templates/_helpers.tpl
--------------------------------------------------------------------------------
/.github/helm/affine/templates/configmap.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/helm/affine/templates/configmap.yaml
--------------------------------------------------------------------------------
/.github/helm/affine/templates/ingress.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/helm/affine/templates/ingress.yaml
--------------------------------------------------------------------------------
/.github/helm/affine/templates/pg-secret.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/helm/affine/templates/pg-secret.yaml
--------------------------------------------------------------------------------
/.github/helm/affine/values.yaml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/helm/affine/values.yaml
--------------------------------------------------------------------------------
/.github/helm/releaser.yaml:
--------------------------------------------------------------------------------
1 | owner: toeverything
2 | git-repo: helm-charts
3 |
--------------------------------------------------------------------------------
/.github/labeler.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/labeler.yml
--------------------------------------------------------------------------------
/.github/renovate.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/renovate.json
--------------------------------------------------------------------------------
/.github/workflows/auto-labeler.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/workflows/auto-labeler.yml
--------------------------------------------------------------------------------
/.github/workflows/build-images.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/workflows/build-images.yml
--------------------------------------------------------------------------------
/.github/workflows/build-test.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/workflows/build-test.yml
--------------------------------------------------------------------------------
/.github/workflows/copilot-test.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/workflows/copilot-test.yml
--------------------------------------------------------------------------------
/.github/workflows/pr-title-lint.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/workflows/pr-title-lint.yml
--------------------------------------------------------------------------------
/.github/workflows/release-cloud.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/workflows/release-cloud.yml
--------------------------------------------------------------------------------
/.github/workflows/release-desktop.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/workflows/release-desktop.yml
--------------------------------------------------------------------------------
/.github/workflows/release-mobile.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/workflows/release-mobile.yml
--------------------------------------------------------------------------------
/.github/workflows/release.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/workflows/release.yml
--------------------------------------------------------------------------------
/.github/workflows/sync-i18n.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/workflows/sync-i18n.yml
--------------------------------------------------------------------------------
/.github/workflows/windows-signer.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.github/workflows/windows-signer.yml
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.gitignore
--------------------------------------------------------------------------------
/.husky/pre-commit:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.husky/pre-commit
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.npmrc
--------------------------------------------------------------------------------
/.nvmrc:
--------------------------------------------------------------------------------
1 | 22.16.0
2 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.prettierignore
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.prettierrc
--------------------------------------------------------------------------------
/.taplo.toml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.taplo.toml
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.vscode/extensions.json
--------------------------------------------------------------------------------
/.vscode/launch.template.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.vscode/launch.template.json
--------------------------------------------------------------------------------
/.vscode/settings.template.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.vscode/settings.template.json
--------------------------------------------------------------------------------
/.yarn/releases/yarn-4.9.1.cjs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.yarn/releases/yarn-4.9.1.cjs
--------------------------------------------------------------------------------
/.yarnrc.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/.yarnrc.yml
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 |
3 | See the [AFFiNE CHANGELOG](https://affine.pro/blog?tag=Release%20Note)
4 |
5 | ---
6 |
--------------------------------------------------------------------------------
/Cargo.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/Cargo.lock
--------------------------------------------------------------------------------
/Cargo.toml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/Cargo.toml
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/LICENSE
--------------------------------------------------------------------------------
/LICENSE-MIT:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/LICENSE-MIT
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/README.md
--------------------------------------------------------------------------------
/SECURITY.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/SECURITY.md
--------------------------------------------------------------------------------
/blocksuite/affine/all/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/all/package.json
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/components/caption.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-components/caption';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/components/citation.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-components/citation';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/components/color-picker.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-components/color-picker';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/components/context-menu.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-components/context-menu';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/components/date-picker.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-components/date-picker';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/components/drop-indicator.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-components/drop-indicator';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/components/embed-card-modal.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-components/embed-card-modal';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/components/filterable-list.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-components/filterable-list';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/components/highlight-dropdown-menu.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-components/highlight-dropdown-menu';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/components/hover.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-components/hover';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/components/icon-button.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-components/icon-button';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/components/icons.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-components/icons';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/components/link-preview.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-components/link-preview';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/components/linked-doc-title.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-components/linked-doc-title';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/components/notification.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-components/notification';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/components/open-doc-dropdown-menu.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-components/open-doc-dropdown-menu';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/components/peek.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-components/peek';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/components/portal.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-components/portal';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/components/resource.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-components/resource';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/components/size-dropdown-menu.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-components/size-dropdown-menu';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/components/smooth-corner.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-components/smooth-corner';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/components/toast.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-components/toast';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/components/toggle-button.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-components/toggle-button';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/components/toggle-switch.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-components/toggle-switch';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/components/toolbar.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-components/toolbar';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/components/tooltip.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-components/tooltip';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/components/view-dropdown-menu.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-components/view-dropdown-menu';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/data-view/effects.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/data-view/effects';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/data-view/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/data-view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/effects.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/all/src/effects.ts
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/ext-loader/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-ext-loader';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/foundation/clipboard.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-foundation/clipboard';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/foundation/store.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-foundation/store';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/foundation/view.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-foundation/view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/fragments/adapter-panel/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-fragment-adapter-panel';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/fragments/adapter-panel/view.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-fragment-adapter-panel/view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/fragments/doc-title/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-fragment-doc-title';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/fragments/doc-title/view.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-fragment-doc-title/view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/fragments/outline/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-fragment-outline';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/fragments/outline/view.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-fragment-outline/view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/gfx/brush/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-gfx-brush';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/gfx/brush/store.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-gfx-brush/store';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/gfx/brush/view.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-gfx-brush/view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/gfx/connector/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-gfx-connector';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/gfx/connector/store.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-gfx-connector/store';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/gfx/connector/view.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-gfx-connector/view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/gfx/group/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-gfx-group';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/gfx/group/store.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-gfx-group/store';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/gfx/group/view.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-gfx-group/view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/gfx/link/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-gfx-link';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/gfx/link/view.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-gfx-link/view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/gfx/mindmap/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-gfx-mindmap';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/gfx/mindmap/store.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-gfx-mindmap/store';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/gfx/mindmap/view.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-gfx-mindmap/view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/gfx/note/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-gfx-note';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/gfx/note/view.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-gfx-note/view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/gfx/pointer/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-gfx-pointer';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/gfx/pointer/view.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-gfx-pointer/view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/gfx/shape/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-gfx-shape';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/gfx/shape/store.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-gfx-shape/store';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/gfx/shape/view.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-gfx-shape/view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/gfx/template/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-gfx-template';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/gfx/template/view.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-gfx-template/view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/gfx/text/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-gfx-text';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/gfx/text/store.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-gfx-text/store';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/gfx/text/view.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-gfx-text/view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/gfx/turbo-renderer.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-gfx-turbo-renderer';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/global/di.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/global/di';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/global/disposable.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/global/disposable';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/global/env.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/global/env';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/global/exceptions.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/global/exceptions';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/global/gfx.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/global/gfx';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/global/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/global';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/global/lit.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/global/lit';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/global/types.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/global/types';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/global/utils.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/global/utils';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/index.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/model/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-model';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/rich-text/effects.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-rich-text/effects';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/rich-text/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-rich-text';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/schemas.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/all/src/schemas.ts
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/shared/adapters.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-shared/adapters';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/shared/commands.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-shared/commands';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/shared/consts.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-shared/consts';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/shared/selection.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-shared/selection';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/shared/services.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-shared/services';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/shared/styles.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-shared/styles';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/shared/theme.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-shared/theme';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/shared/types.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-shared/types';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/shared/utils.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-shared/utils';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/std/effects.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/std/effects';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/std/gfx.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/std/gfx';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/std/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/std';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/std/inline.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/std/inline';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/store/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/all/src/store/index.ts
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/store/test.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/store/test';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/sync/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/sync';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/widgets/drag-handle/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-widget-drag-handle';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/widgets/drag-handle/view.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-widget-drag-handle/view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/widgets/edgeless-auto-connect/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-widget-edgeless-auto-connect';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/widgets/edgeless-auto-connect/view.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-widget-edgeless-auto-connect/view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/widgets/edgeless-dragging-area/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-widget-edgeless-dragging-area';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/widgets/edgeless-toolbar/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-widget-edgeless-toolbar';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/widgets/edgeless-toolbar/view.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-widget-edgeless-toolbar/view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/widgets/edgeless-zoom-toolbar/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-widget-edgeless-zoom-toolbar';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/widgets/edgeless-zoom-toolbar/view.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-widget-edgeless-zoom-toolbar/view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/widgets/frame-title/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-widget-frame-title';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/widgets/frame-title/view.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-widget-frame-title/view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/widgets/keyboard-toolbar/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-widget-keyboard-toolbar';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/widgets/keyboard-toolbar/view.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-widget-keyboard-toolbar/view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/widgets/linked-doc/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-widget-linked-doc';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/widgets/linked-doc/view.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-widget-linked-doc/view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/widgets/note-slicer/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-widget-note-slicer';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/widgets/note-slicer/view.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-widget-note-slicer/view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/widgets/page-dragging-area/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-widget-page-dragging-area';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/widgets/page-dragging-area/view.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-widget-page-dragging-area/view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/widgets/remote-selection/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-widget-remote-selection';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/widgets/remote-selection/view.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-widget-remote-selection/view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/widgets/scroll-anchoring/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-widget-scroll-anchoring';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/widgets/scroll-anchoring/view.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-widget-scroll-anchoring/view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/widgets/slash-menu/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-widget-slash-menu';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/widgets/slash-menu/view.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-widget-slash-menu/view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/widgets/toolbar/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-widget-toolbar';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/widgets/toolbar/view.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-widget-toolbar/view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/src/widgets/viewport-overlay/index.ts:
--------------------------------------------------------------------------------
1 | export * from '@blocksuite/affine-widget-viewport-overlay';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/all/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/all/tsconfig.json
--------------------------------------------------------------------------------
/blocksuite/affine/all/vitest.config.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/all/vitest.config.ts
--------------------------------------------------------------------------------
/blocksuite/affine/blocks/bookmark/src/components/index.ts:
--------------------------------------------------------------------------------
1 | export * from './bookmark-card';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/blocks/code/src/view.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/blocks/code/src/view.ts
--------------------------------------------------------------------------------
/blocksuite/affine/blocks/database/src/context/index.ts:
--------------------------------------------------------------------------------
1 | export * from './host-context';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/blocks/edgeless-text/src/edgeless-toolbar/index.ts:
--------------------------------------------------------------------------------
1 | export * from './config';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/blocks/embed-doc/src/embed-linked-doc-block/commands/index.ts:
--------------------------------------------------------------------------------
1 | export * from './insert-embed-linked-doc';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/blocks/list/src/view.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/blocks/list/src/view.ts
--------------------------------------------------------------------------------
/blocksuite/affine/blocks/note/src/view.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/blocks/note/src/view.ts
--------------------------------------------------------------------------------
/blocksuite/affine/blocks/root/src/view.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/blocks/root/src/view.ts
--------------------------------------------------------------------------------
/blocksuite/affine/blocks/surface/src/adapters/index.ts:
--------------------------------------------------------------------------------
1 | export * from './extension.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/components/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/components/package.json
--------------------------------------------------------------------------------
/blocksuite/affine/components/src/index.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/components/src/notification/index.ts:
--------------------------------------------------------------------------------
1 | export * from './linked-doc.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/data-view/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/data-view/package.json
--------------------------------------------------------------------------------
/blocksuite/affine/data-view/src/core/data-source/index.ts:
--------------------------------------------------------------------------------
1 | export * from './base.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/data-view/src/core/widget/index.ts:
--------------------------------------------------------------------------------
1 | export * from './types.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/data-view/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './core/index.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/data-view/src/property-presets/number/index.ts:
--------------------------------------------------------------------------------
1 | export * from './types.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/data-view/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/data-view/tsconfig.json
--------------------------------------------------------------------------------
/blocksuite/affine/ext-loader/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/ext-loader/README.md
--------------------------------------------------------------------------------
/blocksuite/affine/ext-loader/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/ext-loader/package.json
--------------------------------------------------------------------------------
/blocksuite/affine/ext-loader/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/ext-loader/src/index.ts
--------------------------------------------------------------------------------
/blocksuite/affine/foundation/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/foundation/package.json
--------------------------------------------------------------------------------
/blocksuite/affine/foundation/src/index.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/foundation/src/store.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/foundation/src/store.ts
--------------------------------------------------------------------------------
/blocksuite/affine/foundation/src/view.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/foundation/src/view.ts
--------------------------------------------------------------------------------
/blocksuite/affine/fragments/frame-panel/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './frame-panel';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/brush/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/brush/package.json
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/brush/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/brush/src/index.ts
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/brush/src/store.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/brush/src/store.ts
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/brush/src/view.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/brush/src/view.ts
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/brush/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/brush/tsconfig.json
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/connector/src/element-transform/index.ts:
--------------------------------------------------------------------------------
1 | export * from './connector-filter';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/connector/src/text/index.ts:
--------------------------------------------------------------------------------
1 | export * from './text.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/connector/src/view/index.ts:
--------------------------------------------------------------------------------
1 | export * from './view';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/group/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/group/package.json
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/group/src/command/index.ts:
--------------------------------------------------------------------------------
1 | export * from './group-api';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/group/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/group/src/index.ts
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/group/src/store.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/group/src/store.ts
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/group/src/view.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/group/src/view.ts
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/group/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/group/tsconfig.json
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/link/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/link/package.json
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/link/src/effects.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/link/src/effects.ts
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/link/src/index.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/link/src/view.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/link/src/view.ts
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/link/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/link/tsconfig.json
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/mindmap/src/interactivity/index.ts:
--------------------------------------------------------------------------------
1 | export * from './mind-map-drag';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/mindmap/src/view.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/mindmap/src/view.ts
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/note/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/note/package.json
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/note/src/effects.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/note/src/effects.ts
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/note/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/note/src/index.ts
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/note/src/view.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/note/src/view.ts
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/note/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/note/tsconfig.json
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/pointer/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './tools';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/pointer/src/view.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/pointer/src/view.ts
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/shape/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/shape/package.json
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/shape/src/consts.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/shape/src/consts.ts
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/shape/src/element-renderer/index.ts:
--------------------------------------------------------------------------------
1 | export * from './shape';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/shape/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/shape/src/index.ts
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/shape/src/store.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/shape/src/store.ts
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/shape/src/text/index.ts:
--------------------------------------------------------------------------------
1 | export * from './edgeless-shape-text-editor';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/shape/src/view.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/shape/src/view.ts
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/shape/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/shape/tsconfig.json
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/text/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/text/package.json
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/text/src/effects.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/text/src/effects.ts
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/text/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/text/src/index.ts
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/text/src/store.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/text/src/store.ts
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/text/src/tool.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/text/src/tool.ts
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/text/src/view.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/text/src/view.ts
--------------------------------------------------------------------------------
/blocksuite/affine/gfx/text/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/gfx/text/tsconfig.json
--------------------------------------------------------------------------------
/blocksuite/affine/model/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/model/package.json
--------------------------------------------------------------------------------
/blocksuite/affine/model/src/blocks/bookmark/index.ts:
--------------------------------------------------------------------------------
1 | export * from './bookmark-model.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/model/src/blocks/callout/index.ts:
--------------------------------------------------------------------------------
1 | export * from './callout-model.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/model/src/blocks/code/index.ts:
--------------------------------------------------------------------------------
1 | export * from './code-model.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/model/src/blocks/divider/index.ts:
--------------------------------------------------------------------------------
1 | export * from './divider-model.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/model/src/blocks/edgeless-text/index.ts:
--------------------------------------------------------------------------------
1 | export * from './edgeless-text-model.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/model/src/blocks/frame/index.ts:
--------------------------------------------------------------------------------
1 | export * from './frame-model.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/model/src/blocks/latex/index.ts:
--------------------------------------------------------------------------------
1 | export * from './latex-model.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/model/src/blocks/list/index.ts:
--------------------------------------------------------------------------------
1 | export * from './list-model.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/model/src/blocks/note/index.ts:
--------------------------------------------------------------------------------
1 | export * from './note-model.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/model/src/blocks/paragraph/index.ts:
--------------------------------------------------------------------------------
1 | export * from './paragraph-model.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/model/src/blocks/root/index.ts:
--------------------------------------------------------------------------------
1 | export * from './root-block-model.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/model/src/blocks/surface-ref/index.ts:
--------------------------------------------------------------------------------
1 | export * from './surface-ref-model.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/model/src/blocks/table/index.ts:
--------------------------------------------------------------------------------
1 | export * from './table-model';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/model/src/consts/doc.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/model/src/consts/doc.ts
--------------------------------------------------------------------------------
/blocksuite/affine/model/src/consts/image.ts:
--------------------------------------------------------------------------------
1 | export const MAX_IMAGE_WIDTH = 460;
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/model/src/elements/brush/index.ts:
--------------------------------------------------------------------------------
1 | export * from './brush.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/model/src/elements/group/index.ts:
--------------------------------------------------------------------------------
1 | export * from './group.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/model/src/elements/highlighter/index.ts:
--------------------------------------------------------------------------------
1 | export * from './highlighter';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/model/src/elements/text/index.ts:
--------------------------------------------------------------------------------
1 | export * from './text.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/model/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/model/src/index.ts
--------------------------------------------------------------------------------
/blocksuite/affine/model/src/utils/enum.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/model/src/utils/enum.ts
--------------------------------------------------------------------------------
/blocksuite/affine/model/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/model/tsconfig.json
--------------------------------------------------------------------------------
/blocksuite/affine/rich-text/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/rich-text/package.json
--------------------------------------------------------------------------------
/blocksuite/affine/rich-text/src/align.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/rich-text/src/align.ts
--------------------------------------------------------------------------------
/blocksuite/affine/rich-text/src/dom.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/rich-text/src/dom.ts
--------------------------------------------------------------------------------
/blocksuite/affine/rich-text/src/hooks.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/rich-text/src/hooks.ts
--------------------------------------------------------------------------------
/blocksuite/affine/rich-text/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/rich-text/src/index.ts
--------------------------------------------------------------------------------
/blocksuite/affine/rich-text/src/utils.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/rich-text/src/utils.ts
--------------------------------------------------------------------------------
/blocksuite/affine/rich-text/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/rich-text/tsconfig.json
--------------------------------------------------------------------------------
/blocksuite/affine/shared/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/shared/package.json
--------------------------------------------------------------------------------
/blocksuite/affine/shared/src/adapters/markdown/remark-plugins/index.ts:
--------------------------------------------------------------------------------
1 | export * from './remark-callout';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/shared/src/index.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/shared/src/services/citation-service/index.ts:
--------------------------------------------------------------------------------
1 | export * from './citation-service';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/shared/src/services/icon-picker-service.ts:
--------------------------------------------------------------------------------
1 | export * from './icon-picker-service/index.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/shared/src/theme/index.ts:
--------------------------------------------------------------------------------
1 | export * from './css-variables.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/shared/src/utils/collapsed/index.ts:
--------------------------------------------------------------------------------
1 | export * from './paragraph.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/shared/src/utils/drag-helper/types.ts:
--------------------------------------------------------------------------------
1 | export type OffsetList = number[];
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/shared/src/utils/url.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/shared/src/utils/url.ts
--------------------------------------------------------------------------------
/blocksuite/affine/shared/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/shared/tsconfig.json
--------------------------------------------------------------------------------
/blocksuite/affine/shared/vitest.config.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/affine/shared/vitest.config.ts
--------------------------------------------------------------------------------
/blocksuite/affine/widgets/drag-handle/src/consts.ts:
--------------------------------------------------------------------------------
1 | export const AFFINE_DRAG_HANDLE_WIDGET = 'affine-drag-handle-widget';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/widgets/edgeless-dragging-area/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './edgeless-dragging-area-rect';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/widgets/edgeless-toolbar/src/draggable/index.ts:
--------------------------------------------------------------------------------
1 | export * from './draggable-element.controller.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/widgets/note-slicer/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './note-slicer';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/widgets/remote-selection/src/doc/index.ts:
--------------------------------------------------------------------------------
1 | export * from './doc-remote-selection.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/affine/widgets/slash-menu/README.md:
--------------------------------------------------------------------------------
1 | # widget-slash-menu
2 |
--------------------------------------------------------------------------------
/blocksuite/docs/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/docs/README.md
--------------------------------------------------------------------------------
/blocksuite/docs/api/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/docs/api/README.md
--------------------------------------------------------------------------------
/blocksuite/docs/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/docs/package.json
--------------------------------------------------------------------------------
/blocksuite/docs/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/docs/tsconfig.json
--------------------------------------------------------------------------------
/blocksuite/docs/typedoc.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/docs/typedoc.json
--------------------------------------------------------------------------------
/blocksuite/framework/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/framework/README.md
--------------------------------------------------------------------------------
/blocksuite/framework/global/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/framework/global/package.json
--------------------------------------------------------------------------------
/blocksuite/framework/global/src/index.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/blocksuite/framework/global/src/types/index.ts:
--------------------------------------------------------------------------------
1 | export * from './virtual-keyboard.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/framework/global/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/framework/global/tsconfig.json
--------------------------------------------------------------------------------
/blocksuite/framework/std/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/framework/std/package.json
--------------------------------------------------------------------------------
/blocksuite/framework/std/src/effects.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/framework/std/src/effects.ts
--------------------------------------------------------------------------------
/blocksuite/framework/std/src/gfx/grid.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/framework/std/src/gfx/grid.ts
--------------------------------------------------------------------------------
/blocksuite/framework/std/src/gfx/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/framework/std/src/gfx/index.ts
--------------------------------------------------------------------------------
/blocksuite/framework/std/src/gfx/layer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/framework/std/src/gfx/layer.ts
--------------------------------------------------------------------------------
/blocksuite/framework/std/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/framework/std/src/index.ts
--------------------------------------------------------------------------------
/blocksuite/framework/std/src/scope/index.ts:
--------------------------------------------------------------------------------
1 | export * from './std-scope.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/framework/std/src/spec/index.ts:
--------------------------------------------------------------------------------
1 | export * from './type.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/framework/std/src/spec/type.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/framework/std/src/spec/type.ts
--------------------------------------------------------------------------------
/blocksuite/framework/std/src/utils/gfx.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/framework/std/src/utils/gfx.ts
--------------------------------------------------------------------------------
/blocksuite/framework/std/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/framework/std/tsconfig.json
--------------------------------------------------------------------------------
/blocksuite/framework/std/typedoc.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/framework/std/typedoc.json
--------------------------------------------------------------------------------
/blocksuite/framework/std/vitest.config.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/framework/std/vitest.config.ts
--------------------------------------------------------------------------------
/blocksuite/framework/store/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/framework/store/README.md
--------------------------------------------------------------------------------
/blocksuite/framework/store/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/framework/store/package.json
--------------------------------------------------------------------------------
/blocksuite/framework/store/src/consts.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/framework/store/src/consts.ts
--------------------------------------------------------------------------------
/blocksuite/framework/store/src/extension/history/index.ts:
--------------------------------------------------------------------------------
1 | export * from './history-extension';
2 |
--------------------------------------------------------------------------------
/blocksuite/framework/store/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/framework/store/src/index.ts
--------------------------------------------------------------------------------
/blocksuite/framework/store/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/framework/store/tsconfig.json
--------------------------------------------------------------------------------
/blocksuite/framework/store/typedoc.json:
--------------------------------------------------------------------------------
1 | {
2 | "entryPoints": ["src/index.ts"]
3 | }
4 |
--------------------------------------------------------------------------------
/blocksuite/framework/sync/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/framework/sync/README.md
--------------------------------------------------------------------------------
/blocksuite/framework/sync/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/framework/sync/package.json
--------------------------------------------------------------------------------
/blocksuite/framework/sync/src/awareness/impl/index.ts:
--------------------------------------------------------------------------------
1 | export * from './broadcast.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/framework/sync/src/doc/peer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/framework/sync/src/doc/peer.ts
--------------------------------------------------------------------------------
/blocksuite/framework/sync/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/framework/sync/src/index.ts
--------------------------------------------------------------------------------
/blocksuite/framework/sync/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/framework/sync/tsconfig.json
--------------------------------------------------------------------------------
/blocksuite/integration-test/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/integration-test/README.md
--------------------------------------------------------------------------------
/blocksuite/integration-test/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/integration-test/package.json
--------------------------------------------------------------------------------
/blocksuite/integration-test/renderer.html:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/integration-test/renderer.html
--------------------------------------------------------------------------------
/blocksuite/integration-test/src/editors/index.ts:
--------------------------------------------------------------------------------
1 | export * from './editor-container.js';
2 |
--------------------------------------------------------------------------------
/blocksuite/integration-test/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './editors';
2 |
--------------------------------------------------------------------------------
/blocksuite/integration-test/src/store.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/integration-test/src/store.ts
--------------------------------------------------------------------------------
/blocksuite/integration-test/src/view.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/integration-test/src/view.ts
--------------------------------------------------------------------------------
/blocksuite/integration-test/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/integration-test/tsconfig.json
--------------------------------------------------------------------------------
/blocksuite/playground/.env:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/playground/.env
--------------------------------------------------------------------------------
/blocksuite/playground/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/playground/.gitignore
--------------------------------------------------------------------------------
/blocksuite/playground/apps/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/playground/apps/README.md
--------------------------------------------------------------------------------
/blocksuite/playground/apps/env.d.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/playground/apps/env.d.ts
--------------------------------------------------------------------------------
/blocksuite/playground/apps/starter/data/snapshots/put-snapshot-zips-here:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/blocksuite/playground/apps/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/blocksuite/playground/examples/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/playground/examples/README.md
--------------------------------------------------------------------------------
/blocksuite/playground/index.html:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/playground/index.html
--------------------------------------------------------------------------------
/blocksuite/playground/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/playground/package.json
--------------------------------------------------------------------------------
/blocksuite/playground/public/logo.svg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/playground/public/logo.svg
--------------------------------------------------------------------------------
/blocksuite/playground/style.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/playground/style.css
--------------------------------------------------------------------------------
/blocksuite/playground/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/playground/tsconfig.json
--------------------------------------------------------------------------------
/blocksuite/playground/tsconfig.node.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/playground/tsconfig.node.json
--------------------------------------------------------------------------------
/blocksuite/playground/vite.config.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/playground/vite.config.ts
--------------------------------------------------------------------------------
/blocksuite/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/blocksuite/tsconfig.json
--------------------------------------------------------------------------------
/codecov.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/codecov.yml
--------------------------------------------------------------------------------
/docs/BUILDING.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/docs/BUILDING.md
--------------------------------------------------------------------------------
/docs/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/docs/CODE_OF_CONDUCT.md
--------------------------------------------------------------------------------
/docs/CONTRIBUTING.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/docs/CONTRIBUTING.md
--------------------------------------------------------------------------------
/docs/building-desktop-client-app.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/docs/building-desktop-client-app.md
--------------------------------------------------------------------------------
/docs/contributing/releases.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/docs/contributing/releases.md
--------------------------------------------------------------------------------
/docs/contributing/tutorial.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/docs/contributing/tutorial.md
--------------------------------------------------------------------------------
/docs/contributor-add.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/docs/contributor-add.md
--------------------------------------------------------------------------------
/docs/developing-server.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/docs/developing-server.md
--------------------------------------------------------------------------------
/docs/issue-triaging.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/docs/issue-triaging.md
--------------------------------------------------------------------------------
/docs/jobs.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/docs/jobs.md
--------------------------------------------------------------------------------
/docs/reference/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/docs/reference/package.json
--------------------------------------------------------------------------------
/docs/reference/readme.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/docs/reference/readme.md
--------------------------------------------------------------------------------
/docs/types-of-contributions.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/docs/types-of-contributions.md
--------------------------------------------------------------------------------
/eslint.config.mjs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/eslint.config.mjs
--------------------------------------------------------------------------------
/nyc.config.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/nyc.config.js
--------------------------------------------------------------------------------
/oxlint.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/oxlint.json
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/package.json
--------------------------------------------------------------------------------
/packages/backend/native/Cargo.toml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/native/Cargo.toml
--------------------------------------------------------------------------------
/packages/backend/native/build.rs:
--------------------------------------------------------------------------------
1 | fn main() {
2 | napi_build::setup();
3 | }
4 |
--------------------------------------------------------------------------------
/packages/backend/native/index.d.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/native/index.d.ts
--------------------------------------------------------------------------------
/packages/backend/native/index.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/native/index.js
--------------------------------------------------------------------------------
/packages/backend/native/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/native/package.json
--------------------------------------------------------------------------------
/packages/backend/native/src/doc_loader.rs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/native/src/doc_loader.rs
--------------------------------------------------------------------------------
/packages/backend/native/src/file_type.rs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/native/src/file_type.rs
--------------------------------------------------------------------------------
/packages/backend/native/src/hashcash.rs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/native/src/hashcash.rs
--------------------------------------------------------------------------------
/packages/backend/native/src/lib.rs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/native/src/lib.rs
--------------------------------------------------------------------------------
/packages/backend/native/src/tiktoken.rs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/native/src/tiktoken.rs
--------------------------------------------------------------------------------
/packages/backend/native/src/utils.rs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/native/src/utils.rs
--------------------------------------------------------------------------------
/packages/backend/native/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/native/tsconfig.json
--------------------------------------------------------------------------------
/packages/backend/server/.dockerignore:
--------------------------------------------------------------------------------
1 | # required DATABASE_URL affects app start
2 | schema.prisma
--------------------------------------------------------------------------------
/packages/backend/server/.env.example:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/server/.env.example
--------------------------------------------------------------------------------
/packages/backend/server/.gitignore:
--------------------------------------------------------------------------------
1 | config.json
2 | .env
3 | static/
4 |
--------------------------------------------------------------------------------
/packages/backend/server/LICENSE:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/server/LICENSE
--------------------------------------------------------------------------------
/packages/backend/server/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/server/README.md
--------------------------------------------------------------------------------
/packages/backend/server/ava.config.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/server/ava.config.js
--------------------------------------------------------------------------------
/packages/backend/server/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/server/package.json
--------------------------------------------------------------------------------
/packages/backend/server/schema.prisma:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/server/schema.prisma
--------------------------------------------------------------------------------
/packages/backend/server/src/app.module.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/server/src/app.module.ts
--------------------------------------------------------------------------------
/packages/backend/server/src/base/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/server/src/base/index.ts
--------------------------------------------------------------------------------
/packages/backend/server/src/cli.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/server/src/cli.ts
--------------------------------------------------------------------------------
/packages/backend/server/src/core/common/index.ts:
--------------------------------------------------------------------------------
1 | export * from './admin-guard';
2 |
--------------------------------------------------------------------------------
/packages/backend/server/src/core/index.ts:
--------------------------------------------------------------------------------
1 | export * from './config';
2 |
--------------------------------------------------------------------------------
/packages/backend/server/src/data/app.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/server/src/data/app.ts
--------------------------------------------------------------------------------
/packages/backend/server/src/env.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/server/src/env.ts
--------------------------------------------------------------------------------
/packages/backend/server/src/global.d.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/server/src/global.d.ts
--------------------------------------------------------------------------------
/packages/backend/server/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/server/src/index.ts
--------------------------------------------------------------------------------
/packages/backend/server/src/models/doc.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/server/src/models/doc.ts
--------------------------------------------------------------------------------
/packages/backend/server/src/native.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/server/src/native.ts
--------------------------------------------------------------------------------
/packages/backend/server/src/prelude.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/server/src/prelude.ts
--------------------------------------------------------------------------------
/packages/backend/server/src/schema.gql:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/server/src/schema.gql
--------------------------------------------------------------------------------
/packages/backend/server/src/seed/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/server/src/seed/index.ts
--------------------------------------------------------------------------------
/packages/backend/server/src/server.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/server/src/server.ts
--------------------------------------------------------------------------------
/packages/backend/server/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/backend/server/tsconfig.json
--------------------------------------------------------------------------------
/packages/common/debug/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/debug/README.md
--------------------------------------------------------------------------------
/packages/common/debug/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/debug/package.json
--------------------------------------------------------------------------------
/packages/common/debug/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/debug/src/index.ts
--------------------------------------------------------------------------------
/packages/common/debug/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/debug/tsconfig.json
--------------------------------------------------------------------------------
/packages/common/env/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/env/package.json
--------------------------------------------------------------------------------
/packages/common/env/src/automation.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/env/src/automation.ts
--------------------------------------------------------------------------------
/packages/common/env/src/constant.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/env/src/constant.ts
--------------------------------------------------------------------------------
/packages/common/env/src/filter.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/env/src/filter.ts
--------------------------------------------------------------------------------
/packages/common/env/src/global.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/env/src/global.ts
--------------------------------------------------------------------------------
/packages/common/env/src/page-info.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/env/src/page-info.ts
--------------------------------------------------------------------------------
/packages/common/env/src/ua-helper.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/env/src/ua-helper.ts
--------------------------------------------------------------------------------
/packages/common/env/src/worker.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/env/src/worker.ts
--------------------------------------------------------------------------------
/packages/common/env/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/env/tsconfig.json
--------------------------------------------------------------------------------
/packages/common/error/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/error/README.md
--------------------------------------------------------------------------------
/packages/common/error/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/error/package.json
--------------------------------------------------------------------------------
/packages/common/error/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/error/src/index.ts
--------------------------------------------------------------------------------
/packages/common/error/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/error/tsconfig.json
--------------------------------------------------------------------------------
/packages/common/graphql/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/graphql/README.md
--------------------------------------------------------------------------------
/packages/common/graphql/codegen.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/graphql/codegen.yml
--------------------------------------------------------------------------------
/packages/common/graphql/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/graphql/package.json
--------------------------------------------------------------------------------
/packages/common/graphql/src/fetcher.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/graphql/src/fetcher.ts
--------------------------------------------------------------------------------
/packages/common/graphql/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/graphql/src/index.ts
--------------------------------------------------------------------------------
/packages/common/graphql/src/schema.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/graphql/src/schema.ts
--------------------------------------------------------------------------------
/packages/common/graphql/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/graphql/tsconfig.json
--------------------------------------------------------------------------------
/packages/common/infra/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/infra/package.json
--------------------------------------------------------------------------------
/packages/common/infra/src/atom/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/infra/src/atom/index.ts
--------------------------------------------------------------------------------
/packages/common/infra/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/infra/src/index.ts
--------------------------------------------------------------------------------
/packages/common/infra/src/livedata/ops.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/infra/src/livedata/ops.ts
--------------------------------------------------------------------------------
/packages/common/infra/src/media/index.ts:
--------------------------------------------------------------------------------
1 | export * from './types';
2 |
--------------------------------------------------------------------------------
/packages/common/infra/src/media/types.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/infra/src/media/types.ts
--------------------------------------------------------------------------------
/packages/common/infra/src/op/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/infra/src/op/README.md
--------------------------------------------------------------------------------
/packages/common/infra/src/op/client.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/infra/src/op/client.ts
--------------------------------------------------------------------------------
/packages/common/infra/src/op/consumer.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/infra/src/op/consumer.ts
--------------------------------------------------------------------------------
/packages/common/infra/src/op/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/infra/src/op/index.ts
--------------------------------------------------------------------------------
/packages/common/infra/src/op/message.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/infra/src/op/message.ts
--------------------------------------------------------------------------------
/packages/common/infra/src/op/types.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/infra/src/op/types.ts
--------------------------------------------------------------------------------
/packages/common/infra/src/orm/core/adapters/mixins/index.ts:
--------------------------------------------------------------------------------
1 | export * from './hook';
2 |
--------------------------------------------------------------------------------
/packages/common/infra/src/orm/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/infra/src/orm/index.ts
--------------------------------------------------------------------------------
/packages/common/infra/src/storage/kv.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/infra/src/storage/kv.ts
--------------------------------------------------------------------------------
/packages/common/infra/src/utils/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/infra/src/utils/index.ts
--------------------------------------------------------------------------------
/packages/common/infra/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/infra/tsconfig.json
--------------------------------------------------------------------------------
/packages/common/infra/typedoc.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/infra/typedoc.json
--------------------------------------------------------------------------------
/packages/common/native/Cargo.toml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/native/Cargo.toml
--------------------------------------------------------------------------------
/packages/common/native/fixtures/demo.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/native/fixtures/demo.docx
--------------------------------------------------------------------------------
/packages/common/native/fixtures/demo.ydoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/native/fixtures/demo.ydoc
--------------------------------------------------------------------------------
/packages/common/native/fixtures/sample.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/native/fixtures/sample.c
--------------------------------------------------------------------------------
/packages/common/native/fixtures/sample.c.0.md:
--------------------------------------------------------------------------------
1 | #include
--------------------------------------------------------------------------------
/packages/common/native/fixtures/sample.rs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/native/fixtures/sample.rs
--------------------------------------------------------------------------------
/packages/common/native/fixtures/sample.rs.1.md:
--------------------------------------------------------------------------------
1 | fn main() {
2 | println!("Hello, world!");
3 | }
--------------------------------------------------------------------------------
/packages/common/native/fixtures/sample.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/native/fixtures/sample.ts
--------------------------------------------------------------------------------
/packages/common/native/src/doc_parser.rs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/native/src/doc_parser.rs
--------------------------------------------------------------------------------
/packages/common/native/src/hashcash.rs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/native/src/hashcash.rs
--------------------------------------------------------------------------------
/packages/common/native/src/lib.rs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/native/src/lib.rs
--------------------------------------------------------------------------------
/packages/common/nbstore/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/nbstore/README.md
--------------------------------------------------------------------------------
/packages/common/nbstore/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/nbstore/package.json
--------------------------------------------------------------------------------
/packages/common/nbstore/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/nbstore/src/index.ts
--------------------------------------------------------------------------------
/packages/common/nbstore/src/sync/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/nbstore/src/sync/index.ts
--------------------------------------------------------------------------------
/packages/common/nbstore/src/sync/types.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/nbstore/src/sync/types.ts
--------------------------------------------------------------------------------
/packages/common/nbstore/src/worker/ops.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/nbstore/src/worker/ops.ts
--------------------------------------------------------------------------------
/packages/common/nbstore/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/nbstore/tsconfig.json
--------------------------------------------------------------------------------
/packages/common/reader/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/reader/README.md
--------------------------------------------------------------------------------
/packages/common/reader/esbuild.config.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/reader/esbuild.config.js
--------------------------------------------------------------------------------
/packages/common/reader/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/reader/package.json
--------------------------------------------------------------------------------
/packages/common/reader/src/bs-store.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/reader/src/bs-store.ts
--------------------------------------------------------------------------------
/packages/common/reader/src/doc-parser/delta-to-md/README.md:
--------------------------------------------------------------------------------
1 | A fork of https://github.com/frysztak/quill-delta-to-markdown
2 |
--------------------------------------------------------------------------------
/packages/common/reader/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './reader';
2 |
--------------------------------------------------------------------------------
/packages/common/reader/src/reader.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/reader/src/reader.ts
--------------------------------------------------------------------------------
/packages/common/reader/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/reader/tsconfig.json
--------------------------------------------------------------------------------
/packages/common/theme/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/theme/README.md
--------------------------------------------------------------------------------
/packages/common/y-octo/core/Cargo.toml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/y-octo/core/Cargo.toml
--------------------------------------------------------------------------------
/packages/common/y-octo/core/LICENSE:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/y-octo/core/LICENSE
--------------------------------------------------------------------------------
/packages/common/y-octo/core/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/y-octo/core/README.md
--------------------------------------------------------------------------------
/packages/common/y-octo/core/src/fixtures/local_docs.json:
--------------------------------------------------------------------------------
1 | []
2 |
--------------------------------------------------------------------------------
/packages/common/y-octo/core/src/lib.rs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/y-octo/core/src/lib.rs
--------------------------------------------------------------------------------
/packages/common/y-octo/core/src/sync.rs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/y-octo/core/src/sync.rs
--------------------------------------------------------------------------------
/packages/common/y-octo/node/.gitignore:
--------------------------------------------------------------------------------
1 | *.node
2 | .coverage
--------------------------------------------------------------------------------
/packages/common/y-octo/node/Cargo.toml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/y-octo/node/Cargo.toml
--------------------------------------------------------------------------------
/packages/common/y-octo/node/build.rs:
--------------------------------------------------------------------------------
1 | fn main() {
2 | napi_build::setup();
3 | }
4 |
--------------------------------------------------------------------------------
/packages/common/y-octo/node/index.d.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/y-octo/node/index.d.ts
--------------------------------------------------------------------------------
/packages/common/y-octo/node/index.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/y-octo/node/index.js
--------------------------------------------------------------------------------
/packages/common/y-octo/node/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/y-octo/node/package.json
--------------------------------------------------------------------------------
/packages/common/y-octo/node/src/array.rs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/y-octo/node/src/array.rs
--------------------------------------------------------------------------------
/packages/common/y-octo/node/src/doc.rs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/y-octo/node/src/doc.rs
--------------------------------------------------------------------------------
/packages/common/y-octo/node/src/lib.rs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/y-octo/node/src/lib.rs
--------------------------------------------------------------------------------
/packages/common/y-octo/node/src/map.rs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/y-octo/node/src/map.rs
--------------------------------------------------------------------------------
/packages/common/y-octo/node/src/text.rs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/y-octo/node/src/text.rs
--------------------------------------------------------------------------------
/packages/common/y-octo/node/src/utils.rs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/y-octo/node/src/utils.rs
--------------------------------------------------------------------------------
/packages/common/y-octo/node/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/y-octo/node/tsconfig.json
--------------------------------------------------------------------------------
/packages/common/y-octo/utils/Cargo.toml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/y-octo/utils/Cargo.toml
--------------------------------------------------------------------------------
/packages/common/y-octo/utils/fuzz/.gitignore:
--------------------------------------------------------------------------------
1 | target
2 | corpus
3 | artifacts
4 | coverage
5 |
--------------------------------------------------------------------------------
/packages/common/y-octo/utils/src/codec.rs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/y-octo/utils/src/codec.rs
--------------------------------------------------------------------------------
/packages/common/y-octo/utils/src/doc.rs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/y-octo/utils/src/doc.rs
--------------------------------------------------------------------------------
/packages/common/y-octo/utils/src/lib.rs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/common/y-octo/utils/src/lib.rs
--------------------------------------------------------------------------------
/packages/frontend/admin/components.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/admin/components.json
--------------------------------------------------------------------------------
/packages/frontend/admin/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/admin/package.json
--------------------------------------------------------------------------------
/packages/frontend/admin/src/app.tsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/admin/src/app.tsx
--------------------------------------------------------------------------------
/packages/frontend/admin/src/config.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/admin/src/config.json
--------------------------------------------------------------------------------
/packages/frontend/admin/src/global.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/admin/src/global.css
--------------------------------------------------------------------------------
/packages/frontend/admin/src/global.d.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/admin/src/global.d.ts
--------------------------------------------------------------------------------
/packages/frontend/admin/src/index.tsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/admin/src/index.tsx
--------------------------------------------------------------------------------
/packages/frontend/admin/src/setup.ts:
--------------------------------------------------------------------------------
1 | import '@affine/core/bootstrap/browser';
2 |
--------------------------------------------------------------------------------
/packages/frontend/admin/src/use-query.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/admin/src/use-query.ts
--------------------------------------------------------------------------------
/packages/frontend/admin/src/utils.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/admin/src/utils.ts
--------------------------------------------------------------------------------
/packages/frontend/admin/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/admin/tsconfig.json
--------------------------------------------------------------------------------
/packages/frontend/apps/android/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/apps/android/.gitignore
--------------------------------------------------------------------------------
/packages/frontend/apps/android/App/capacitor-cordova-android-plugins/src/main/java/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/frontend/apps/android/App/capacitor-cordova-android-plugins/src/main/res/.gitkeep:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/packages/frontend/apps/android/App/service/.gitignore:
--------------------------------------------------------------------------------
1 | /build
--------------------------------------------------------------------------------
/packages/frontend/apps/android/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/apps/android/README.md
--------------------------------------------------------------------------------
/packages/frontend/apps/electron/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/apps/electron/README.md
--------------------------------------------------------------------------------
/packages/frontend/apps/electron/scripts/nsis-installer.nsh:
--------------------------------------------------------------------------------
1 | ManifestDPIAware true
2 |
--------------------------------------------------------------------------------
/packages/frontend/apps/electron/scripts/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "type": "module"
3 | }
4 |
--------------------------------------------------------------------------------
/packages/frontend/apps/electron/src/main/config-storage/index.ts:
--------------------------------------------------------------------------------
1 | export * from './handlers';
2 |
--------------------------------------------------------------------------------
/packages/frontend/apps/electron/src/main/find-in-page/index.ts:
--------------------------------------------------------------------------------
1 | export * from './handlers';
2 |
--------------------------------------------------------------------------------
/packages/frontend/apps/electron/src/main/windows-manager/types.ts:
--------------------------------------------------------------------------------
1 | export type LaunchStage = 'main' | 'onboarding';
2 |
--------------------------------------------------------------------------------
/packages/frontend/apps/electron/src/preload/index.ts:
--------------------------------------------------------------------------------
1 | import './bootstrap';
2 |
--------------------------------------------------------------------------------
/packages/frontend/apps/ios/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/apps/ios/.gitignore
--------------------------------------------------------------------------------
/packages/frontend/apps/ios/AGENTS.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/apps/ios/AGENTS.md
--------------------------------------------------------------------------------
/packages/frontend/apps/ios/App/Gemfile:
--------------------------------------------------------------------------------
1 | source "https://rubygems.org"
2 |
3 | gem "fastlane"
4 |
--------------------------------------------------------------------------------
/packages/frontend/apps/ios/App/Packages/AffineGraphQL/.gitignore:
--------------------------------------------------------------------------------
1 | .build
2 | apollo-ios-cli
3 |
--------------------------------------------------------------------------------
/packages/frontend/apps/ios/App/Podfile:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/apps/ios/App/Podfile
--------------------------------------------------------------------------------
/packages/frontend/apps/ios/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/apps/ios/README.md
--------------------------------------------------------------------------------
/packages/frontend/apps/ios/codegen.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/apps/ios/codegen.ts
--------------------------------------------------------------------------------
/packages/frontend/apps/ios/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/apps/ios/package.json
--------------------------------------------------------------------------------
/packages/frontend/apps/ios/setup.sh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/apps/ios/setup.sh
--------------------------------------------------------------------------------
/packages/frontend/apps/ios/src/app.tsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/apps/ios/src/app.tsx
--------------------------------------------------------------------------------
/packages/frontend/apps/ios/src/index.tsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/apps/ios/src/index.tsx
--------------------------------------------------------------------------------
/packages/frontend/apps/ios/src/proxy.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/apps/ios/src/proxy.ts
--------------------------------------------------------------------------------
/packages/frontend/apps/ios/src/setup.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/apps/ios/src/setup.ts
--------------------------------------------------------------------------------
/packages/frontend/apps/ios/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/apps/ios/tsconfig.json
--------------------------------------------------------------------------------
/packages/frontend/apps/mobile/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/apps/mobile/README.md
--------------------------------------------------------------------------------
/packages/frontend/apps/mobile/src/app.tsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/apps/mobile/src/app.tsx
--------------------------------------------------------------------------------
/packages/frontend/apps/web/README.md:
--------------------------------------------------------------------------------
1 | # web
2 |
3 | AFFiNE Desktop Edition Web app.
4 |
--------------------------------------------------------------------------------
/packages/frontend/apps/web/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/apps/web/package.json
--------------------------------------------------------------------------------
/packages/frontend/apps/web/src/app.tsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/apps/web/src/app.tsx
--------------------------------------------------------------------------------
/packages/frontend/apps/web/src/index.tsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/apps/web/src/index.tsx
--------------------------------------------------------------------------------
/packages/frontend/apps/web/src/setup.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/apps/web/src/setup.ts
--------------------------------------------------------------------------------
/packages/frontend/apps/web/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/apps/web/tsconfig.json
--------------------------------------------------------------------------------
/packages/frontend/component/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/component/package.json
--------------------------------------------------------------------------------
/packages/frontend/component/src/components/affine-other-page-layout/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './layout';
2 |
--------------------------------------------------------------------------------
/packages/frontend/component/src/components/not-found-page/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './not-found-page';
2 |
--------------------------------------------------------------------------------
/packages/frontend/component/src/components/resize-panel/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './resize-panel';
2 |
--------------------------------------------------------------------------------
/packages/frontend/component/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/component/src/index.ts
--------------------------------------------------------------------------------
/packages/frontend/component/src/type.d.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/component/src/type.d.ts
--------------------------------------------------------------------------------
/packages/frontend/component/src/ui/avatar/index.ts:
--------------------------------------------------------------------------------
1 | export * from './avatar';
2 |
--------------------------------------------------------------------------------
/packages/frontend/component/src/ui/checkbox/index.ts:
--------------------------------------------------------------------------------
1 | export * from './checkbox';
2 |
--------------------------------------------------------------------------------
/packages/frontend/component/src/ui/divider/index.ts:
--------------------------------------------------------------------------------
1 | export * from './divider';
2 |
--------------------------------------------------------------------------------
/packages/frontend/component/src/ui/editable/index.ts:
--------------------------------------------------------------------------------
1 | export * from './inline-edit';
2 |
--------------------------------------------------------------------------------
/packages/frontend/component/src/ui/empty/index.ts:
--------------------------------------------------------------------------------
1 | export * from './empty';
2 |
--------------------------------------------------------------------------------
/packages/frontend/component/src/ui/icon-name-editor/index.ts:
--------------------------------------------------------------------------------
1 | export * from './icon-name-editor';
2 |
--------------------------------------------------------------------------------
/packages/frontend/component/src/ui/loading/index.ts:
--------------------------------------------------------------------------------
1 | export * from './loading';
2 |
--------------------------------------------------------------------------------
/packages/frontend/component/src/ui/progress/index.ts:
--------------------------------------------------------------------------------
1 | export * from './progress';
2 |
--------------------------------------------------------------------------------
/packages/frontend/component/src/ui/property/index.ts:
--------------------------------------------------------------------------------
1 | export * from './property';
2 |
--------------------------------------------------------------------------------
/packages/frontend/component/src/ui/slider/index.ts:
--------------------------------------------------------------------------------
1 | export * from './slider';
2 |
--------------------------------------------------------------------------------
/packages/frontend/component/src/ui/switch/index.ts:
--------------------------------------------------------------------------------
1 | export * from './switch';
2 |
--------------------------------------------------------------------------------
/packages/frontend/component/src/ui/tabs/index.ts:
--------------------------------------------------------------------------------
1 | export * from './tabs';
2 |
--------------------------------------------------------------------------------
/packages/frontend/component/src/ui/toast/index.ts:
--------------------------------------------------------------------------------
1 | export * from './toast';
2 |
--------------------------------------------------------------------------------
/packages/frontend/component/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/component/tsconfig.json
--------------------------------------------------------------------------------
/packages/frontend/core/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/core/package.json
--------------------------------------------------------------------------------
/packages/frontend/core/public/.gitignore:
--------------------------------------------------------------------------------
1 | *.js
2 | *.map
3 |
4 | plugins
5 |
--------------------------------------------------------------------------------
/packages/frontend/core/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/core/public/favicon.ico
--------------------------------------------------------------------------------
/packages/frontend/core/public/robots.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/core/public/robots.txt
--------------------------------------------------------------------------------
/packages/frontend/core/src/blocksuite/ai/blocks/index.ts:
--------------------------------------------------------------------------------
1 | export * from './ai-chat-block';
2 |
--------------------------------------------------------------------------------
/packages/frontend/core/src/blocksuite/ai/components/ai-chat-composer/index.ts:
--------------------------------------------------------------------------------
1 | export * from './ai-chat-composer';
2 |
--------------------------------------------------------------------------------
/packages/frontend/core/src/blocksuite/ai/components/ai-chat-input/const.ts:
--------------------------------------------------------------------------------
1 | export const MAX_IMAGE_COUNT = 9;
2 |
--------------------------------------------------------------------------------
/packages/frontend/core/src/blocksuite/ai/components/ai-history-clear/index.ts:
--------------------------------------------------------------------------------
1 | export * from './ai-history-clear';
2 |
--------------------------------------------------------------------------------
/packages/frontend/core/src/blocksuite/ai/messages/index.ts:
--------------------------------------------------------------------------------
1 | export * from './wrapper';
2 |
--------------------------------------------------------------------------------
/packages/frontend/core/src/blocksuite/utils/index.ts:
--------------------------------------------------------------------------------
1 | export * from './markdown-utils';
2 |
--------------------------------------------------------------------------------
/packages/frontend/core/src/bootstrap/polyfill/electron.ts:
--------------------------------------------------------------------------------
1 | import './resize-observer';
2 |
--------------------------------------------------------------------------------
/packages/frontend/core/src/bootstrap/polyfill/iterator-helpers.ts:
--------------------------------------------------------------------------------
1 | import 'core-js/proposals/iterator-helpers-stage-3';
2 |
--------------------------------------------------------------------------------
/packages/frontend/core/src/bootstrap/polyfill/promise-with-resolvers.ts:
--------------------------------------------------------------------------------
1 | import 'core-js/features/promise/with-resolvers';
2 |
--------------------------------------------------------------------------------
/packages/frontend/core/src/components/affine/page-history-modal/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './history-modal';
2 |
--------------------------------------------------------------------------------
/packages/frontend/core/src/components/mobile/index.ts:
--------------------------------------------------------------------------------
1 | export * from './config-modal';
2 |
--------------------------------------------------------------------------------
/packages/frontend/core/src/components/pure/icons/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './favorite-icon';
2 |
--------------------------------------------------------------------------------
/packages/frontend/core/src/components/workspace-selector/enable-cloud/index.ts:
--------------------------------------------------------------------------------
1 | export * from './enable-cloud';
2 |
--------------------------------------------------------------------------------
/packages/frontend/core/src/desktop/dialogs/setting/general-setting/editor/edgeless/index.ts:
--------------------------------------------------------------------------------
1 | export * from './edgeless';
2 |
--------------------------------------------------------------------------------
/packages/frontend/core/src/desktop/pages/workspace/detail-page/index.ts:
--------------------------------------------------------------------------------
1 | export * from './detail-page';
2 |
--------------------------------------------------------------------------------
/packages/frontend/core/src/mobile/components/app-tabs/constants.ts:
--------------------------------------------------------------------------------
1 | export const cacheKey = 'activeAppTabId';
2 |
--------------------------------------------------------------------------------
/packages/frontend/core/src/mobile/utils/index.ts:
--------------------------------------------------------------------------------
1 | export * from './swipe-helper';
2 |
--------------------------------------------------------------------------------
/packages/frontend/core/src/modules/app-sidebar/views/open-in-app-card/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './open-in-app-card';
2 |
--------------------------------------------------------------------------------
/packages/frontend/core/src/modules/share-menu/view/share-menu/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './share-menu';
2 |
--------------------------------------------------------------------------------
/packages/frontend/core/src/modules/workspace-indexer-embedding/constants.ts:
--------------------------------------------------------------------------------
1 | export const COUNT_PER_PAGE = 10;
2 |
--------------------------------------------------------------------------------
/packages/frontend/core/src/types/dnd.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/core/src/types/dnd.ts
--------------------------------------------------------------------------------
/packages/frontend/core/src/utils/event.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/core/src/utils/event.ts
--------------------------------------------------------------------------------
/packages/frontend/core/src/utils/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/core/src/utils/index.ts
--------------------------------------------------------------------------------
/packages/frontend/core/src/utils/toast.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/core/src/utils/toast.ts
--------------------------------------------------------------------------------
/packages/frontend/core/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/core/tsconfig.json
--------------------------------------------------------------------------------
/packages/frontend/i18n/.gitignore:
--------------------------------------------------------------------------------
1 | lib
2 | i18n-generated.ts
--------------------------------------------------------------------------------
/packages/frontend/i18n/.i18n-codegen.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/i18n/.i18n-codegen.json
--------------------------------------------------------------------------------
/packages/frontend/i18n/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/i18n/README.md
--------------------------------------------------------------------------------
/packages/frontend/i18n/build.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/i18n/build.ts
--------------------------------------------------------------------------------
/packages/frontend/i18n/cleanup.mjs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/i18n/cleanup.mjs
--------------------------------------------------------------------------------
/packages/frontend/i18n/crowdin.yml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/i18n/crowdin.yml
--------------------------------------------------------------------------------
/packages/frontend/i18n/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/i18n/package.json
--------------------------------------------------------------------------------
/packages/frontend/i18n/src/i18n.gen.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/i18n/src/i18n.gen.ts
--------------------------------------------------------------------------------
/packages/frontend/i18n/src/i18next.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/i18n/src/i18next.ts
--------------------------------------------------------------------------------
/packages/frontend/i18n/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/i18n/src/index.ts
--------------------------------------------------------------------------------
/packages/frontend/i18n/src/react.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/i18n/src/react.ts
--------------------------------------------------------------------------------
/packages/frontend/i18n/src/utils/index.ts:
--------------------------------------------------------------------------------
1 | export { i18nTime } from './time';
2 |
--------------------------------------------------------------------------------
/packages/frontend/i18n/src/utils/time.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/i18n/src/utils/time.ts
--------------------------------------------------------------------------------
/packages/frontend/i18n/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/i18n/tsconfig.json
--------------------------------------------------------------------------------
/packages/frontend/media-capture-playground/.gitignore:
--------------------------------------------------------------------------------
1 | recordings
2 | .env
--------------------------------------------------------------------------------
/packages/frontend/media-capture-playground/web/main.css:
--------------------------------------------------------------------------------
1 | @import 'tailwindcss';
2 |
--------------------------------------------------------------------------------
/packages/frontend/native/.gitignore:
--------------------------------------------------------------------------------
1 | *.fixture
2 | lib
3 | *.bin
4 |
--------------------------------------------------------------------------------
/packages/frontend/native/Cargo.toml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/native/Cargo.toml
--------------------------------------------------------------------------------
/packages/frontend/native/build.rs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/native/build.rs
--------------------------------------------------------------------------------
/packages/frontend/native/index.d.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/native/index.d.ts
--------------------------------------------------------------------------------
/packages/frontend/native/index.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/native/index.js
--------------------------------------------------------------------------------
/packages/frontend/native/media_capture/build.rs:
--------------------------------------------------------------------------------
1 | fn main() {
2 | napi_build::setup();
3 | }
4 |
--------------------------------------------------------------------------------
/packages/frontend/native/nbstore/build.rs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/native/nbstore/build.rs
--------------------------------------------------------------------------------
/packages/frontend/native/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/native/package.json
--------------------------------------------------------------------------------
/packages/frontend/native/schema/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/native/schema/README.md
--------------------------------------------------------------------------------
/packages/frontend/native/schema/src/v1.rs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/native/schema/src/v1.rs
--------------------------------------------------------------------------------
/packages/frontend/native/src/hashcash.rs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/native/src/hashcash.rs
--------------------------------------------------------------------------------
/packages/frontend/native/src/lib.rs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/native/src/lib.rs
--------------------------------------------------------------------------------
/packages/frontend/native/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/native/tsconfig.json
--------------------------------------------------------------------------------
/packages/frontend/routes/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/routes/README.md
--------------------------------------------------------------------------------
/packages/frontend/routes/build.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/routes/build.ts
--------------------------------------------------------------------------------
/packages/frontend/routes/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/routes/package.json
--------------------------------------------------------------------------------
/packages/frontend/routes/routes.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/routes/routes.json
--------------------------------------------------------------------------------
/packages/frontend/routes/schema.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/routes/schema.json
--------------------------------------------------------------------------------
/packages/frontend/routes/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/routes/src/index.ts
--------------------------------------------------------------------------------
/packages/frontend/routes/src/lazy.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/routes/src/lazy.ts
--------------------------------------------------------------------------------
/packages/frontend/routes/src/routes.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/routes/src/routes.ts
--------------------------------------------------------------------------------
/packages/frontend/routes/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/routes/tsconfig.json
--------------------------------------------------------------------------------
/packages/frontend/templates/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/templates/README.md
--------------------------------------------------------------------------------
/packages/frontend/templates/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/templates/package.json
--------------------------------------------------------------------------------
/packages/frontend/track/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/track/package.json
--------------------------------------------------------------------------------
/packages/frontend/track/src/auto.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/track/src/auto.ts
--------------------------------------------------------------------------------
/packages/frontend/track/src/events.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/track/src/events.ts
--------------------------------------------------------------------------------
/packages/frontend/track/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/track/src/index.ts
--------------------------------------------------------------------------------
/packages/frontend/track/src/mixpanel.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/track/src/mixpanel.ts
--------------------------------------------------------------------------------
/packages/frontend/track/src/sentry.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/track/src/sentry.ts
--------------------------------------------------------------------------------
/packages/frontend/track/src/types.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/track/src/types.ts
--------------------------------------------------------------------------------
/packages/frontend/track/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/packages/frontend/track/tsconfig.json
--------------------------------------------------------------------------------
/rust-toolchain.toml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/rust-toolchain.toml
--------------------------------------------------------------------------------
/rustfmt.toml:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/rustfmt.toml
--------------------------------------------------------------------------------
/scripts/download-blocksuite-fonts.mjs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/scripts/download-blocksuite-fonts.mjs
--------------------------------------------------------------------------------
/scripts/generate-release-yml.mjs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/scripts/generate-release-yml.mjs
--------------------------------------------------------------------------------
/scripts/set-version.sh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/scripts/set-version.sh
--------------------------------------------------------------------------------
/scripts/setup/global.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/scripts/setup/global.ts
--------------------------------------------------------------------------------
/scripts/setup/lit.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/scripts/setup/lit.ts
--------------------------------------------------------------------------------
/scripts/setup/polyfill.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/scripts/setup/polyfill.ts
--------------------------------------------------------------------------------
/scripts/setup/vi-mock.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/scripts/setup/vi-mock.ts
--------------------------------------------------------------------------------
/scripts/vitest-global.js:
--------------------------------------------------------------------------------
1 | export const setup = () => {
2 | process.env.TZ = 'Asia/Singapore';
3 | };
4 |
--------------------------------------------------------------------------------
/tests/affine-cloud-copilot/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-cloud-copilot/README.md
--------------------------------------------------------------------------------
/tests/affine-cloud-copilot/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-cloud-copilot/package.json
--------------------------------------------------------------------------------
/tests/affine-cloud-copilot/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-cloud-copilot/tsconfig.json
--------------------------------------------------------------------------------
/tests/affine-cloud/e2e/comments.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-cloud/e2e/comments.spec.ts
--------------------------------------------------------------------------------
/tests/affine-cloud/e2e/login.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-cloud/e2e/login.spec.ts
--------------------------------------------------------------------------------
/tests/affine-cloud/e2e/logo.svg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-cloud/e2e/logo.svg
--------------------------------------------------------------------------------
/tests/affine-cloud/e2e/storage.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-cloud/e2e/storage.spec.ts
--------------------------------------------------------------------------------
/tests/affine-cloud/e2e/template.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-cloud/e2e/template.spec.ts
--------------------------------------------------------------------------------
/tests/affine-cloud/e2e/workspace.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-cloud/e2e/workspace.spec.ts
--------------------------------------------------------------------------------
/tests/affine-cloud/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-cloud/package.json
--------------------------------------------------------------------------------
/tests/affine-cloud/playwright.config.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-cloud/playwright.config.ts
--------------------------------------------------------------------------------
/tests/affine-cloud/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-cloud/tsconfig.json
--------------------------------------------------------------------------------
/tests/affine-desktop-cloud/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-desktop-cloud/package.json
--------------------------------------------------------------------------------
/tests/affine-desktop-cloud/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-desktop-cloud/tsconfig.json
--------------------------------------------------------------------------------
/tests/affine-desktop/e2e/basic.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-desktop/e2e/basic.spec.ts
--------------------------------------------------------------------------------
/tests/affine-desktop/e2e/image.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-desktop/e2e/image.spec.ts
--------------------------------------------------------------------------------
/tests/affine-desktop/e2e/tabs.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-desktop/e2e/tabs.spec.ts
--------------------------------------------------------------------------------
/tests/affine-desktop/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-desktop/package.json
--------------------------------------------------------------------------------
/tests/affine-desktop/playwright.config.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-desktop/playwright.config.ts
--------------------------------------------------------------------------------
/tests/affine-desktop/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-desktop/tsconfig.json
--------------------------------------------------------------------------------
/tests/affine-local/e2e/ai-land.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-local/e2e/ai-land.spec.ts
--------------------------------------------------------------------------------
/tests/affine-local/e2e/all-page.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-local/e2e/all-page.spec.ts
--------------------------------------------------------------------------------
/tests/affine-local/e2e/drag-page.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-local/e2e/drag-page.spec.ts
--------------------------------------------------------------------------------
/tests/affine-local/e2e/journal.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-local/e2e/journal.spec.ts
--------------------------------------------------------------------------------
/tests/affine-local/e2e/layout.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-local/e2e/layout.spec.ts
--------------------------------------------------------------------------------
/tests/affine-local/e2e/links.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-local/e2e/links.spec.ts
--------------------------------------------------------------------------------
/tests/affine-local/e2e/navigation.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-local/e2e/navigation.spec.ts
--------------------------------------------------------------------------------
/tests/affine-local/e2e/peek-view.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-local/e2e/peek-view.spec.ts
--------------------------------------------------------------------------------
/tests/affine-local/e2e/router.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-local/e2e/router.spec.ts
--------------------------------------------------------------------------------
/tests/affine-local/e2e/settings.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-local/e2e/settings.spec.ts
--------------------------------------------------------------------------------
/tests/affine-local/e2e/template.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-local/e2e/template.spec.ts
--------------------------------------------------------------------------------
/tests/affine-local/e2e/theme.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-local/e2e/theme.spec.ts
--------------------------------------------------------------------------------
/tests/affine-local/e2e/undo-empty.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-local/e2e/undo-empty.spec.ts
--------------------------------------------------------------------------------
/tests/affine-local/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-local/package.json
--------------------------------------------------------------------------------
/tests/affine-local/playwright.config.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-local/playwright.config.ts
--------------------------------------------------------------------------------
/tests/affine-local/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-local/tsconfig.json
--------------------------------------------------------------------------------
/tests/affine-mobile/e2e/detail.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-mobile/e2e/detail.spec.ts
--------------------------------------------------------------------------------
/tests/affine-mobile/e2e/home.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-mobile/e2e/home.spec.ts
--------------------------------------------------------------------------------
/tests/affine-mobile/e2e/settings.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-mobile/e2e/settings.spec.ts
--------------------------------------------------------------------------------
/tests/affine-mobile/e2e/utils.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-mobile/e2e/utils.ts
--------------------------------------------------------------------------------
/tests/affine-mobile/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-mobile/package.json
--------------------------------------------------------------------------------
/tests/affine-mobile/playwright.config.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-mobile/playwright.config.ts
--------------------------------------------------------------------------------
/tests/affine-mobile/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/affine-mobile/tsconfig.json
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/attachment.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/attachment.spec.ts
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/bookmark.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/bookmark.spec.ts
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/code/crud.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/code/crud.spec.ts
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/code/utils.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/code/utils.ts
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/database/actions.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/database/actions.ts
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/drag.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/drag.spec.ts
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/edgeless/pan.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/edgeless/pan.spec.ts
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/fixtures/smile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/fixtures/smile.png
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/format-bar.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/format-bar.spec.ts
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/hotkey/title.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/hotkey/title.spec.ts
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/image/image.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/image/image.spec.ts
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/image/keymap.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/image/keymap.spec.ts
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/image/load.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/image/load.spec.ts
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/image/menu.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/image/menu.spec.ts
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/latex/block.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/latex/block.spec.ts
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/latex/inline.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/latex/inline.spec.ts
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/link.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/link.spec.ts
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/linked-page.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/linked-page.spec.ts
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/list.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/list.spec.ts
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/markdown.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/markdown.spec.ts
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/paragraph.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/paragraph.spec.ts
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/quote.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/quote.spec.ts
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/slash-menu.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/slash-menu.spec.ts
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/utils/asserts.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/utils/asserts.ts
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/utils/ignore.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/utils/ignore.ts
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/utils/mindmap.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/utils/mindmap.ts
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/utils/playwright.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/utils/playwright.ts
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/utils/query.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/utils/query.ts
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/worker.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/worker.spec.ts
--------------------------------------------------------------------------------
/tests/blocksuite/e2e/zero-width.spec.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/e2e/zero-width.spec.ts
--------------------------------------------------------------------------------
/tests/blocksuite/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/package.json
--------------------------------------------------------------------------------
/tests/blocksuite/playwright.config.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/playwright.config.ts
--------------------------------------------------------------------------------
/tests/blocksuite/snapshots/clipboard/clipboard.spec.ts/clipboard-copy-nested-items-clipboard.md:
--------------------------------------------------------------------------------
1 | bc
2 | d
--------------------------------------------------------------------------------
/tests/blocksuite/snapshots/clipboard/clipboard.spec.ts/clipboard-copy-nested-items-clipboard2.md:
--------------------------------------------------------------------------------
1 | hi
2 | j
--------------------------------------------------------------------------------
/tests/blocksuite/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/blocksuite/tsconfig.json
--------------------------------------------------------------------------------
/tests/fixtures/affine-preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/fixtures/affine-preview.png
--------------------------------------------------------------------------------
/tests/fixtures/affine.svg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/fixtures/affine.svg
--------------------------------------------------------------------------------
/tests/fixtures/blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/fixtures/blue.png
--------------------------------------------------------------------------------
/tests/fixtures/large-image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/fixtures/large-image.png
--------------------------------------------------------------------------------
/tests/fixtures/lorem-ipsum.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/fixtures/lorem-ipsum.pdf
--------------------------------------------------------------------------------
/tests/kit/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/kit/package.json
--------------------------------------------------------------------------------
/tests/kit/src/bs/linked-toolbar.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/kit/src/bs/linked-toolbar.ts
--------------------------------------------------------------------------------
/tests/kit/src/bs/misc.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/kit/src/bs/misc.ts
--------------------------------------------------------------------------------
/tests/kit/src/bs/table.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/kit/src/bs/table.ts
--------------------------------------------------------------------------------
/tests/kit/src/electron.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/kit/src/electron.ts
--------------------------------------------------------------------------------
/tests/kit/src/mobile.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/kit/src/mobile.ts
--------------------------------------------------------------------------------
/tests/kit/src/playwright.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/kit/src/playwright.ts
--------------------------------------------------------------------------------
/tests/kit/src/utils/app-tabs.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/kit/src/utils/app-tabs.ts
--------------------------------------------------------------------------------
/tests/kit/src/utils/attachment.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/kit/src/utils/attachment.ts
--------------------------------------------------------------------------------
/tests/kit/src/utils/clipboard.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/kit/src/utils/clipboard.ts
--------------------------------------------------------------------------------
/tests/kit/src/utils/cloud.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/kit/src/utils/cloud.ts
--------------------------------------------------------------------------------
/tests/kit/src/utils/drop-file.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/kit/src/utils/drop-file.ts
--------------------------------------------------------------------------------
/tests/kit/src/utils/editor.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/kit/src/utils/editor.ts
--------------------------------------------------------------------------------
/tests/kit/src/utils/filter.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/kit/src/utils/filter.ts
--------------------------------------------------------------------------------
/tests/kit/src/utils/image.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/kit/src/utils/image.ts
--------------------------------------------------------------------------------
/tests/kit/src/utils/keyboard.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/kit/src/utils/keyboard.ts
--------------------------------------------------------------------------------
/tests/kit/src/utils/load-page.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/kit/src/utils/load-page.ts
--------------------------------------------------------------------------------
/tests/kit/src/utils/page-logic.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/kit/src/utils/page-logic.ts
--------------------------------------------------------------------------------
/tests/kit/src/utils/properties.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/kit/src/utils/properties.ts
--------------------------------------------------------------------------------
/tests/kit/src/utils/selection.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/kit/src/utils/selection.ts
--------------------------------------------------------------------------------
/tests/kit/src/utils/setting.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/kit/src/utils/setting.ts
--------------------------------------------------------------------------------
/tests/kit/src/utils/sidebar.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/kit/src/utils/sidebar.ts
--------------------------------------------------------------------------------
/tests/kit/src/utils/url.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/kit/src/utils/url.ts
--------------------------------------------------------------------------------
/tests/kit/src/utils/utils.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/kit/src/utils/utils.ts
--------------------------------------------------------------------------------
/tests/kit/src/utils/workspace.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/kit/src/utils/workspace.ts
--------------------------------------------------------------------------------
/tests/kit/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tests/kit/tsconfig.json
--------------------------------------------------------------------------------
/tools/@types/build-config/__all.d.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/@types/build-config/__all.d.ts
--------------------------------------------------------------------------------
/tools/@types/build-config/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/@types/build-config/package.json
--------------------------------------------------------------------------------
/tools/@types/env/__all.d.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/@types/env/__all.d.ts
--------------------------------------------------------------------------------
/tools/@types/env/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/@types/env/package.json
--------------------------------------------------------------------------------
/tools/changelog/index.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/changelog/index.js
--------------------------------------------------------------------------------
/tools/changelog/markdown.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/changelog/markdown.js
--------------------------------------------------------------------------------
/tools/changelog/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/changelog/package.json
--------------------------------------------------------------------------------
/tools/cli/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/cli/README.md
--------------------------------------------------------------------------------
/tools/cli/bin/cli.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/cli/bin/cli.js
--------------------------------------------------------------------------------
/tools/cli/bin/runner.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/cli/bin/runner.js
--------------------------------------------------------------------------------
/tools/cli/hooks.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/cli/hooks.js
--------------------------------------------------------------------------------
/tools/cli/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/cli/package.json
--------------------------------------------------------------------------------
/tools/cli/register.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/cli/register.js
--------------------------------------------------------------------------------
/tools/cli/src/affine.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/cli/src/affine.ts
--------------------------------------------------------------------------------
/tools/cli/src/build.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/cli/src/build.ts
--------------------------------------------------------------------------------
/tools/cli/src/bundle.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/cli/src/bundle.ts
--------------------------------------------------------------------------------
/tools/cli/src/cert.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/cli/src/cert.ts
--------------------------------------------------------------------------------
/tools/cli/src/clean.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/cli/src/clean.ts
--------------------------------------------------------------------------------
/tools/cli/src/command.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/cli/src/command.ts
--------------------------------------------------------------------------------
/tools/cli/src/context.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/cli/src/context.ts
--------------------------------------------------------------------------------
/tools/cli/src/dev.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/cli/src/dev.ts
--------------------------------------------------------------------------------
/tools/cli/src/init.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/cli/src/init.ts
--------------------------------------------------------------------------------
/tools/cli/src/run.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/cli/src/run.ts
--------------------------------------------------------------------------------
/tools/cli/src/webpack/cache-group.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/cli/src/webpack/cache-group.ts
--------------------------------------------------------------------------------
/tools/cli/src/webpack/error-handler.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/cli/src/webpack/error-handler.js
--------------------------------------------------------------------------------
/tools/cli/src/webpack/html-plugin.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/cli/src/webpack/html-plugin.ts
--------------------------------------------------------------------------------
/tools/cli/src/webpack/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/cli/src/webpack/index.ts
--------------------------------------------------------------------------------
/tools/cli/src/webpack/node-loader.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/cli/src/webpack/node-loader.js
--------------------------------------------------------------------------------
/tools/cli/src/webpack/s3-plugin.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/cli/src/webpack/s3-plugin.ts
--------------------------------------------------------------------------------
/tools/cli/src/webpack/template.html:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/cli/src/webpack/template.html
--------------------------------------------------------------------------------
/tools/cli/src/webpack/types.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/cli/src/webpack/types.ts
--------------------------------------------------------------------------------
/tools/cli/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/cli/tsconfig.json
--------------------------------------------------------------------------------
/tools/commitlint/.commitlintrc.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/commitlint/.commitlintrc.json
--------------------------------------------------------------------------------
/tools/commitlint/README.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/commitlint/README.md
--------------------------------------------------------------------------------
/tools/commitlint/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/commitlint/package.json
--------------------------------------------------------------------------------
/tools/copilot-result/index.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/copilot-result/index.js
--------------------------------------------------------------------------------
/tools/copilot-result/markdown.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/copilot-result/markdown.js
--------------------------------------------------------------------------------
/tools/copilot-result/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/copilot-result/package.json
--------------------------------------------------------------------------------
/tools/playstore-auto-bump/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/playstore-auto-bump/index.ts
--------------------------------------------------------------------------------
/tools/playstore-auto-bump/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/playstore-auto-bump/package.json
--------------------------------------------------------------------------------
/tools/playstore-auto-bump/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/playstore-auto-bump/tsconfig.json
--------------------------------------------------------------------------------
/tools/utils/package.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/utils/package.json
--------------------------------------------------------------------------------
/tools/utils/src/build-config.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/utils/src/build-config.ts
--------------------------------------------------------------------------------
/tools/utils/src/distribution.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/utils/src/distribution.ts
--------------------------------------------------------------------------------
/tools/utils/src/format.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/utils/src/format.ts
--------------------------------------------------------------------------------
/tools/utils/src/index.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/utils/src/index.ts
--------------------------------------------------------------------------------
/tools/utils/src/logger.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/utils/src/logger.ts
--------------------------------------------------------------------------------
/tools/utils/src/package.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/utils/src/package.ts
--------------------------------------------------------------------------------
/tools/utils/src/path.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/utils/src/path.ts
--------------------------------------------------------------------------------
/tools/utils/src/process.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/utils/src/process.ts
--------------------------------------------------------------------------------
/tools/utils/src/types.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/utils/src/types.ts
--------------------------------------------------------------------------------
/tools/utils/src/workspace.gen.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/utils/src/workspace.gen.ts
--------------------------------------------------------------------------------
/tools/utils/src/workspace.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/utils/src/workspace.ts
--------------------------------------------------------------------------------
/tools/utils/src/yarn.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/utils/src/yarn.ts
--------------------------------------------------------------------------------
/tools/utils/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tools/utils/tsconfig.json
--------------------------------------------------------------------------------
/tsconfig.eslint.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tsconfig.eslint.json
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tsconfig.json
--------------------------------------------------------------------------------
/tsconfig.node.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tsconfig.node.json
--------------------------------------------------------------------------------
/tsconfig.web.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/tsconfig.web.json
--------------------------------------------------------------------------------
/typedoc.base.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/typedoc.base.json
--------------------------------------------------------------------------------
/typedoc.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/typedoc.json
--------------------------------------------------------------------------------
/vitest.config.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/vitest.config.ts
--------------------------------------------------------------------------------
/vitest.workspace.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/vitest.workspace.ts
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/toeverything/AFFiNE/HEAD/yarn.lock
--------------------------------------------------------------------------------