From 22ccb0fa716a84560c8599781647baaaeb8e80bd Mon Sep 17 00:00:00 2001
From: syuilo <Syuilotan@yahoo.co.jp>
Date: Sun, 4 Dec 2022 10:16:03 +0900
Subject: [PATCH] refactor

---
 .../backend/src/core/AccountUpdateService.ts  |  6 +--
 packages/backend/src/core/AntennaService.ts   |  2 +-
 packages/backend/src/core/CaptchaService.ts   |  2 +-
 packages/backend/src/core/CoreModule.ts       | 48 +++++++++----------
 .../src/core/CreateNotificationService.ts     |  4 +-
 .../backend/src/core/CustomEmojiService.ts    |  4 +-
 packages/backend/src/core/DriveService.ts     |  6 +--
 .../src/core/FederatedInstanceService.ts      |  2 +-
 .../src/core/FetchInstanceMetadataService.ts  |  2 +-
 packages/backend/src/core/HashtagService.ts   |  2 +-
 .../backend/src/core/InstanceActorService.ts  |  2 +-
 packages/backend/src/core/MessagingService.ts | 12 ++---
 .../backend/src/core/NoteCreateService.ts     | 16 +++----
 .../backend/src/core/NoteDeleteService.ts     |  8 ++--
 .../backend/src/core/NotePiningService.ts     |  6 +--
 packages/backend/src/core/NoteReadService.ts  |  2 +-
 .../backend/src/core/NotificationService.ts   |  2 +-
 packages/backend/src/core/PollService.ts      |  6 +--
 .../backend/src/core/ProxyAccountService.ts   |  2 +-
 .../src/core/PushNotificationService.ts       |  2 +-
 .../src/core/{queue => }/QueueModule.ts       |  2 +-
 packages/backend/src/core/QueueService.ts     |  4 +-
 packages/backend/src/core/ReactionService.ts  | 10 ++--
 packages/backend/src/core/RelayService.ts     |  2 +-
 .../core/{remote => }/RemoteLoggerService.ts  |  0
 ...Service.ts => RemoteUserResolveService.ts} | 10 ++--
 packages/backend/src/core/S3Service.ts        |  2 +-
 packages/backend/src/core/SignupService.ts    |  2 +-
 .../backend/src/core/UserBlockingService.ts   |  8 ++--
 packages/backend/src/core/UserCacheService.ts |  2 +-
 .../backend/src/core/UserFollowingService.ts  |  4 +-
 packages/backend/src/core/UserListService.ts  |  4 +-
 .../backend/src/core/UserSuspendService.ts    |  4 +-
 .../src/core/{remote => }/WebfingerService.ts |  0
 .../activitypub/ApAudienceService.ts          |  0
 .../activitypub/ApDbResolverService.ts        |  0
 .../activitypub/ApDeliverManagerService.ts    |  0
 .../activitypub/ApInboxService.ts             |  0
 .../activitypub/ApLoggerService.ts            |  2 +-
 .../{remote => }/activitypub/ApMfmService.ts  |  0
 .../activitypub/ApRendererService.ts          |  0
 .../activitypub/ApRequestService.ts           |  0
 .../activitypub/ApResolverService.ts          |  0
 .../activitypub/LdSignatureService.ts         |  0
 .../{remote => }/activitypub/misc/contexts.ts |  0
 .../activitypub/models/ApImageService.ts      |  0
 .../activitypub/models/ApMentionService.ts    |  0
 .../activitypub/models/ApNoteService.ts       |  0
 .../activitypub/models/ApPersonService.ts     |  0
 .../activitypub/models/ApQuestionService.ts   |  0
 .../{remote => }/activitypub/models/icon.ts   |  0
 .../activitypub/models/identifier.ts          |  0
 .../{remote => }/activitypub/models/tag.ts    |  0
 .../src/core/{remote => }/activitypub/type.ts |  0
 .../src/core/chart/charts/active-users.ts     |  2 +-
 .../src/core/chart/charts/ap-request.ts       |  2 +-
 .../backend/src/core/chart/charts/drive.ts    |  2 +-
 .../src/core/chart/charts/federation.ts       |  2 +-
 .../backend/src/core/chart/charts/hashtag.ts  |  2 +-
 .../backend/src/core/chart/charts/instance.ts |  2 +-
 .../backend/src/core/chart/charts/notes.ts    |  2 +-
 .../src/core/chart/charts/per-user-drive.ts   |  2 +-
 .../core/chart/charts/per-user-following.ts   |  2 +-
 .../src/core/chart/charts/per-user-notes.ts   |  2 +-
 .../core/chart/charts/per-user-reactions.ts   |  2 +-
 .../src/core/chart/charts/test-grouped.ts     |  2 +-
 .../core/chart/charts/test-intersection.ts    |  2 +-
 .../src/core/chart/charts/test-unique.ts      |  2 +-
 .../backend/src/core/chart/charts/test.ts     |  2 +-
 .../backend/src/core/chart/charts/users.ts    |  2 +-
 .../core/entities/InstanceEntityService.ts    |  2 +-
 .../processors/DeliverProcessorService.ts     |  2 +-
 .../ImportBlockingProcessorService.ts         |  6 +--
 .../ImportFollowingProcessorService.ts        |  6 +--
 .../ImportMutingProcessorService.ts           |  6 +--
 .../ImportUserListsProcessorService.ts        |  6 +--
 .../queue/processors/InboxProcessorService.ts | 12 ++---
 packages/backend/src/queue/types.ts           |  2 +-
 .../src/server/ActivityPubServerService.ts    |  2 +-
 .../endpoints/admin/queue/deliver-delayed.ts  |  2 +-
 .../endpoints/admin/queue/inbox-delayed.ts    |  2 +-
 .../server/api/endpoints/admin/queue/stats.ts |  2 +-
 .../admin/resolve-abuse-user-report.ts        |  2 +-
 .../src/server/api/endpoints/ap/get.ts        |  2 +-
 .../src/server/api/endpoints/ap/show.ts       | 10 ++--
 .../federation/update-remote-user.ts          |  2 +-
 .../server/api/endpoints/notes/polls/vote.ts  |  2 +-
 .../src/server/api/endpoints/users/show.ts    |  6 +--
 .../src/server/web/ClientServerService.ts     |  2 +-
 packages/backend/test/misc/mock-resolver.ts   |  4 +-
 packages/backend/test/tests/activitypub.ts    |  6 +--
 packages/backend/test/tests/ap-request.ts     |  2 +-
 packages/backend/test/unit/RelayService.ts    |  2 +-
 93 files changed, 157 insertions(+), 157 deletions(-)
 rename packages/backend/src/core/{queue => }/QueueModule.ts (98%)
 rename packages/backend/src/core/{remote => }/RemoteLoggerService.ts (100%)
 rename packages/backend/src/core/{remote/ResolveUserService.ts => RemoteUserResolveService.ts} (93%)
 rename packages/backend/src/core/{remote => }/WebfingerService.ts (100%)
 rename packages/backend/src/core/{remote => }/activitypub/ApAudienceService.ts (100%)
 rename packages/backend/src/core/{remote => }/activitypub/ApDbResolverService.ts (100%)
 rename packages/backend/src/core/{remote => }/activitypub/ApDeliverManagerService.ts (100%)
 rename packages/backend/src/core/{remote => }/activitypub/ApInboxService.ts (100%)
 rename packages/backend/src/core/{remote => }/activitypub/ApLoggerService.ts (80%)
 rename packages/backend/src/core/{remote => }/activitypub/ApMfmService.ts (100%)
 rename packages/backend/src/core/{remote => }/activitypub/ApRendererService.ts (100%)
 rename packages/backend/src/core/{remote => }/activitypub/ApRequestService.ts (100%)
 rename packages/backend/src/core/{remote => }/activitypub/ApResolverService.ts (100%)
 rename packages/backend/src/core/{remote => }/activitypub/LdSignatureService.ts (100%)
 rename packages/backend/src/core/{remote => }/activitypub/misc/contexts.ts (100%)
 rename packages/backend/src/core/{remote => }/activitypub/models/ApImageService.ts (100%)
 rename packages/backend/src/core/{remote => }/activitypub/models/ApMentionService.ts (100%)
 rename packages/backend/src/core/{remote => }/activitypub/models/ApNoteService.ts (100%)
 rename packages/backend/src/core/{remote => }/activitypub/models/ApPersonService.ts (100%)
 rename packages/backend/src/core/{remote => }/activitypub/models/ApQuestionService.ts (100%)
 rename packages/backend/src/core/{remote => }/activitypub/models/icon.ts (100%)
 rename packages/backend/src/core/{remote => }/activitypub/models/identifier.ts (100%)
 rename packages/backend/src/core/{remote => }/activitypub/models/tag.ts (100%)
 rename packages/backend/src/core/{remote => }/activitypub/type.ts (100%)

diff --git a/packages/backend/src/core/AccountUpdateService.ts b/packages/backend/src/core/AccountUpdateService.ts
index 6fe0e05c6d..a5ab4fdfce 100644
--- a/packages/backend/src/core/AccountUpdateService.ts
+++ b/packages/backend/src/core/AccountUpdateService.ts
@@ -3,10 +3,10 @@ import { DI } from '@/di-symbols.js';
 import type { UsersRepository } from '@/models/index.js';
 import type { Config } from '@/config.js';
 import type { User } from '@/models/entities/User.js';
-import { ApRendererService } from '@/core/remote/activitypub/ApRendererService.js';
+import { ApRendererService } from '@/core/activitypub/ApRendererService.js';
 import { RelayService } from '@/core/RelayService.js';
-import { ApDeliverManagerService } from '@/core/remote/activitypub/ApDeliverManagerService.js';
-import { UserEntityService } from './entities/UserEntityService.js';
+import { ApDeliverManagerService } from '@/core/activitypub/ApDeliverManagerService.js';
+import { UserEntityService } from '@/core/entities/UserEntityService.js';
 
 @Injectable()
 export class AccountUpdateService {
diff --git a/packages/backend/src/core/AntennaService.ts b/packages/backend/src/core/AntennaService.ts
index af76767f31..8046ba5311 100644
--- a/packages/backend/src/core/AntennaService.ts
+++ b/packages/backend/src/core/AntennaService.ts
@@ -11,7 +11,7 @@ import { Cache } from '@/misc/cache.js';
 import type { Packed } from '@/misc/schema.js';
 import { DI } from '@/di-symbols.js';
 import type { MutingsRepository, BlockingsRepository, NotesRepository, AntennaNotesRepository, AntennasRepository, UserGroupJoiningsRepository, UserListJoiningsRepository } from '@/models/index.js';
-import { UtilityService } from './UtilityService.js';
+import { UtilityService } from '@/core/UtilityService.js';
 import type { OnApplicationShutdown } from '@nestjs/common';
 
 @Injectable()
diff --git a/packages/backend/src/core/CaptchaService.ts b/packages/backend/src/core/CaptchaService.ts
index b2bc24ac2c..b60271812c 100644
--- a/packages/backend/src/core/CaptchaService.ts
+++ b/packages/backend/src/core/CaptchaService.ts
@@ -2,7 +2,7 @@ import { Inject, Injectable } from '@nestjs/common';
 import { DI } from '@/di-symbols.js';
 import type { UsersRepository } from '@/models/index.js';
 import type { Config } from '@/config.js';
-import { HttpRequestService } from './HttpRequestService.js';
+import { HttpRequestService } from '@/core/HttpRequestService.js';
 
 type CaptchaResponse = {
 	success: boolean;
diff --git a/packages/backend/src/core/CoreModule.ts b/packages/backend/src/core/CoreModule.ts
index da07728d22..085addaa05 100644
--- a/packages/backend/src/core/CoreModule.ts
+++ b/packages/backend/src/core/CoreModule.ts
@@ -94,25 +94,25 @@ import { UserEntityService } from './entities/UserEntityService.js';
 import { UserGroupEntityService } from './entities/UserGroupEntityService.js';
 import { UserGroupInvitationEntityService } from './entities/UserGroupInvitationEntityService.js';
 import { UserListEntityService } from './entities/UserListEntityService.js';
-import { ApAudienceService } from './remote/activitypub/ApAudienceService.js';
-import { ApDbResolverService } from './remote/activitypub/ApDbResolverService.js';
-import { ApDeliverManagerService } from './remote/activitypub/ApDeliverManagerService.js';
-import { ApInboxService } from './remote/activitypub/ApInboxService.js';
-import { ApLoggerService } from './remote/activitypub/ApLoggerService.js';
-import { ApMfmService } from './remote/activitypub/ApMfmService.js';
-import { ApRendererService } from './remote/activitypub/ApRendererService.js';
-import { ApRequestService } from './remote/activitypub/ApRequestService.js';
-import { ApResolverService } from './remote/activitypub/ApResolverService.js';
-import { LdSignatureService } from './remote/activitypub/LdSignatureService.js';
-import { RemoteLoggerService } from './remote/RemoteLoggerService.js';
-import { ResolveUserService } from './remote/ResolveUserService.js';
-import { WebfingerService } from './remote/WebfingerService.js';
-import { ApImageService } from './remote/activitypub/models/ApImageService.js';
-import { ApMentionService } from './remote/activitypub/models/ApMentionService.js';
-import { ApNoteService } from './remote/activitypub/models/ApNoteService.js';
-import { ApPersonService } from './remote/activitypub/models/ApPersonService.js';
-import { ApQuestionService } from './remote/activitypub/models/ApQuestionService.js';
-import { QueueModule } from './queue/QueueModule.js';
+import { ApAudienceService } from './activitypub/ApAudienceService.js';
+import { ApDbResolverService } from './activitypub/ApDbResolverService.js';
+import { ApDeliverManagerService } from './activitypub/ApDeliverManagerService.js';
+import { ApInboxService } from './activitypub/ApInboxService.js';
+import { ApLoggerService } from './activitypub/ApLoggerService.js';
+import { ApMfmService } from './activitypub/ApMfmService.js';
+import { ApRendererService } from './activitypub/ApRendererService.js';
+import { ApRequestService } from './activitypub/ApRequestService.js';
+import { ApResolverService } from './activitypub/ApResolverService.js';
+import { LdSignatureService } from './activitypub/LdSignatureService.js';
+import { RemoteLoggerService } from './RemoteLoggerService.js';
+import { RemoteUserResolveService } from './RemoteUserResolveService.js';
+import { WebfingerService } from './WebfingerService.js';
+import { ApImageService } from './activitypub/models/ApImageService.js';
+import { ApMentionService } from './activitypub/models/ApMentionService.js';
+import { ApNoteService } from './activitypub/models/ApNoteService.js';
+import { ApPersonService } from './activitypub/models/ApPersonService.js';
+import { ApQuestionService } from './activitypub/models/ApQuestionService.js';
+import { QueueModule } from './QueueModule.js';
 import { QueueService } from './QueueService.js';
 import { LoggerService } from './LoggerService.js';
 import type { Provider } from '@nestjs/common';
@@ -226,7 +226,7 @@ const $ApRequestService: Provider = { provide: 'ApRequestService', useExisting:
 const $ApResolverService: Provider = { provide: 'ApResolverService', useExisting: ApResolverService };
 const $LdSignatureService: Provider = { provide: 'LdSignatureService', useExisting: LdSignatureService };
 const $RemoteLoggerService: Provider = { provide: 'RemoteLoggerService', useExisting: RemoteLoggerService };
-const $ResolveUserService: Provider = { provide: 'ResolveUserService', useExisting: ResolveUserService };
+const $RemoteUserResolveService: Provider = { provide: 'RemoteUserResolveService', useExisting: RemoteUserResolveService };
 const $WebfingerService: Provider = { provide: 'WebfingerService', useExisting: WebfingerService };
 const $ApImageService: Provider = { provide: 'ApImageService', useExisting: ApImageService };
 const $ApMentionService: Provider = { provide: 'ApMentionService', useExisting: ApMentionService };
@@ -346,7 +346,7 @@ const $ApQuestionService: Provider = { provide: 'ApQuestionService', useExisting
 		ApResolverService,
 		LdSignatureService,
 		RemoteLoggerService,
-		ResolveUserService,
+		RemoteUserResolveService,
 		WebfingerService,
 		ApImageService,
 		ApMentionService,
@@ -462,7 +462,7 @@ const $ApQuestionService: Provider = { provide: 'ApQuestionService', useExisting
 		$ApResolverService,
 		$LdSignatureService,
 		$RemoteLoggerService,
-		$ResolveUserService,
+		$RemoteUserResolveService,
 		$WebfingerService,
 		$ApImageService,
 		$ApMentionService,
@@ -578,7 +578,7 @@ const $ApQuestionService: Provider = { provide: 'ApQuestionService', useExisting
 		ApResolverService,
 		LdSignatureService,
 		RemoteLoggerService,
-		ResolveUserService,
+		RemoteUserResolveService,
 		WebfingerService,
 		ApImageService,
 		ApMentionService,
@@ -693,7 +693,7 @@ const $ApQuestionService: Provider = { provide: 'ApQuestionService', useExisting
 		$ApResolverService,
 		$LdSignatureService,
 		$RemoteLoggerService,
-		$ResolveUserService,
+		$RemoteUserResolveService,
 		$WebfingerService,
 		$ApImageService,
 		$ApMentionService,
diff --git a/packages/backend/src/core/CreateNotificationService.ts b/packages/backend/src/core/CreateNotificationService.ts
index feb82dcbf9..504661c3bd 100644
--- a/packages/backend/src/core/CreateNotificationService.ts
+++ b/packages/backend/src/core/CreateNotificationService.ts
@@ -5,8 +5,8 @@ import type { Notification } from '@/models/entities/Notification.js';
 import { GlobalEventService } from '@/core/GlobalEventService.js';
 import { IdService } from '@/core/IdService.js';
 import { DI } from '@/di-symbols.js';
-import { NotificationEntityService } from './entities/NotificationEntityService.js';
-import { PushNotificationService } from './PushNotificationService.js';
+import { NotificationEntityService } from '@/core/entities/NotificationEntityService.js';
+import { PushNotificationService } from '@/core/PushNotificationService.js';
 
 @Injectable()
 export class CreateNotificationService {
diff --git a/packages/backend/src/core/CustomEmojiService.ts b/packages/backend/src/core/CustomEmojiService.ts
index e1355fff07..3319f3efa8 100644
--- a/packages/backend/src/core/CustomEmojiService.ts
+++ b/packages/backend/src/core/CustomEmojiService.ts
@@ -10,8 +10,8 @@ import { Cache } from '@/misc/cache.js';
 import { query } from '@/misc/prelude/url.js';
 import type { Note } from '@/models/entities/Note.js';
 import type { EmojisRepository } from '@/models/index.js';
-import { UtilityService } from './UtilityService.js';
-import { ReactionService } from './ReactionService.js';
+import { UtilityService } from '@/core/UtilityService.js';
+import { ReactionService } from '@/core/ReactionService.js';
 
 /**
  * 添付用絵文字情報
diff --git a/packages/backend/src/core/DriveService.ts b/packages/backend/src/core/DriveService.ts
index e0bdd29c0f..1d2ba5df8c 100644
--- a/packages/backend/src/core/DriveService.ts
+++ b/packages/backend/src/core/DriveService.ts
@@ -28,9 +28,9 @@ import InstanceChart from '@/core/chart/charts/instance.js';
 import { DownloadService } from '@/core/DownloadService.js';
 import { S3Service } from '@/core/S3Service.js';
 import { InternalStorageService } from '@/core/InternalStorageService.js';
-import { DriveFileEntityService } from './entities/DriveFileEntityService.js';
-import { UserEntityService } from './entities/UserEntityService.js';
-import { FileInfoService } from './FileInfoService.js';
+import { DriveFileEntityService } from '@/core/entities/DriveFileEntityService.js';
+import { UserEntityService } from '@/core/entities/UserEntityService.js';
+import { FileInfoService } from '@/core/FileInfoService.js';
 import type S3 from 'aws-sdk/clients/s3.js';
 
 type AddFileArgs = {
diff --git a/packages/backend/src/core/FederatedInstanceService.ts b/packages/backend/src/core/FederatedInstanceService.ts
index b98a41f757..a05c95a2ae 100644
--- a/packages/backend/src/core/FederatedInstanceService.ts
+++ b/packages/backend/src/core/FederatedInstanceService.ts
@@ -4,7 +4,7 @@ import type { Instance } from '@/models/entities/Instance.js';
 import { Cache } from '@/misc/cache.js';
 import { IdService } from '@/core/IdService.js';
 import { DI } from '@/di-symbols.js';
-import { UtilityService } from './UtilityService.js';
+import { UtilityService } from '@/core/UtilityService.js';
 
 @Injectable()
 export class FederatedInstanceService {
diff --git a/packages/backend/src/core/FetchInstanceMetadataService.ts b/packages/backend/src/core/FetchInstanceMetadataService.ts
index 184404123c..b92ebe6059 100644
--- a/packages/backend/src/core/FetchInstanceMetadataService.ts
+++ b/packages/backend/src/core/FetchInstanceMetadataService.ts
@@ -9,7 +9,7 @@ import { AppLockService } from '@/core/AppLockService.js';
 import type Logger from '@/logger.js';
 import { DI } from '@/di-symbols.js';
 import { LoggerService } from '@/core/LoggerService.js';
-import { HttpRequestService } from './HttpRequestService.js';
+import { HttpRequestService } from '@/core/HttpRequestService.js';
 import type { DOMWindow } from 'jsdom';
 
 type NodeInfo = {
diff --git a/packages/backend/src/core/HashtagService.ts b/packages/backend/src/core/HashtagService.ts
index 83950aa890..5ca058e9a4 100644
--- a/packages/backend/src/core/HashtagService.ts
+++ b/packages/backend/src/core/HashtagService.ts
@@ -6,7 +6,7 @@ import { IdService } from '@/core/IdService.js';
 import type { Hashtag } from '@/models/entities/Hashtag.js';
 import HashtagChart from '@/core/chart/charts/hashtag.js';
 import type { HashtagsRepository, UsersRepository } from '@/models/index.js';
-import { UserEntityService } from './entities/UserEntityService.js';
+import { UserEntityService } from '@/core/entities/UserEntityService.js';
 
 @Injectable()
 export class HashtagService {
diff --git a/packages/backend/src/core/InstanceActorService.ts b/packages/backend/src/core/InstanceActorService.ts
index fa906df4a2..f35a28147d 100644
--- a/packages/backend/src/core/InstanceActorService.ts
+++ b/packages/backend/src/core/InstanceActorService.ts
@@ -4,7 +4,7 @@ import type { ILocalUser } from '@/models/entities/User.js';
 import type { UsersRepository } from '@/models/index.js';
 import { Cache } from '@/misc/cache.js';
 import { DI } from '@/di-symbols.js';
-import { CreateSystemUserService } from './CreateSystemUserService.js';
+import { CreateSystemUserService } from '@/core/CreateSystemUserService.js';
 
 const ACTOR_USERNAME = 'instance.actor' as const;
 
diff --git a/packages/backend/src/core/MessagingService.ts b/packages/backend/src/core/MessagingService.ts
index 0603da0651..9de28ad8db 100644
--- a/packages/backend/src/core/MessagingService.ts
+++ b/packages/backend/src/core/MessagingService.ts
@@ -11,12 +11,12 @@ import { QueueService } from '@/core/QueueService.js';
 import { toArray } from '@/misc/prelude/array.js';
 import { IdentifiableError } from '@/misc/identifiable-error.js';
 import type { MessagingMessagesRepository, MutingsRepository, UserGroupJoiningsRepository, UsersRepository } from '@/models/index.js';
-import { IdService } from './IdService.js';
-import { GlobalEventService } from './GlobalEventService.js';
-import { UserEntityService } from './entities/UserEntityService.js';
-import { ApRendererService } from './remote/activitypub/ApRendererService.js';
-import { MessagingMessageEntityService } from './entities/MessagingMessageEntityService.js';
-import { PushNotificationService } from './PushNotificationService.js';
+import { IdService } from '@/core/IdService.js';
+import { GlobalEventService } from '@/core/GlobalEventService.js';
+import { UserEntityService } from '@/core/entities/UserEntityService.js';
+import { ApRendererService } from '@/core/activitypub/ApRendererService.js';
+import { MessagingMessageEntityService } from '@/core/entities/MessagingMessageEntityService.js';
+import { PushNotificationService } from '@/core/PushNotificationService.js';
 
 @Injectable()
 export class MessagingService {
diff --git a/packages/backend/src/core/NoteCreateService.ts b/packages/backend/src/core/NoteCreateService.ts
index a23e105674..cf1566a5e8 100644
--- a/packages/backend/src/core/NoteCreateService.ts
+++ b/packages/backend/src/core/NoteCreateService.ts
@@ -34,12 +34,12 @@ import { WebhookService } from '@/core/WebhookService.js';
 import { HashtagService } from '@/core/HashtagService.js';
 import { AntennaService } from '@/core/AntennaService.js';
 import { QueueService } from '@/core/QueueService.js';
-import { NoteEntityService } from './entities/NoteEntityService.js';
-import { UserEntityService } from './entities/UserEntityService.js';
-import { NoteReadService } from './NoteReadService.js';
-import { ApRendererService } from './remote/activitypub/ApRendererService.js';
-import { ResolveUserService } from './remote/ResolveUserService.js';
-import { ApDeliverManagerService } from './remote/activitypub/ApDeliverManagerService.js';
+import { NoteEntityService } from '@/core/entities/NoteEntityService.js';
+import { UserEntityService } from '@/core/entities/UserEntityService.js';
+import { ApRendererService } from '@/core/activitypub/ApRendererService.js';
+import { ApDeliverManagerService } from '@/core/activitypub/ApDeliverManagerService.js';
+import { NoteReadService } from '@/core/NoteReadService.js';
+import { RemoteUserResolveService } from '@/core/RemoteUserResolveService.js';
 
 const mutedWordsCache = new Cache<{ userId: UserProfile['userId']; mutedWords: UserProfile['mutedWords']; }[]>(1000 * 60 * 5);
 
@@ -179,7 +179,7 @@ export class NoteCreateService {
 		private hashtagService: HashtagService,
 		private antennaService: AntennaService,
 		private webhookService: WebhookService,
-		private resolveUserService: ResolveUserService,
+		private remoteUserResolveService: RemoteUserResolveService,
 		private apDeliverManagerService: ApDeliverManagerService,
 		private apRendererService: ApRendererService,
 		private notesChart: NotesChart,
@@ -726,7 +726,7 @@ export class NoteCreateService {
 
 		const mentions = extractMentions(tokens);
 		let mentionedUsers = (await Promise.all(mentions.map(m =>
-			this.resolveUserService.resolveUser(m.username, m.host ?? user.host).catch(() => null),
+			this.remoteUserResolveService.resolveUser(m.username, m.host ?? user.host).catch(() => null),
 		))).filter(x => x != null) as User[];
 
 		// Drop duplicate users
diff --git a/packages/backend/src/core/NoteDeleteService.ts b/packages/backend/src/core/NoteDeleteService.ts
index ccc583c5b6..ce6e755a7e 100644
--- a/packages/backend/src/core/NoteDeleteService.ts
+++ b/packages/backend/src/core/NoteDeleteService.ts
@@ -11,10 +11,10 @@ import NotesChart from '@/core/chart/charts/notes.js';
 import PerUserNotesChart from '@/core/chart/charts/per-user-notes.js';
 import InstanceChart from '@/core/chart/charts/instance.js';
 import { GlobalEventService } from '@/core/GlobalEventService.js';
-import { ApRendererService } from './remote/activitypub/ApRendererService.js';
-import { ApDeliverManagerService } from './remote/activitypub/ApDeliverManagerService.js';
-import { UserEntityService } from './entities/UserEntityService.js';
-import { NoteEntityService } from './entities/NoteEntityService.js';
+import { ApRendererService } from '@/core/activitypub/ApRendererService.js';
+import { ApDeliverManagerService } from '@/core/activitypub/ApDeliverManagerService.js';
+import { UserEntityService } from '@/core/entities/UserEntityService.js';
+import { NoteEntityService } from '@/core/entities/NoteEntityService.js';
 
 @Injectable()
 export class NoteDeleteService {
diff --git a/packages/backend/src/core/NotePiningService.ts b/packages/backend/src/core/NotePiningService.ts
index 8c4a761ba6..a04b52fe4c 100644
--- a/packages/backend/src/core/NotePiningService.ts
+++ b/packages/backend/src/core/NotePiningService.ts
@@ -8,9 +8,9 @@ import { IdService } from '@/core/IdService.js';
 import type { UserNotePining } from '@/models/entities/UserNotePining.js';
 import { RelayService } from '@/core/RelayService.js';
 import type { Config } from '@/config.js';
-import { UserEntityService } from './entities/UserEntityService.js';
-import { ApDeliverManagerService } from './remote/activitypub/ApDeliverManagerService.js';
-import { ApRendererService } from './remote/activitypub/ApRendererService.js';
+import { UserEntityService } from '@/core/entities/UserEntityService.js';
+import { ApDeliverManagerService } from '@/core/activitypub/ApDeliverManagerService.js';
+import { ApRendererService } from '@/core/activitypub/ApRendererService.js';
 
 @Injectable()
 export class NotePiningService {
diff --git a/packages/backend/src/core/NoteReadService.ts b/packages/backend/src/core/NoteReadService.ts
index 2c84e1d4d5..e0feaa957d 100644
--- a/packages/backend/src/core/NoteReadService.ts
+++ b/packages/backend/src/core/NoteReadService.ts
@@ -8,7 +8,7 @@ import type { Note } from '@/models/entities/Note.js';
 import { IdService } from '@/core/IdService.js';
 import { GlobalEventService } from '@/core/GlobalEventService.js';
 import type { UsersRepository, NoteUnreadsRepository, MutingsRepository, NoteThreadMutingsRepository, FollowingsRepository, ChannelFollowingsRepository, AntennaNotesRepository } from '@/models/index.js';
-import { UserEntityService } from './entities/UserEntityService.js';
+import { UserEntityService } from '@/core/entities/UserEntityService.js';
 import { NotificationService } from './NotificationService.js';
 import { AntennaService } from './AntennaService.js';
 
diff --git a/packages/backend/src/core/NotificationService.ts b/packages/backend/src/core/NotificationService.ts
index 2606ca4de0..8bbc95b02d 100644
--- a/packages/backend/src/core/NotificationService.ts
+++ b/packages/backend/src/core/NotificationService.ts
@@ -5,7 +5,7 @@ import type { NotificationsRepository } from '@/models/index.js';
 import type { UsersRepository } from '@/models/index.js';
 import type { User } from '@/models/entities/User.js';
 import type { Notification } from '@/models/entities/Notification.js';
-import { UserEntityService } from './entities/UserEntityService.js';
+import { UserEntityService } from '@/core/entities/UserEntityService.js';
 import { GlobalEventService } from './GlobalEventService.js';
 import { PushNotificationService } from './PushNotificationService.js';
 
diff --git a/packages/backend/src/core/PollService.ts b/packages/backend/src/core/PollService.ts
index e3e12b5320..287ce8ada4 100644
--- a/packages/backend/src/core/PollService.ts
+++ b/packages/backend/src/core/PollService.ts
@@ -8,9 +8,9 @@ import type { CacheableUser } from '@/models/entities/User.js';
 import { IdService } from '@/core/IdService.js';
 import { GlobalEventService } from '@/core/GlobalEventService.js';
 import { CreateNotificationService } from '@/core/CreateNotificationService.js';
-import { ApRendererService } from './remote/activitypub/ApRendererService.js';
-import { UserEntityService } from './entities/UserEntityService.js';
-import { ApDeliverManagerService } from './remote/activitypub/ApDeliverManagerService.js';
+import { ApRendererService } from '@/core/activitypub/ApRendererService.js';
+import { UserEntityService } from '@/core/entities/UserEntityService.js';
+import { ApDeliverManagerService } from '@/core/activitypub/ApDeliverManagerService.js';
 
 @Injectable()
 export class PollService {
diff --git a/packages/backend/src/core/ProxyAccountService.ts b/packages/backend/src/core/ProxyAccountService.ts
index 07d8d0dbd5..4cbdadd029 100644
--- a/packages/backend/src/core/ProxyAccountService.ts
+++ b/packages/backend/src/core/ProxyAccountService.ts
@@ -2,7 +2,7 @@ import { Inject, Injectable } from '@nestjs/common';
 import type { UsersRepository } from '@/models/index.js';
 import type { ILocalUser, User } from '@/models/entities/User.js';
 import { DI } from '@/di-symbols.js';
-import { MetaService } from './MetaService.js';
+import { MetaService } from '@/core/MetaService.js';
 
 @Injectable()
 export class ProxyAccountService {
diff --git a/packages/backend/src/core/PushNotificationService.ts b/packages/backend/src/core/PushNotificationService.ts
index 5eaaed00eb..98e0841799 100644
--- a/packages/backend/src/core/PushNotificationService.ts
+++ b/packages/backend/src/core/PushNotificationService.ts
@@ -5,7 +5,7 @@ import type { Config } from '@/config.js';
 import type { Packed } from '@/misc/schema';
 import { getNoteSummary } from '@/misc/get-note-summary.js';
 import type { SwSubscriptionsRepository } from '@/models/index.js';
-import { MetaService } from './MetaService.js';
+import { MetaService } from '@/core/MetaService.js';
 
 // Defined also packages/sw/types.ts#L14-L21
 type pushNotificationsTypes = {
diff --git a/packages/backend/src/core/queue/QueueModule.ts b/packages/backend/src/core/QueueModule.ts
similarity index 98%
rename from packages/backend/src/core/queue/QueueModule.ts
rename to packages/backend/src/core/QueueModule.ts
index 3a271ea37f..edd843977b 100644
--- a/packages/backend/src/core/queue/QueueModule.ts
+++ b/packages/backend/src/core/QueueModule.ts
@@ -3,7 +3,7 @@ import Bull from 'bull';
 import { DI } from '@/di-symbols.js';
 import type { Config } from '@/config.js';
 import type { Provider } from '@nestjs/common';
-import type { DeliverJobData, InboxJobData, DbJobData, ObjectStorageJobData, EndedPollNotificationJobData, WebhookDeliverJobData } from '../../queue/types.js';
+import type { DeliverJobData, InboxJobData, DbJobData, ObjectStorageJobData, EndedPollNotificationJobData, WebhookDeliverJobData } from '../queue/types.js';
 
 function q<T>(config: Config, name: string, limitPerSec = -1) {
 	return new Bull<T>(name, {
diff --git a/packages/backend/src/core/QueueService.ts b/packages/backend/src/core/QueueService.ts
index d9ad26747f..a27d68ee19 100644
--- a/packages/backend/src/core/QueueService.ts
+++ b/packages/backend/src/core/QueueService.ts
@@ -1,11 +1,11 @@
 import { Inject, Injectable } from '@nestjs/common';
 import { v4 as uuid } from 'uuid';
-import type { IActivity } from '@/core/remote/activitypub/type.js';
+import type { IActivity } from '@/core/activitypub/type.js';
 import type { DriveFile } from '@/models/entities/DriveFile.js';
 import type { Webhook, webhookEventTypes } from '@/models/entities/Webhook.js';
 import type { Config } from '@/config.js';
 import { DI } from '@/di-symbols.js';
-import type { DbQueue, DeliverQueue, EndedPollNotificationQueue, InboxQueue, ObjectStorageQueue, SystemQueue, WebhookDeliverQueue } from './queue/QueueModule.js';
+import type { DbQueue, DeliverQueue, EndedPollNotificationQueue, InboxQueue, ObjectStorageQueue, SystemQueue, WebhookDeliverQueue } from './QueueModule.js';
 import type { ThinUser } from '../queue/types.js';
 import type httpSignature from '@peertube/http-signature';
 
diff --git a/packages/backend/src/core/ReactionService.ts b/packages/backend/src/core/ReactionService.ts
index d5b3c0e799..7a9724e7dd 100644
--- a/packages/backend/src/core/ReactionService.ts
+++ b/packages/backend/src/core/ReactionService.ts
@@ -12,11 +12,11 @@ import { GlobalEventService } from '@/core/GlobalEventService.js';
 import { CreateNotificationService } from '@/core/CreateNotificationService.js';
 import PerUserReactionsChart from '@/core/chart/charts/per-user-reactions.js';
 import { emojiRegex } from '@/misc/emoji-regex.js';
-import { ApDeliverManagerService } from './remote/activitypub/ApDeliverManagerService.js';
-import { NoteEntityService } from './entities/NoteEntityService.js';
-import { UserEntityService } from './entities/UserEntityService.js';
-import { ApRendererService } from './remote/activitypub/ApRendererService.js';
-import { MetaService } from './MetaService.js';
+import { ApDeliverManagerService } from '@/core/activitypub/ApDeliverManagerService.js';
+import { NoteEntityService } from '@/core/entities/NoteEntityService.js';
+import { UserEntityService } from '@/core/entities/UserEntityService.js';
+import { ApRendererService } from '@/core/activitypub/ApRendererService.js';
+import { MetaService } from '@/core/MetaService.js';
 import { UtilityService } from './UtilityService.js';
 
 const legacies: Record<string, string> = {
diff --git a/packages/backend/src/core/RelayService.ts b/packages/backend/src/core/RelayService.ts
index 3c67e0573f..7951edddcb 100644
--- a/packages/backend/src/core/RelayService.ts
+++ b/packages/backend/src/core/RelayService.ts
@@ -7,7 +7,7 @@ import { Cache } from '@/misc/cache.js';
 import type { Relay } from '@/models/entities/Relay.js';
 import { QueueService } from '@/core/QueueService.js';
 import { CreateSystemUserService } from '@/core/CreateSystemUserService.js';
-import { ApRendererService } from '@/core/remote/activitypub/ApRendererService.js';
+import { ApRendererService } from '@/core/activitypub/ApRendererService.js';
 import { DI } from '@/di-symbols.js';
 import { deepClone } from '@/misc/clone.js';
 
diff --git a/packages/backend/src/core/remote/RemoteLoggerService.ts b/packages/backend/src/core/RemoteLoggerService.ts
similarity index 100%
rename from packages/backend/src/core/remote/RemoteLoggerService.ts
rename to packages/backend/src/core/RemoteLoggerService.ts
diff --git a/packages/backend/src/core/remote/ResolveUserService.ts b/packages/backend/src/core/RemoteUserResolveService.ts
similarity index 93%
rename from packages/backend/src/core/remote/ResolveUserService.ts
rename to packages/backend/src/core/RemoteUserResolveService.ts
index 2fd9e7c378..809b50f6e9 100644
--- a/packages/backend/src/core/remote/ResolveUserService.ts
+++ b/packages/backend/src/core/RemoteUserResolveService.ts
@@ -7,13 +7,13 @@ import type { UsersRepository } from '@/models/index.js';
 import type { IRemoteUser, User } from '@/models/entities/User.js';
 import type { Config } from '@/config.js';
 import type Logger from '@/logger.js';
-import { UtilityService } from '../UtilityService.js';
-import { WebfingerService } from './WebfingerService.js';
-import { RemoteLoggerService } from './RemoteLoggerService.js';
-import { ApPersonService } from './activitypub/models/ApPersonService.js';
+import { UtilityService } from '@/core/UtilityService.js';
+import { WebfingerService } from '@/core/WebfingerService.js';
+import { RemoteLoggerService } from '@/core/RemoteLoggerService.js';
+import { ApPersonService } from '@/core/activitypub/models/ApPersonService.js';
 
 @Injectable()
-export class ResolveUserService {
+export class RemoteUserResolveService {
 	private logger: Logger;
 
 	constructor(
diff --git a/packages/backend/src/core/S3Service.ts b/packages/backend/src/core/S3Service.ts
index 723a79dc59..1374ee06c8 100644
--- a/packages/backend/src/core/S3Service.ts
+++ b/packages/backend/src/core/S3Service.ts
@@ -4,7 +4,7 @@ import S3 from 'aws-sdk/clients/s3.js';
 import { DI } from '@/di-symbols.js';
 import type { Config } from '@/config.js';
 import type { Meta } from '@/models/entities/Meta.js';
-import { HttpRequestService } from './HttpRequestService.js';
+import { HttpRequestService } from '@/core/HttpRequestService.js';
 
 @Injectable()
 export class S3Service {
diff --git a/packages/backend/src/core/SignupService.ts b/packages/backend/src/core/SignupService.ts
index 2239d5fd83..1e34d9e4f8 100644
--- a/packages/backend/src/core/SignupService.ts
+++ b/packages/backend/src/core/SignupService.ts
@@ -12,7 +12,7 @@ import { UserKeypair } from '@/models/entities/UserKeypair.js';
 import { UsedUsername } from '@/models/entities/UsedUsername.js';
 import generateUserToken from '@/misc/generate-native-user-token.js';
 import UsersChart from './chart/charts/users.js';
-import { UserEntityService } from './entities/UserEntityService.js';
+import { UserEntityService } from '@/core/entities/UserEntityService.js';
 import { UtilityService } from './UtilityService.js';
 
 @Injectable()
diff --git a/packages/backend/src/core/UserBlockingService.ts b/packages/backend/src/core/UserBlockingService.ts
index b7a434684e..3399bb510f 100644
--- a/packages/backend/src/core/UserBlockingService.ts
+++ b/packages/backend/src/core/UserBlockingService.ts
@@ -10,10 +10,10 @@ import { DI } from '@/di-symbols.js';
 import logger from '@/logger.js';
 import type { UsersRepository, FollowingsRepository, FollowRequestsRepository, BlockingsRepository, UserListsRepository, UserListJoiningsRepository } from '@/models/index.js';
 import Logger from '@/logger.js';
-import { UserEntityService } from './entities/UserEntityService.js';
-import { WebhookService } from './WebhookService.js';
-import { ApRendererService } from './remote/activitypub/ApRendererService.js';
-import { LoggerService } from './LoggerService.js';
+import { UserEntityService } from '@/core/entities/UserEntityService.js';
+import { ApRendererService } from '@/core/activitypub/ApRendererService.js';
+import { LoggerService } from '@/core/LoggerService.js';
+import { WebhookService } from '@/core/WebhookService.js';
 
 @Injectable()
 export class UserBlockingService {
diff --git a/packages/backend/src/core/UserCacheService.ts b/packages/backend/src/core/UserCacheService.ts
index b7166010ee..25a600a8da 100644
--- a/packages/backend/src/core/UserCacheService.ts
+++ b/packages/backend/src/core/UserCacheService.ts
@@ -4,7 +4,7 @@ import type { UsersRepository } from '@/models/index.js';
 import { Cache } from '@/misc/cache.js';
 import type { CacheableLocalUser, CacheableUser, ILocalUser } from '@/models/entities/User.js';
 import { DI } from '@/di-symbols.js';
-import { UserEntityService } from './entities/UserEntityService.js';
+import { UserEntityService } from '@/core/entities/UserEntityService.js';
 import type { OnApplicationShutdown } from '@nestjs/common';
 
 @Injectable()
diff --git a/packages/backend/src/core/UserFollowingService.ts b/packages/backend/src/core/UserFollowingService.ts
index 31e08c1366..2f51e2a9df 100644
--- a/packages/backend/src/core/UserFollowingService.ts
+++ b/packages/backend/src/core/UserFollowingService.ts
@@ -14,8 +14,8 @@ import { CreateNotificationService } from '@/core/CreateNotificationService.js';
 import { DI } from '@/di-symbols.js';
 import type { BlockingsRepository, FollowingsRepository, FollowRequestsRepository, InstancesRepository, UserProfilesRepository, UsersRepository } from '@/models/index.js';
 import Logger from '../logger.js';
-import { UserEntityService } from './entities/UserEntityService.js';
-import { ApRendererService } from './remote/activitypub/ApRendererService.js';
+import { UserEntityService } from '@/core/entities/UserEntityService.js';
+import { ApRendererService } from '@/core/activitypub/ApRendererService.js';
 
 const logger = new Logger('following/create');
 
diff --git a/packages/backend/src/core/UserListService.ts b/packages/backend/src/core/UserListService.ts
index b1d01a1565..1d1ead5a1f 100644
--- a/packages/backend/src/core/UserListService.ts
+++ b/packages/backend/src/core/UserListService.ts
@@ -7,8 +7,8 @@ import { IdService } from '@/core/IdService.js';
 import { UserFollowingService } from '@/core/UserFollowingService.js';
 import { GlobalEventService } from '@/core/GlobalEventService.js';
 import { DI } from '@/di-symbols.js';
-import { UserEntityService } from './entities/UserEntityService.js';
-import { ProxyAccountService } from './ProxyAccountService.js';
+import { UserEntityService } from '@/core/entities/UserEntityService.js';
+import { ProxyAccountService } from '@/core/ProxyAccountService.js';
 
 @Injectable()
 export class UserListService {
diff --git a/packages/backend/src/core/UserSuspendService.ts b/packages/backend/src/core/UserSuspendService.ts
index 82c2e98236..02f686bab6 100644
--- a/packages/backend/src/core/UserSuspendService.ts
+++ b/packages/backend/src/core/UserSuspendService.ts
@@ -6,8 +6,8 @@ import { QueueService } from '@/core/QueueService.js';
 import { GlobalEventService } from '@/core/GlobalEventService.js';
 import { DI } from '@/di-symbols.js';
 import type { Config } from '@/config.js';
-import { ApRendererService } from './remote/activitypub/ApRendererService.js';
-import { UserEntityService } from './entities/UserEntityService.js';
+import { ApRendererService } from '@/core/activitypub/ApRendererService.js';
+import { UserEntityService } from '@/core/entities/UserEntityService.js';
 
 @Injectable()
 export class UserSuspendService {
diff --git a/packages/backend/src/core/remote/WebfingerService.ts b/packages/backend/src/core/WebfingerService.ts
similarity index 100%
rename from packages/backend/src/core/remote/WebfingerService.ts
rename to packages/backend/src/core/WebfingerService.ts
diff --git a/packages/backend/src/core/remote/activitypub/ApAudienceService.ts b/packages/backend/src/core/activitypub/ApAudienceService.ts
similarity index 100%
rename from packages/backend/src/core/remote/activitypub/ApAudienceService.ts
rename to packages/backend/src/core/activitypub/ApAudienceService.ts
diff --git a/packages/backend/src/core/remote/activitypub/ApDbResolverService.ts b/packages/backend/src/core/activitypub/ApDbResolverService.ts
similarity index 100%
rename from packages/backend/src/core/remote/activitypub/ApDbResolverService.ts
rename to packages/backend/src/core/activitypub/ApDbResolverService.ts
diff --git a/packages/backend/src/core/remote/activitypub/ApDeliverManagerService.ts b/packages/backend/src/core/activitypub/ApDeliverManagerService.ts
similarity index 100%
rename from packages/backend/src/core/remote/activitypub/ApDeliverManagerService.ts
rename to packages/backend/src/core/activitypub/ApDeliverManagerService.ts
diff --git a/packages/backend/src/core/remote/activitypub/ApInboxService.ts b/packages/backend/src/core/activitypub/ApInboxService.ts
similarity index 100%
rename from packages/backend/src/core/remote/activitypub/ApInboxService.ts
rename to packages/backend/src/core/activitypub/ApInboxService.ts
diff --git a/packages/backend/src/core/remote/activitypub/ApLoggerService.ts b/packages/backend/src/core/activitypub/ApLoggerService.ts
similarity index 80%
rename from packages/backend/src/core/remote/activitypub/ApLoggerService.ts
rename to packages/backend/src/core/activitypub/ApLoggerService.ts
index 82fd7c5f18..a742cc42da 100644
--- a/packages/backend/src/core/remote/activitypub/ApLoggerService.ts
+++ b/packages/backend/src/core/activitypub/ApLoggerService.ts
@@ -1,6 +1,6 @@
 import { Inject, Injectable } from '@nestjs/common';
 import type Logger from '@/logger.js';
-import { RemoteLoggerService } from '@/core/remote/RemoteLoggerService.js';
+import { RemoteLoggerService } from '@/core/RemoteLoggerService.js';
 
 @Injectable()
 export class ApLoggerService {
diff --git a/packages/backend/src/core/remote/activitypub/ApMfmService.ts b/packages/backend/src/core/activitypub/ApMfmService.ts
similarity index 100%
rename from packages/backend/src/core/remote/activitypub/ApMfmService.ts
rename to packages/backend/src/core/activitypub/ApMfmService.ts
diff --git a/packages/backend/src/core/remote/activitypub/ApRendererService.ts b/packages/backend/src/core/activitypub/ApRendererService.ts
similarity index 100%
rename from packages/backend/src/core/remote/activitypub/ApRendererService.ts
rename to packages/backend/src/core/activitypub/ApRendererService.ts
diff --git a/packages/backend/src/core/remote/activitypub/ApRequestService.ts b/packages/backend/src/core/activitypub/ApRequestService.ts
similarity index 100%
rename from packages/backend/src/core/remote/activitypub/ApRequestService.ts
rename to packages/backend/src/core/activitypub/ApRequestService.ts
diff --git a/packages/backend/src/core/remote/activitypub/ApResolverService.ts b/packages/backend/src/core/activitypub/ApResolverService.ts
similarity index 100%
rename from packages/backend/src/core/remote/activitypub/ApResolverService.ts
rename to packages/backend/src/core/activitypub/ApResolverService.ts
diff --git a/packages/backend/src/core/remote/activitypub/LdSignatureService.ts b/packages/backend/src/core/activitypub/LdSignatureService.ts
similarity index 100%
rename from packages/backend/src/core/remote/activitypub/LdSignatureService.ts
rename to packages/backend/src/core/activitypub/LdSignatureService.ts
diff --git a/packages/backend/src/core/remote/activitypub/misc/contexts.ts b/packages/backend/src/core/activitypub/misc/contexts.ts
similarity index 100%
rename from packages/backend/src/core/remote/activitypub/misc/contexts.ts
rename to packages/backend/src/core/activitypub/misc/contexts.ts
diff --git a/packages/backend/src/core/remote/activitypub/models/ApImageService.ts b/packages/backend/src/core/activitypub/models/ApImageService.ts
similarity index 100%
rename from packages/backend/src/core/remote/activitypub/models/ApImageService.ts
rename to packages/backend/src/core/activitypub/models/ApImageService.ts
diff --git a/packages/backend/src/core/remote/activitypub/models/ApMentionService.ts b/packages/backend/src/core/activitypub/models/ApMentionService.ts
similarity index 100%
rename from packages/backend/src/core/remote/activitypub/models/ApMentionService.ts
rename to packages/backend/src/core/activitypub/models/ApMentionService.ts
diff --git a/packages/backend/src/core/remote/activitypub/models/ApNoteService.ts b/packages/backend/src/core/activitypub/models/ApNoteService.ts
similarity index 100%
rename from packages/backend/src/core/remote/activitypub/models/ApNoteService.ts
rename to packages/backend/src/core/activitypub/models/ApNoteService.ts
diff --git a/packages/backend/src/core/remote/activitypub/models/ApPersonService.ts b/packages/backend/src/core/activitypub/models/ApPersonService.ts
similarity index 100%
rename from packages/backend/src/core/remote/activitypub/models/ApPersonService.ts
rename to packages/backend/src/core/activitypub/models/ApPersonService.ts
diff --git a/packages/backend/src/core/remote/activitypub/models/ApQuestionService.ts b/packages/backend/src/core/activitypub/models/ApQuestionService.ts
similarity index 100%
rename from packages/backend/src/core/remote/activitypub/models/ApQuestionService.ts
rename to packages/backend/src/core/activitypub/models/ApQuestionService.ts
diff --git a/packages/backend/src/core/remote/activitypub/models/icon.ts b/packages/backend/src/core/activitypub/models/icon.ts
similarity index 100%
rename from packages/backend/src/core/remote/activitypub/models/icon.ts
rename to packages/backend/src/core/activitypub/models/icon.ts
diff --git a/packages/backend/src/core/remote/activitypub/models/identifier.ts b/packages/backend/src/core/activitypub/models/identifier.ts
similarity index 100%
rename from packages/backend/src/core/remote/activitypub/models/identifier.ts
rename to packages/backend/src/core/activitypub/models/identifier.ts
diff --git a/packages/backend/src/core/remote/activitypub/models/tag.ts b/packages/backend/src/core/activitypub/models/tag.ts
similarity index 100%
rename from packages/backend/src/core/remote/activitypub/models/tag.ts
rename to packages/backend/src/core/activitypub/models/tag.ts
diff --git a/packages/backend/src/core/remote/activitypub/type.ts b/packages/backend/src/core/activitypub/type.ts
similarity index 100%
rename from packages/backend/src/core/remote/activitypub/type.ts
rename to packages/backend/src/core/activitypub/type.ts
diff --git a/packages/backend/src/core/chart/charts/active-users.ts b/packages/backend/src/core/chart/charts/active-users.ts
index 40c60910ea..6683d76587 100644
--- a/packages/backend/src/core/chart/charts/active-users.ts
+++ b/packages/backend/src/core/chart/charts/active-users.ts
@@ -5,7 +5,7 @@ import type { User } from '@/models/entities/User.js';
 import { DI } from '@/di-symbols.js';
 import Chart from '../core.js';
 import { ChartLoggerService } from '../ChartLoggerService.js';
-import { name, schema } from './entities/active-users.js';
+import { name, schema } from '@/core/entities/active-users.js';
 import type { KVs } from '../core.js';
 
 const week = 1000 * 60 * 60 * 24 * 7;
diff --git a/packages/backend/src/core/chart/charts/ap-request.ts b/packages/backend/src/core/chart/charts/ap-request.ts
index 4b91fbbf18..1de21a6a16 100644
--- a/packages/backend/src/core/chart/charts/ap-request.ts
+++ b/packages/backend/src/core/chart/charts/ap-request.ts
@@ -4,7 +4,7 @@ import { AppLockService } from '@/core/AppLockService.js';
 import { DI } from '@/di-symbols.js';
 import Chart from '../core.js';
 import { ChartLoggerService } from '../ChartLoggerService.js';
-import { name, schema } from './entities/ap-request.js';
+import { name, schema } from '@/core/entities/ap-request.js';
 import type { KVs } from '../core.js';
 
 /**
diff --git a/packages/backend/src/core/chart/charts/drive.ts b/packages/backend/src/core/chart/charts/drive.ts
index 494dfbbe57..638e31ac8d 100644
--- a/packages/backend/src/core/chart/charts/drive.ts
+++ b/packages/backend/src/core/chart/charts/drive.ts
@@ -5,7 +5,7 @@ import { AppLockService } from '@/core/AppLockService.js';
 import { DI } from '@/di-symbols.js';
 import Chart from '../core.js';
 import { ChartLoggerService } from '../ChartLoggerService.js';
-import { name, schema } from './entities/drive.js';
+import { name, schema } from '@/core/entities/drive.js';
 import type { KVs } from '../core.js';
 
 /**
diff --git a/packages/backend/src/core/chart/charts/federation.ts b/packages/backend/src/core/chart/charts/federation.ts
index 21e4cedea3..75a565cebc 100644
--- a/packages/backend/src/core/chart/charts/federation.ts
+++ b/packages/backend/src/core/chart/charts/federation.ts
@@ -6,7 +6,7 @@ import { DI } from '@/di-symbols.js';
 import { MetaService } from '@/core/MetaService.js';
 import Chart from '../core.js';
 import { ChartLoggerService } from '../ChartLoggerService.js';
-import { name, schema } from './entities/federation.js';
+import { name, schema } from '@/core/entities/federation.js';
 import type { KVs } from '../core.js';
 
 /**
diff --git a/packages/backend/src/core/chart/charts/hashtag.ts b/packages/backend/src/core/chart/charts/hashtag.ts
index 8b8c795cfd..ff83b8aa5d 100644
--- a/packages/backend/src/core/chart/charts/hashtag.ts
+++ b/packages/backend/src/core/chart/charts/hashtag.ts
@@ -6,7 +6,7 @@ import { DI } from '@/di-symbols.js';
 import { UserEntityService } from '@/core/entities/UserEntityService.js';
 import Chart from '../core.js';
 import { ChartLoggerService } from '../ChartLoggerService.js';
-import { name, schema } from './entities/hashtag.js';
+import { name, schema } from '@/core/entities/hashtag.js';
 import type { KVs } from '../core.js';
 
 /**
diff --git a/packages/backend/src/core/chart/charts/instance.ts b/packages/backend/src/core/chart/charts/instance.ts
index 2e0f4c7126..41a35a2123 100644
--- a/packages/backend/src/core/chart/charts/instance.ts
+++ b/packages/backend/src/core/chart/charts/instance.ts
@@ -8,7 +8,7 @@ import { DI } from '@/di-symbols.js';
 import { UtilityService } from '@/core/UtilityService.js';
 import Chart from '../core.js';
 import { ChartLoggerService } from '../ChartLoggerService.js';
-import { name, schema } from './entities/instance.js';
+import { name, schema } from '@/core/entities/instance.js';
 import type { KVs } from '../core.js';
 
 /**
diff --git a/packages/backend/src/core/chart/charts/notes.ts b/packages/backend/src/core/chart/charts/notes.ts
index 2153cfe4b4..083b0d5519 100644
--- a/packages/backend/src/core/chart/charts/notes.ts
+++ b/packages/backend/src/core/chart/charts/notes.ts
@@ -6,7 +6,7 @@ import { AppLockService } from '@/core/AppLockService.js';
 import { DI } from '@/di-symbols.js';
 import Chart from '../core.js';
 import { ChartLoggerService } from '../ChartLoggerService.js';
-import { name, schema } from './entities/notes.js';
+import { name, schema } from '@/core/entities/notes.js';
 import type { KVs } from '../core.js';
 
 /**
diff --git a/packages/backend/src/core/chart/charts/per-user-drive.ts b/packages/backend/src/core/chart/charts/per-user-drive.ts
index a44460bb4e..9b2e2d3b5a 100644
--- a/packages/backend/src/core/chart/charts/per-user-drive.ts
+++ b/packages/backend/src/core/chart/charts/per-user-drive.ts
@@ -7,7 +7,7 @@ import { DI } from '@/di-symbols.js';
 import { DriveFileEntityService } from '@/core/entities/DriveFileEntityService.js';
 import Chart from '../core.js';
 import { ChartLoggerService } from '../ChartLoggerService.js';
-import { name, schema } from './entities/per-user-drive.js';
+import { name, schema } from '@/core/entities/per-user-drive.js';
 import type { KVs } from '../core.js';
 
 /**
diff --git a/packages/backend/src/core/chart/charts/per-user-following.ts b/packages/backend/src/core/chart/charts/per-user-following.ts
index 5ea08a0872..6bd6f1a7dc 100644
--- a/packages/backend/src/core/chart/charts/per-user-following.ts
+++ b/packages/backend/src/core/chart/charts/per-user-following.ts
@@ -7,7 +7,7 @@ import { UserEntityService } from '@/core/entities/UserEntityService.js';
 import type { FollowingsRepository } from '@/models/index.js';
 import Chart from '../core.js';
 import { ChartLoggerService } from '../ChartLoggerService.js';
-import { name, schema } from './entities/per-user-following.js';
+import { name, schema } from '@/core/entities/per-user-following.js';
 import type { KVs } from '../core.js';
 
 /**
diff --git a/packages/backend/src/core/chart/charts/per-user-notes.ts b/packages/backend/src/core/chart/charts/per-user-notes.ts
index 5c14309d89..53bacd434a 100644
--- a/packages/backend/src/core/chart/charts/per-user-notes.ts
+++ b/packages/backend/src/core/chart/charts/per-user-notes.ts
@@ -7,7 +7,7 @@ import { DI } from '@/di-symbols.js';
 import type { NotesRepository } from '@/models/index.js';
 import Chart from '../core.js';
 import { ChartLoggerService } from '../ChartLoggerService.js';
-import { name, schema } from './entities/per-user-notes.js';
+import { name, schema } from '@/core/entities/per-user-notes.js';
 import type { KVs } from '../core.js';
 
 /**
diff --git a/packages/backend/src/core/chart/charts/per-user-reactions.ts b/packages/backend/src/core/chart/charts/per-user-reactions.ts
index 4160219720..78a7be0383 100644
--- a/packages/backend/src/core/chart/charts/per-user-reactions.ts
+++ b/packages/backend/src/core/chart/charts/per-user-reactions.ts
@@ -7,7 +7,7 @@ import { DI } from '@/di-symbols.js';
 import { UserEntityService } from '@/core/entities/UserEntityService.js';
 import Chart from '../core.js';
 import { ChartLoggerService } from '../ChartLoggerService.js';
-import { name, schema } from './entities/per-user-reactions.js';
+import { name, schema } from '@/core/entities/per-user-reactions.js';
 import type { KVs } from '../core.js';
 
 /**
diff --git a/packages/backend/src/core/chart/charts/test-grouped.ts b/packages/backend/src/core/chart/charts/test-grouped.ts
index bc215f3942..95585ec93e 100644
--- a/packages/backend/src/core/chart/charts/test-grouped.ts
+++ b/packages/backend/src/core/chart/charts/test-grouped.ts
@@ -4,7 +4,7 @@ import { AppLockService } from '@/core/AppLockService.js';
 import { DI } from '@/di-symbols.js';
 import Logger from '@/logger.js';
 import Chart from '../core.js';
-import { name, schema } from './entities/test-grouped.js';
+import { name, schema } from '@/core/entities/test-grouped.js';
 import type { KVs } from '../core.js';
 
 /**
diff --git a/packages/backend/src/core/chart/charts/test-intersection.ts b/packages/backend/src/core/chart/charts/test-intersection.ts
index a074a7dded..c404a211a5 100644
--- a/packages/backend/src/core/chart/charts/test-intersection.ts
+++ b/packages/backend/src/core/chart/charts/test-intersection.ts
@@ -4,7 +4,7 @@ import { AppLockService } from '@/core/AppLockService.js';
 import { DI } from '@/di-symbols.js';
 import Logger from '@/logger.js';
 import Chart from '../core.js';
-import { name, schema } from './entities/test-intersection.js';
+import { name, schema } from '@/core/entities/test-intersection.js';
 import type { KVs } from '../core.js';
 
 /**
diff --git a/packages/backend/src/core/chart/charts/test-unique.ts b/packages/backend/src/core/chart/charts/test-unique.ts
index 4d3e2f2403..5430db852b 100644
--- a/packages/backend/src/core/chart/charts/test-unique.ts
+++ b/packages/backend/src/core/chart/charts/test-unique.ts
@@ -4,7 +4,7 @@ import { AppLockService } from '@/core/AppLockService.js';
 import { DI } from '@/di-symbols.js';
 import Logger from '@/logger.js';
 import Chart from '../core.js';
-import { name, schema } from './entities/test-unique.js';
+import { name, schema } from '@/core/entities/test-unique.js';
 import type { KVs } from '../core.js';
 
 /**
diff --git a/packages/backend/src/core/chart/charts/test.ts b/packages/backend/src/core/chart/charts/test.ts
index 72caf79e0f..7510b533c2 100644
--- a/packages/backend/src/core/chart/charts/test.ts
+++ b/packages/backend/src/core/chart/charts/test.ts
@@ -4,7 +4,7 @@ import { AppLockService } from '@/core/AppLockService.js';
 import { DI } from '@/di-symbols.js';
 import Logger from '@/logger.js';
 import Chart from '../core.js';
-import { name, schema } from './entities/test.js';
+import { name, schema } from '@/core/entities/test.js';
 import type { KVs } from '../core.js';
 
 /**
diff --git a/packages/backend/src/core/chart/charts/users.ts b/packages/backend/src/core/chart/charts/users.ts
index f0359968eb..0731617354 100644
--- a/packages/backend/src/core/chart/charts/users.ts
+++ b/packages/backend/src/core/chart/charts/users.ts
@@ -7,7 +7,7 @@ import { UserEntityService } from '@/core/entities/UserEntityService.js';
 import type { UsersRepository } from '@/models/index.js';
 import Chart from '../core.js';
 import { ChartLoggerService } from '../ChartLoggerService.js';
-import { name, schema } from './entities/users.js';
+import { name, schema } from '@/core/entities/users.js';
 import type { KVs } from '../core.js';
 
 /**
diff --git a/packages/backend/src/core/entities/InstanceEntityService.ts b/packages/backend/src/core/entities/InstanceEntityService.ts
index c54285d9df..ebf6116f27 100644
--- a/packages/backend/src/core/entities/InstanceEntityService.ts
+++ b/packages/backend/src/core/entities/InstanceEntityService.ts
@@ -6,7 +6,7 @@ import type { Packed } from '@/misc/schema.js';
 import type { } from '@/models/entities/Blocking.js';
 import type { User } from '@/models/entities/User.js';
 import type { Instance } from '@/models/entities/Instance.js';
-import { MetaService } from '../MetaService.js';
+import { MetaService } from '.@/core/MetaService.js';
 import { UserEntityService } from './UserEntityService.js';
 
 @Injectable()
diff --git a/packages/backend/src/queue/processors/DeliverProcessorService.ts b/packages/backend/src/queue/processors/DeliverProcessorService.ts
index 9042a21d2c..2a4b201a7d 100644
--- a/packages/backend/src/queue/processors/DeliverProcessorService.ts
+++ b/packages/backend/src/queue/processors/DeliverProcessorService.ts
@@ -5,7 +5,7 @@ import type { DriveFilesRepository, InstancesRepository } from '@/models/index.j
 import type { Config } from '@/config.js';
 import type Logger from '@/logger.js';
 import { MetaService } from '@/core/MetaService.js';
-import { ApRequestService } from '@/core/remote/activitypub/ApRequestService.js';
+import { ApRequestService } from '@/core/activitypub/ApRequestService.js';
 import { FederatedInstanceService } from '@/core/FederatedInstanceService.js';
 import { FetchInstanceMetadataService } from '@/core/FetchInstanceMetadataService.js';
 import { Cache } from '@/misc/cache.js';
diff --git a/packages/backend/src/queue/processors/ImportBlockingProcessorService.ts b/packages/backend/src/queue/processors/ImportBlockingProcessorService.ts
index 6c6789cff4..9442a60d8d 100644
--- a/packages/backend/src/queue/processors/ImportBlockingProcessorService.ts
+++ b/packages/backend/src/queue/processors/ImportBlockingProcessorService.ts
@@ -5,7 +5,7 @@ import type { UsersRepository, BlockingsRepository, DriveFilesRepository } from
 import type { Config } from '@/config.js';
 import type Logger from '@/logger.js';
 import * as Acct from '@/misc/acct.js';
-import { ResolveUserService } from '@/core/remote/ResolveUserService.js';
+import { RemoteUserResolveService } from '@/core/RemoteUserResolveService.js';
 import { UserBlockingService } from '@/core/UserBlockingService.js';
 import { DownloadService } from '@/core/DownloadService.js';
 import { UtilityService } from '@/core/UtilityService.js';
@@ -32,7 +32,7 @@ export class ImportBlockingProcessorService {
 
 		private utilityService: UtilityService,
 		private userBlockingService: UserBlockingService,
-		private resolveUserService: ResolveUserService,
+		private remoteUserResolveService: RemoteUserResolveService,
 		private downloadService: DownloadService,
 		private queueLoggerService: QueueLoggerService,
 	) {
@@ -78,7 +78,7 @@ export class ImportBlockingProcessorService {
 				if (host == null && target == null) continue;
 
 				if (target == null) {
-					target = await this.resolveUserService.resolveUser(username, host);
+					target = await this.remoteUserResolveService.resolveUser(username, host);
 				}
 
 				if (target == null) {
diff --git a/packages/backend/src/queue/processors/ImportFollowingProcessorService.ts b/packages/backend/src/queue/processors/ImportFollowingProcessorService.ts
index 9f2e5e801a..667f7279fb 100644
--- a/packages/backend/src/queue/processors/ImportFollowingProcessorService.ts
+++ b/packages/backend/src/queue/processors/ImportFollowingProcessorService.ts
@@ -5,7 +5,7 @@ import type { UsersRepository, DriveFilesRepository } from '@/models/index.js';
 import type { Config } from '@/config.js';
 import type Logger from '@/logger.js';
 import * as Acct from '@/misc/acct.js';
-import { ResolveUserService } from '@/core/remote/ResolveUserService.js';
+import { RemoteUserResolveService } from '@/core/RemoteUserResolveService.js';
 import { DownloadService } from '@/core/DownloadService.js';
 import { UserFollowingService } from '@/core/UserFollowingService.js';
 import { UtilityService } from '@/core/UtilityService.js';
@@ -29,7 +29,7 @@ export class ImportFollowingProcessorService {
 
 		private utilityService: UtilityService,
 		private userFollowingService: UserFollowingService,
-		private resolveUserService: ResolveUserService,
+		private remoteUserResolveService: RemoteUserResolveService,
 		private downloadService: DownloadService,
 		private queueLoggerService: QueueLoggerService,
 	) {
@@ -75,7 +75,7 @@ export class ImportFollowingProcessorService {
 				if (host == null && target == null) continue;
 
 				if (target == null) {
-					target = await this.resolveUserService.resolveUser(username, host);
+					target = await this.remoteUserResolveService.resolveUser(username, host);
 				}
 
 				if (target == null) {
diff --git a/packages/backend/src/queue/processors/ImportMutingProcessorService.ts b/packages/backend/src/queue/processors/ImportMutingProcessorService.ts
index 62ad3b5c88..f3c16e73d5 100644
--- a/packages/backend/src/queue/processors/ImportMutingProcessorService.ts
+++ b/packages/backend/src/queue/processors/ImportMutingProcessorService.ts
@@ -5,7 +5,7 @@ import type { UsersRepository, DriveFilesRepository } from '@/models/index.js';
 import type { Config } from '@/config.js';
 import type Logger from '@/logger.js';
 import * as Acct from '@/misc/acct.js';
-import { ResolveUserService } from '@/core/remote/ResolveUserService.js';
+import { RemoteUserResolveService } from '@/core/RemoteUserResolveService.js';
 import { DownloadService } from '@/core/DownloadService.js';
 import { UserMutingService } from '@/core/UserMutingService.js';
 import { UtilityService } from '@/core/UtilityService.js';
@@ -29,7 +29,7 @@ export class ImportMutingProcessorService {
 
 		private utilityService: UtilityService,
 		private userMutingService: UserMutingService,
-		private resolveUserService: ResolveUserService,
+		private remoteUserResolveService: RemoteUserResolveService,
 		private downloadService: DownloadService,
 		private queueLoggerService: QueueLoggerService,
 	) {
@@ -75,7 +75,7 @@ export class ImportMutingProcessorService {
 				if (host == null && target == null) continue;
 
 				if (target == null) {
-					target = await this.resolveUserService.resolveUser(username, host);
+					target = await this.remoteUserResolveService.resolveUser(username, host);
 				}
 
 				if (target == null) {
diff --git a/packages/backend/src/queue/processors/ImportUserListsProcessorService.ts b/packages/backend/src/queue/processors/ImportUserListsProcessorService.ts
index f214d59e1c..1519877c5f 100644
--- a/packages/backend/src/queue/processors/ImportUserListsProcessorService.ts
+++ b/packages/backend/src/queue/processors/ImportUserListsProcessorService.ts
@@ -5,7 +5,7 @@ import type { UsersRepository, DriveFilesRepository, UserListJoiningsRepository,
 import type { Config } from '@/config.js';
 import type Logger from '@/logger.js';
 import * as Acct from '@/misc/acct.js';
-import { ResolveUserService } from '@/core/remote/ResolveUserService.js';
+import { RemoteUserResolveService } from '@/core/RemoteUserResolveService.js';
 import { DownloadService } from '@/core/DownloadService.js';
 import { UserListService } from '@/core/UserListService.js';
 import { IdService } from '@/core/IdService.js';
@@ -37,7 +37,7 @@ export class ImportUserListsProcessorService {
 		private utilityService: UtilityService,
 		private idService: IdService,
 		private userListService: UserListService,
-		private resolveUserService: ResolveUserService,
+		private remoteUserResolveService: RemoteUserResolveService,
 		private downloadService: DownloadService,
 		private queueLoggerService: QueueLoggerService,
 	) {
@@ -95,7 +95,7 @@ export class ImportUserListsProcessorService {
 				});
 
 				if (target == null) {
-					target = await this.resolveUserService.resolveUser(username, host);
+					target = await this.remoteUserResolveService.resolveUser(username, host);
 				}
 
 				if (await this.userListJoiningsRepository.findOneBy({ userListId: list!.id, userId: target.id }) != null) continue;
diff --git a/packages/backend/src/queue/processors/InboxProcessorService.ts b/packages/backend/src/queue/processors/InboxProcessorService.ts
index e8cd7dcaca..8f1c474020 100644
--- a/packages/backend/src/queue/processors/InboxProcessorService.ts
+++ b/packages/backend/src/queue/processors/InboxProcessorService.ts
@@ -7,7 +7,7 @@ import type { InstancesRepository, DriveFilesRepository } from '@/models/index.j
 import type { Config } from '@/config.js';
 import type Logger from '@/logger.js';
 import { MetaService } from '@/core/MetaService.js';
-import { ApRequestService } from '@/core/remote/activitypub/ApRequestService.js';
+import { ApRequestService } from '@/core/activitypub/ApRequestService.js';
 import { FederatedInstanceService } from '@/core/FederatedInstanceService.js';
 import { FetchInstanceMetadataService } from '@/core/FetchInstanceMetadataService.js';
 import { Cache } from '@/misc/cache.js';
@@ -15,15 +15,15 @@ import type { Instance } from '@/models/entities/Instance.js';
 import InstanceChart from '@/core/chart/charts/instance.js';
 import ApRequestChart from '@/core/chart/charts/ap-request.js';
 import FederationChart from '@/core/chart/charts/federation.js';
-import { getApId } from '@/core/remote/activitypub/type.js';
+import { getApId } from '@/core/activitypub/type.js';
 import type { CacheableRemoteUser } from '@/models/entities/User.js';
 import type { UserPublickey } from '@/models/entities/UserPublickey.js';
-import { ApDbResolverService } from '@/core/remote/activitypub/ApDbResolverService.js';
+import { ApDbResolverService } from '@/core/activitypub/ApDbResolverService.js';
 import { StatusError } from '@/misc/status-error.js';
 import { UtilityService } from '@/core/UtilityService.js';
-import { ApPersonService } from '@/core/remote/activitypub/models/ApPersonService.js';
-import { LdSignatureService } from '@/core/remote/activitypub/LdSignatureService.js';
-import { ApInboxService } from '@/core/remote/activitypub/ApInboxService.js';
+import { ApPersonService } from '@/core/activitypub/models/ApPersonService.js';
+import { LdSignatureService } from '@/core/activitypub/LdSignatureService.js';
+import { ApInboxService } from '@/core/activitypub/ApInboxService.js';
 import { QueueLoggerService } from '../QueueLoggerService.js';
 import type Bull from 'bull';
 import type { DeliverJobData, InboxJobData } from '../types.js';
diff --git a/packages/backend/src/queue/types.ts b/packages/backend/src/queue/types.ts
index 18ec997a1b..1214c9eb95 100644
--- a/packages/backend/src/queue/types.ts
+++ b/packages/backend/src/queue/types.ts
@@ -2,7 +2,7 @@ import type { DriveFile } from '@/models/entities/DriveFile.js';
 import type { Note } from '@/models/entities/Note.js';
 import type { User } from '@/models/entities/User.js';
 import type { Webhook } from '@/models/entities/Webhook.js';
-import type { IActivity } from '@/core/remote/activitypub/type.js';
+import type { IActivity } from '@/core/activitypub/type.js';
 import type httpSignature from '@peertube/http-signature';
 
 export type DeliverJobData = {
diff --git a/packages/backend/src/server/ActivityPubServerService.ts b/packages/backend/src/server/ActivityPubServerService.ts
index 9689a623fd..0ce2c9cd97 100644
--- a/packages/backend/src/server/ActivityPubServerService.ts
+++ b/packages/backend/src/server/ActivityPubServerService.ts
@@ -8,7 +8,7 @@ import { DI } from '@/di-symbols.js';
 import type { FollowingsRepository, NotesRepository, EmojisRepository, NoteReactionsRepository, UserProfilesRepository, UserNotePiningsRepository, UsersRepository } from '@/models/index.js';
 import * as url from '@/misc/prelude/url.js';
 import type { Config } from '@/config.js';
-import { ApRendererService } from '@/core/remote/activitypub/ApRendererService.js';
+import { ApRendererService } from '@/core/activitypub/ApRendererService.js';
 import { QueueService } from '@/core/QueueService.js';
 import type { ILocalUser, User } from '@/models/entities/User.js';
 import { UserKeypairStoreService } from '@/core/UserKeypairStoreService.js';
diff --git a/packages/backend/src/server/api/endpoints/admin/queue/deliver-delayed.ts b/packages/backend/src/server/api/endpoints/admin/queue/deliver-delayed.ts
index 526efa9f9d..9442bda5eb 100644
--- a/packages/backend/src/server/api/endpoints/admin/queue/deliver-delayed.ts
+++ b/packages/backend/src/server/api/endpoints/admin/queue/deliver-delayed.ts
@@ -1,7 +1,7 @@
 import { URL } from 'node:url';
 import { Inject, Injectable } from '@nestjs/common';
 import { Endpoint } from '@/server/api/endpoint-base.js';
-import type { DeliverQueue } from '@/core/queue/QueueModule.js';
+import type { DeliverQueue } from '@/core/QueueModule.js';
 
 export const meta = {
 	tags: ['admin'],
diff --git a/packages/backend/src/server/api/endpoints/admin/queue/inbox-delayed.ts b/packages/backend/src/server/api/endpoints/admin/queue/inbox-delayed.ts
index b8934428c3..55a3410d49 100644
--- a/packages/backend/src/server/api/endpoints/admin/queue/inbox-delayed.ts
+++ b/packages/backend/src/server/api/endpoints/admin/queue/inbox-delayed.ts
@@ -1,7 +1,7 @@
 import { URL } from 'node:url';
 import { Inject, Injectable } from '@nestjs/common';
 import { Endpoint } from '@/server/api/endpoint-base.js';
-import type { InboxQueue } from '@/core/queue/QueueModule.js';
+import type { InboxQueue } from '@/core/QueueModule.js';
 
 export const meta = {
 	tags: ['admin'],
diff --git a/packages/backend/src/server/api/endpoints/admin/queue/stats.ts b/packages/backend/src/server/api/endpoints/admin/queue/stats.ts
index 605ea3d042..7f3732c970 100644
--- a/packages/backend/src/server/api/endpoints/admin/queue/stats.ts
+++ b/packages/backend/src/server/api/endpoints/admin/queue/stats.ts
@@ -1,6 +1,6 @@
 import { Inject, Injectable } from '@nestjs/common';
 import { Endpoint } from '@/server/api/endpoint-base.js';
-import type { DbQueue, DeliverQueue, EndedPollNotificationQueue, InboxQueue, ObjectStorageQueue, SystemQueue, WebhookDeliverQueue } from '@/core/queue/QueueModule.js';
+import type { DbQueue, DeliverQueue, EndedPollNotificationQueue, InboxQueue, ObjectStorageQueue, SystemQueue, WebhookDeliverQueue } from '@/core/QueueModule.js';
 
 export const meta = {
 	tags: ['admin'],
diff --git a/packages/backend/src/server/api/endpoints/admin/resolve-abuse-user-report.ts b/packages/backend/src/server/api/endpoints/admin/resolve-abuse-user-report.ts
index a6e59276fb..cdaec13a3f 100644
--- a/packages/backend/src/server/api/endpoints/admin/resolve-abuse-user-report.ts
+++ b/packages/backend/src/server/api/endpoints/admin/resolve-abuse-user-report.ts
@@ -3,7 +3,7 @@ import { Endpoint } from '@/server/api/endpoint-base.js';
 import type { UsersRepository, AbuseUserReportsRepository } from '@/models/index.js';
 import { InstanceActorService } from '@/core/InstanceActorService.js';
 import { QueueService } from '@/core/QueueService.js';
-import { ApRendererService } from '@/core/remote/activitypub/ApRendererService.js';
+import { ApRendererService } from '@/core/activitypub/ApRendererService.js';
 import { DI } from '@/di-symbols.js';
 
 export const meta = {
diff --git a/packages/backend/src/server/api/endpoints/ap/get.ts b/packages/backend/src/server/api/endpoints/ap/get.ts
index 3d4c85e50b..8bafb3b122 100644
--- a/packages/backend/src/server/api/endpoints/ap/get.ts
+++ b/packages/backend/src/server/api/endpoints/ap/get.ts
@@ -1,7 +1,7 @@
 import { Inject, Injectable } from '@nestjs/common';
 import ms from 'ms';
 import { Endpoint } from '@/server/api/endpoint-base.js';
-import { ApResolverService } from '@/core/remote/activitypub/ApResolverService.js';
+import { ApResolverService } from '@/core/activitypub/ApResolverService.js';
 import { ApiError } from '../../error.js';
 
 export const meta = {
diff --git a/packages/backend/src/server/api/endpoints/ap/show.ts b/packages/backend/src/server/api/endpoints/ap/show.ts
index 0a5fc31751..c218ec4642 100644
--- a/packages/backend/src/server/api/endpoints/ap/show.ts
+++ b/packages/backend/src/server/api/endpoints/ap/show.ts
@@ -4,13 +4,13 @@ import { Endpoint } from '@/server/api/endpoint-base.js';
 import type { UsersRepository, NotesRepository } from '@/models/index.js';
 import type { Note } from '@/models/entities/Note.js';
 import type { CacheableLocalUser, User } from '@/models/entities/User.js';
-import { isActor, isPost, getApId } from '@/core/remote/activitypub/type.js';
+import { isActor, isPost, getApId } from '@/core/activitypub/type.js';
 import type { SchemaType } from '@/misc/schema.js';
-import { ApResolverService } from '@/core/remote/activitypub/ApResolverService.js';
-import { ApDbResolverService } from '@/core/remote/activitypub/ApDbResolverService.js';
+import { ApResolverService } from '@/core/activitypub/ApResolverService.js';
+import { ApDbResolverService } from '@/core/activitypub/ApDbResolverService.js';
 import { MetaService } from '@/core/MetaService.js';
-import { ApPersonService } from '@/core/remote/activitypub/models/ApPersonService.js';
-import { ApNoteService } from '@/core/remote/activitypub/models/ApNoteService.js';
+import { ApPersonService } from '@/core/activitypub/models/ApPersonService.js';
+import { ApNoteService } from '@/core/activitypub/models/ApNoteService.js';
 import { UserEntityService } from '@/core/entities/UserEntityService.js';
 import { NoteEntityService } from '@/core/entities/NoteEntityService.js';
 import { UtilityService } from '@/core/UtilityService.js';
diff --git a/packages/backend/src/server/api/endpoints/federation/update-remote-user.ts b/packages/backend/src/server/api/endpoints/federation/update-remote-user.ts
index 30e77aab45..c19252f198 100644
--- a/packages/backend/src/server/api/endpoints/federation/update-remote-user.ts
+++ b/packages/backend/src/server/api/endpoints/federation/update-remote-user.ts
@@ -1,6 +1,6 @@
 import { Inject, Injectable } from '@nestjs/common';
 import { Endpoint } from '@/server/api/endpoint-base.js';
-import { ApPersonService } from '@/core/remote/activitypub/models/ApPersonService.js';
+import { ApPersonService } from '@/core/activitypub/models/ApPersonService.js';
 import { GetterService } from '@/server/api/GetterService.js';
 
 export const meta = {
diff --git a/packages/backend/src/server/api/endpoints/notes/polls/vote.ts b/packages/backend/src/server/api/endpoints/notes/polls/vote.ts
index 6b3b062c15..793d7c5408 100644
--- a/packages/backend/src/server/api/endpoints/notes/polls/vote.ts
+++ b/packages/backend/src/server/api/endpoints/notes/polls/vote.ts
@@ -7,7 +7,7 @@ import { Endpoint } from '@/server/api/endpoint-base.js';
 import { GetterService } from '@/server/api/GetterService.js';
 import { QueueService } from '@/core/QueueService.js';
 import { PollService } from '@/core/PollService.js';
-import { ApRendererService } from '@/core/remote/activitypub/ApRendererService.js';
+import { ApRendererService } from '@/core/activitypub/ApRendererService.js';
 import { GlobalEventService } from '@/core/GlobalEventService.js';
 import { CreateNotificationService } from '@/core/CreateNotificationService.js';
 import { DI } from '@/di-symbols.js';
diff --git a/packages/backend/src/server/api/endpoints/users/show.ts b/packages/backend/src/server/api/endpoints/users/show.ts
index 1e15025bf4..7932d5cd12 100644
--- a/packages/backend/src/server/api/endpoints/users/show.ts
+++ b/packages/backend/src/server/api/endpoints/users/show.ts
@@ -4,7 +4,7 @@ import type { UsersRepository } from '@/models/index.js';
 import type { User } from '@/models/entities/User.js';
 import { Endpoint } from '@/server/api/endpoint-base.js';
 import { UserEntityService } from '@/core/entities/UserEntityService.js';
-import { ResolveUserService } from '@/core/remote/ResolveUserService.js';
+import { RemoteUserResolveService } from '@/core/RemoteUserResolveService.js';
 import { DI } from '@/di-symbols.js';
 import { ApiError } from '../../error.js';
 import { ApiLoggerService } from '../../ApiLoggerService.js';
@@ -89,7 +89,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> {
 		private usersRepository: UsersRepository,
 
 		private userEntityService: UserEntityService,
-		private resolveUserService: ResolveUserService,
+		private remoteUserResolveService: RemoteUserResolveService,
 		private apiLoggerService: ApiLoggerService,
 	) {
 		super(meta, paramDef, async (ps, me) => {
@@ -121,7 +121,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> {
 			} else {
 				// Lookup user
 				if (typeof ps.host === 'string' && typeof ps.username === 'string') {
-					user = await this.resolveUserService.resolveUser(ps.username, ps.host).catch(err => {
+					user = await this.remoteUserResolveService.resolveUser(ps.username, ps.host).catch(err => {
 						this.apiLoggerService.logger.warn(`failed to resolve remote user: ${err}`);
 						throw new ApiError(meta.errors.failedToResolveRemoteUser);
 					});
diff --git a/packages/backend/src/server/web/ClientServerService.ts b/packages/backend/src/server/web/ClientServerService.ts
index 4c3f2bfd36..3fcf8b7c0d 100644
--- a/packages/backend/src/server/web/ClientServerService.ts
+++ b/packages/backend/src/server/web/ClientServerService.ts
@@ -14,7 +14,7 @@ import { getNoteSummary } from '@/misc/get-note-summary.js';
 import { DI } from '@/di-symbols.js';
 import * as Acct from '@/misc/acct.js';
 import { MetaService } from '@/core/MetaService.js';
-import type { DbQueue, DeliverQueue, EndedPollNotificationQueue, InboxQueue, ObjectStorageQueue, SystemQueue, WebhookDeliverQueue } from '@/core/queue/QueueModule.js';
+import type { DbQueue, DeliverQueue, EndedPollNotificationQueue, InboxQueue, ObjectStorageQueue, SystemQueue, WebhookDeliverQueue } from '@/core/QueueModule.js';
 import { UserEntityService } from '@/core/entities/UserEntityService.js';
 import { NoteEntityService } from '@/core/entities/NoteEntityService.js';
 import { PageEntityService } from '@/core/entities/PageEntityService.js';
diff --git a/packages/backend/test/misc/mock-resolver.ts b/packages/backend/test/misc/mock-resolver.ts
index ba89ac329a..cad4d8af6c 100644
--- a/packages/backend/test/misc/mock-resolver.ts
+++ b/packages/backend/test/misc/mock-resolver.ts
@@ -1,5 +1,5 @@
-import Resolver from '../../src/remote/activitypub/resolver.js';
-import { IObject } from '../../src/remote/activitypub/type.js';
+import Resolver from '../../src/activitypub/resolver.js';
+import { IObject } from '../../src/activitypub/type.js';
 
 type MockResponse = {
 	type: string;
diff --git a/packages/backend/test/tests/activitypub.ts b/packages/backend/test/tests/activitypub.ts
index 6f549ca9c2..08ec0a59ea 100644
--- a/packages/backend/test/tests/activitypub.ts
+++ b/packages/backend/test/tests/activitypub.ts
@@ -29,7 +29,7 @@ describe('ActivityPub', () => {
 
 		it('Minimum Actor', async () => {
 			const { MockResolver } = await import('../misc/mock-resolver.js');
-			const { createPerson } = await import('../../src/remote/activitypub/models/person.js');
+			const { createPerson } = await import('../../src/activitypub/models/person.js');
 
 			const resolver = new MockResolver();
 			resolver._register(actor.id, actor);
@@ -43,7 +43,7 @@ describe('ActivityPub', () => {
 
 		it('Minimum Note', async () => {
 			const { MockResolver } = await import('../misc/mock-resolver.js');
-			const { createNote } = await import('../../src/remote/activitypub/models/note.js');
+			const { createNote } = await import('../../src/activitypub/models/note.js');
 
 			const resolver = new MockResolver();
 			resolver._register(actor.id, actor);
@@ -76,7 +76,7 @@ describe('ActivityPub', () => {
 
 		it('Actor', async () => {
 			const { MockResolver } = await import('../misc/mock-resolver.js');
-			const { createPerson } = await import('../../src/remote/activitypub/models/person.js');
+			const { createPerson } = await import('../../src/activitypub/models/person.js');
 
 			const resolver = new MockResolver();
 			resolver._register(actor.id, actor);
diff --git a/packages/backend/test/tests/ap-request.ts b/packages/backend/test/tests/ap-request.ts
index 299df9be32..d628f03f44 100644
--- a/packages/backend/test/tests/ap-request.ts
+++ b/packages/backend/test/tests/ap-request.ts
@@ -1,7 +1,7 @@
 import * as assert from 'assert';
 import httpSignature from '@peertube/http-signature';
 import { genRsaKeyPair } from '../../src/misc/gen-key-pair.js';
-import { createSignedPost, createSignedGet } from '../../src/remote/activitypub/ap-request.js';
+import { createSignedPost, createSignedGet } from '../../src/activitypub/ap-request.js';
 
 export const buildParsedSignature = (signingString: string, signature: string, algorithm: string) => {
 	return {
diff --git a/packages/backend/test/unit/RelayService.ts b/packages/backend/test/unit/RelayService.ts
index bb555648e9..5f87fea7aa 100644
--- a/packages/backend/test/unit/RelayService.ts
+++ b/packages/backend/test/unit/RelayService.ts
@@ -5,7 +5,7 @@ import { ModuleMocker } from 'jest-mock';
 import { Test } from '@nestjs/testing';
 import { GlobalModule } from '@/GlobalModule.js';
 import { RelayService } from '@/core/RelayService.js';
-import { ApRendererService } from '@/core/remote/activitypub/ApRendererService.js';
+import { ApRendererService } from '@/core/activitypub/ApRendererService.js';
 import { CreateSystemUserService } from '@/core/CreateSystemUserService.js';
 import { QueueService } from '@/core/QueueService.js';
 import { IdService } from '@/core/IdService.js';