diff --git a/bun.lock b/bun.lock index b18c8d74d..9e6cef9b1 100644 --- a/bun.lock +++ b/bun.lock @@ -26,11 +26,11 @@ }, }, "packages/core": { - "name": "@hs/core", + "name": "@rocket.chat/federation-core", "version": "1.0.50", "dependencies": { - "@hs/crypto": "workspace:*", - "@hs/room": "workspace:*", + "@rocket.chat/federation-crypto": "workspace:*", + "@rocket.chat/federation-room": "workspace:*", }, "devDependencies": { "bun-types": "latest", @@ -40,7 +40,7 @@ }, }, "packages/crypto": { - "name": "@hs/crypto", + "name": "@rocket.chat/federation-crypto", "version": "0.0.1", "dependencies": { "@noble/ed25519": "^3.0.0", @@ -50,12 +50,13 @@ }, }, "packages/federation-sdk": { - "name": "@hs/federation-sdk", + "name": "@rocket.chat/federation-sdk", "version": "0.1.0", "dependencies": { - "@hs/core": "workspace:*", - "@hs/room": "workspace:*", "@rocket.chat/emitter": "^0.31.25", + "@rocket.chat/federation-core": "workspace:*", + "@rocket.chat/federation-crypto": "workspace:*", + "@rocket.chat/federation-room": "workspace:*", "mongodb": "^6.16.0", "reflect-metadata": "^0.2.2", "tsyringe": "^4.10.0", @@ -67,16 +68,16 @@ }, }, "packages/homeserver": { - "name": "@hs/homeserver", + "name": "@rocket.chat/homeserver", "version": "1.0.50", "dependencies": { "@bogeychan/elysia-etag": "^0.0.6", "@bogeychan/elysia-logger": "^0.1.4", "@elysiajs/swagger": "^1.3.0", - "@hs/core": "workspace:*", - "@hs/federation-sdk": "workspace:*", - "@hs/room": "workspace:*", "@rocket.chat/emitter": "^0.31.25", + "@rocket.chat/federation-core": "workspace:*", + "@rocket.chat/federation-room": "workspace:*", + "@rocket.chat/federation-sdk": "workspace:*", "elysia": "^1.1.26", "mongodb": "^6.16.0", "tsyringe": "^4.10.0", @@ -86,11 +87,11 @@ }, }, "packages/room": { - "name": "@hs/room", + "name": "@rocket.chat/federation-room", "version": "1.0.50", "dependencies": { "@datastructures-js/priority-queue": "^6.3.3", - "@hs/crypto": "workspace:*", + "@rocket.chat/federation-crypto": "workspace:*", "zod": "^3.22.4", }, "devDependencies": { @@ -129,16 +130,6 @@ "@elysiajs/swagger": ["@elysiajs/swagger@1.3.1", "", { "dependencies": { "@scalar/themes": "^0.9.52", "@scalar/types": "^0.0.12", "openapi-types": "^12.1.3", "pathe": "^1.1.2" }, "peerDependencies": { "elysia": ">= 1.3.0" } }, "sha512-LcbLHa0zE6FJKWPWKsIC/f+62wbDv3aXydqcNPVPyqNcaUgwvCajIi+5kHEU6GO3oXUCpzKaMsb3gsjt8sLzFQ=="], - "@hs/core": ["@hs/core@workspace:packages/core"], - - "@hs/crypto": ["@hs/crypto@workspace:packages/crypto"], - - "@hs/federation-sdk": ["@hs/federation-sdk@workspace:packages/federation-sdk"], - - "@hs/homeserver": ["@hs/homeserver@workspace:packages/homeserver"], - - "@hs/room": ["@hs/room@workspace:packages/room"], - "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="], "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.4", "", {}, "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw=="], @@ -151,6 +142,16 @@ "@rocket.chat/emitter": ["@rocket.chat/emitter@0.31.25", "", {}, "sha512-hw5BpDlNwpYSb+K5X3DNMNUVEVXxmXugUPetGZGCWvntSVFsOjYuVEypoKW6vBBXSfqCBb0kN1npYcKEb4NFBw=="], + "@rocket.chat/federation-core": ["@rocket.chat/federation-core@workspace:packages/core"], + + "@rocket.chat/federation-crypto": ["@rocket.chat/federation-crypto@workspace:packages/crypto"], + + "@rocket.chat/federation-room": ["@rocket.chat/federation-room@workspace:packages/room"], + + "@rocket.chat/federation-sdk": ["@rocket.chat/federation-sdk@workspace:packages/federation-sdk"], + + "@rocket.chat/homeserver": ["@rocket.chat/homeserver@workspace:packages/homeserver"], + "@scalar/openapi-types": ["@scalar/openapi-types@0.1.1", "", {}, "sha512-NMy3QNk6ytcCoPUGJH0t4NNr36OWXgZhA3ormr3TvhX1NDgoF95wFyodGVH8xiHeUyn2/FxtETm8UBLbB5xEmg=="], "@scalar/themes": ["@scalar/themes@0.9.86", "", { "dependencies": { "@scalar/types": "0.1.7" } }, "sha512-QUHo9g5oSWi+0Lm1vJY9TaMZRau8LHg+vte7q5BVTBnu6NuQfigCaN+ouQ73FqIVd96TwMO6Db+dilK1B+9row=="], @@ -231,7 +232,7 @@ "bson": ["bson@6.10.4", "", {}, "sha512-WIsKqkSC0ABoBJuT1LEX+2HEvNmNKKgnTAyd0fL8qzK4SH2i9NXg+t08YtdZp/V9IZ33cxe3iV4yM0qg8lMQng=="], - "bun-types": ["bun-types@1.2.21", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-sa2Tj77Ijc/NTLS0/Odjq/qngmEPZfbfnOERi0KRUYhT9R8M4VBioWVmMWE5GrYbKMc+5lVybXygLdibHaqVqw=="], + "bun-types": ["bun-types@1.2.22", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-hwaAu8tct/Zn6Zft4U9BsZcXkYomzpHJX28ofvx7k0Zz2HNz54n1n+tDgxoWFGB4PcFvJXJQloPhaV2eP3Q6EA=="], "chalk": ["chalk@5.4.1", "", {}, "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w=="], @@ -491,8 +492,6 @@ "zod": ["zod@3.25.71", "", {}, "sha512-BsBc/NPk7h8WsUWYWYL+BajcJPY8YhjelaWu2NMLuzgraKAz4Lb4/6K11g9jpuDetjMiqhZ6YaexFLOC0Ogi3Q=="], - "@hs/crypto/bun-types": ["bun-types@1.2.22", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-hwaAu8tct/Zn6Zft4U9BsZcXkYomzpHJX28ofvx7k0Zz2HNz54n1n+tDgxoWFGB4PcFvJXJQloPhaV2eP3Q6EA=="], - "@scalar/themes/@scalar/types": ["@scalar/types@0.1.7", "", { "dependencies": { "@scalar/openapi-types": "0.2.0", "@unhead/schema": "^1.11.11", "nanoid": "^5.1.5", "type-fest": "^4.20.0", "zod": "^3.23.8" } }, "sha512-irIDYzTQG2KLvFbuTI8k2Pz/R4JR+zUUSykVTbEMatkzMmVFnn1VzNSMlODbadycwZunbnL2tA27AXed9URVjw=="], "@sinonjs/samsam/type-detect": ["type-detect@4.1.0", "", {}, "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw=="], diff --git a/packages/core/package.json b/packages/core/package.json index 2eab2537a..8788a920f 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,5 +1,5 @@ { - "name": "@hs/core", + "name": "@rocket.chat/federation-core", "version": "1.0.50", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", @@ -17,8 +17,8 @@ }, "files": ["./src", "./dist"], "dependencies": { - "@hs/crypto": "workspace:*", - "@hs/room": "workspace:*" + "@rocket.chat/federation-crypto": "workspace:*", + "@rocket.chat/federation-room": "workspace:*" }, "devDependencies": { "bun-types": "latest", diff --git a/packages/core/src/events/eventBase.ts b/packages/core/src/events/eventBase.ts index b0e30719e..f37f3719a 100644 --- a/packages/core/src/events/eventBase.ts +++ b/packages/core/src/events/eventBase.ts @@ -1,5 +1,5 @@ -import { Pdu, PduForType } from '@hs/room'; -import type { EventID } from '@hs/room'; +import { Pdu, PduForType } from '@rocket.chat/federation-room'; +import type { EventID } from '@rocket.chat/federation-room'; export type EventBase = { auth_events: EventID[]; diff --git a/packages/core/src/events/isRoomMemberEvent.ts b/packages/core/src/events/isRoomMemberEvent.ts index 545e91d20..36a2ddc4f 100644 --- a/packages/core/src/events/isRoomMemberEvent.ts +++ b/packages/core/src/events/isRoomMemberEvent.ts @@ -1,4 +1,4 @@ -import { Pdu } from '@hs/room'; +import { Pdu } from '@rocket.chat/federation-room'; import type { EventBase } from './eventBase'; export type JoinRule = diff --git a/packages/core/src/events/m.reaction.ts b/packages/core/src/events/m.reaction.ts index 9ce1c18fe..30ad68ed5 100644 --- a/packages/core/src/events/m.reaction.ts +++ b/packages/core/src/events/m.reaction.ts @@ -1,4 +1,4 @@ -import type { EventID } from '@hs/room'; +import type { EventID } from '@rocket.chat/federation-room'; import { type EventBase, createEventBase } from './eventBase'; import { createEventWithId } from './utils/createSignedEvent'; diff --git a/packages/core/src/events/m.room.create.spec.ts b/packages/core/src/events/m.room.create.spec.ts index 08dea6017..38658e284 100644 --- a/packages/core/src/events/m.room.create.spec.ts +++ b/packages/core/src/events/m.room.create.spec.ts @@ -1,6 +1,9 @@ import { expect, test } from 'bun:test'; -import { PersistentEventFactory, RoomVersion } from '@hs/room'; +import { + PersistentEventFactory, + RoomVersion, +} from '@rocket.chat/federation-room'; import type { SignedEvent } from '../types'; import { generateId } from '../utils/generateId'; import { generateKeyPairsFromString } from '../utils/keys'; diff --git a/packages/core/src/events/m.room.guest_access.spec.ts b/packages/core/src/events/m.room.guest_access.spec.ts index ba2be7b96..7268a3c1b 100644 --- a/packages/core/src/events/m.room.guest_access.spec.ts +++ b/packages/core/src/events/m.room.guest_access.spec.ts @@ -1,6 +1,6 @@ import { expect, test } from 'bun:test'; -import { generateId } from '@hs/core'; +import { generateId } from '@rocket.chat/federation-core'; import { generateKeyPairsFromString } from '../utils/keys'; import { signEvent } from '../utils/signEvent'; import { roomGuestAccessEvent } from './m.room.guest_access'; diff --git a/packages/core/src/events/m.room.guest_access.ts b/packages/core/src/events/m.room.guest_access.ts index 572d7f871..03d5368ff 100644 --- a/packages/core/src/events/m.room.guest_access.ts +++ b/packages/core/src/events/m.room.guest_access.ts @@ -1,4 +1,4 @@ -import { EventID } from '@hs/room'; +import { EventID } from '@rocket.chat/federation-room'; import { type EventBase, createEventBase } from './eventBase'; import { createEventWithId } from './utils/createSignedEvent'; diff --git a/packages/core/src/events/m.room.history_visibility.spec.ts b/packages/core/src/events/m.room.history_visibility.spec.ts index b8a46280a..386986b89 100644 --- a/packages/core/src/events/m.room.history_visibility.spec.ts +++ b/packages/core/src/events/m.room.history_visibility.spec.ts @@ -1,6 +1,6 @@ import { expect, test } from 'bun:test'; -import { generateId } from '@hs/core'; +import { generateId } from '@rocket.chat/federation-core'; import { generateKeyPairsFromString } from '../utils/keys'; import { signEvent } from '../utils/signEvent'; import { roomHistoryVisibilityEvent } from './m.room.history_visibility'; diff --git a/packages/core/src/events/m.room.history_visibility.ts b/packages/core/src/events/m.room.history_visibility.ts index 78a0b7411..14c640efc 100644 --- a/packages/core/src/events/m.room.history_visibility.ts +++ b/packages/core/src/events/m.room.history_visibility.ts @@ -1,4 +1,4 @@ -import { EventID } from '@hs/room'; +import { EventID } from '@rocket.chat/federation-room'; import { type EventBase, createEventBase } from './eventBase'; import { createEventWithId } from './utils/createSignedEvent'; diff --git a/packages/core/src/events/m.room.join_rules.ts b/packages/core/src/events/m.room.join_rules.ts index b209c152a..1b3832da1 100644 --- a/packages/core/src/events/m.room.join_rules.ts +++ b/packages/core/src/events/m.room.join_rules.ts @@ -1,4 +1,4 @@ -import { EventID } from '@hs/room'; +import { EventID } from '@rocket.chat/federation-room'; import { type EventBase, createEventBase } from './eventBase'; import { createEventWithId } from './utils/createSignedEvent'; diff --git a/packages/core/src/events/m.room.member-invite.spec.ts b/packages/core/src/events/m.room.member-invite.spec.ts index 1f9ae2e10..daec16be1 100644 --- a/packages/core/src/events/m.room.member-invite.spec.ts +++ b/packages/core/src/events/m.room.member-invite.spec.ts @@ -1,6 +1,6 @@ import { expect, test } from 'bun:test'; -import { generateId } from '@hs/core'; +import { generateId } from '@rocket.chat/federation-core'; import { generateKeyPairsFromString } from '../utils/keys'; import { signEvent } from '../utils/signEvent'; import { roomMemberEvent } from './m.room.member'; diff --git a/packages/core/src/events/m.room.member.ts b/packages/core/src/events/m.room.member.ts index 92c5b6103..571662b44 100644 --- a/packages/core/src/events/m.room.member.ts +++ b/packages/core/src/events/m.room.member.ts @@ -1,4 +1,4 @@ -import { EventID } from '@hs/room'; +import { EventID } from '@rocket.chat/federation-room'; import { createEventBase } from './eventBase'; import type { Membership, RoomMemberEvent } from './isRoomMemberEvent'; import { createEventWithId } from './utils/createSignedEvent'; diff --git a/packages/core/src/events/m.room.message.ts b/packages/core/src/events/m.room.message.ts index 524e63c4c..d4a18dd93 100644 --- a/packages/core/src/events/m.room.message.ts +++ b/packages/core/src/events/m.room.message.ts @@ -1,4 +1,4 @@ -import type { EventID } from '@hs/room'; +import type { EventID } from '@rocket.chat/federation-room'; import { type EventBase, createEventBase } from './eventBase'; import { createEventWithId } from './utils/createSignedEvent'; diff --git a/packages/core/src/events/m.room.name.spec.ts b/packages/core/src/events/m.room.name.spec.ts index 600f92a5b..cdb24872b 100644 --- a/packages/core/src/events/m.room.name.spec.ts +++ b/packages/core/src/events/m.room.name.spec.ts @@ -1,6 +1,6 @@ import { describe, expect, test } from 'bun:test'; -import { generateId } from '@hs/core'; +import { generateId } from '@rocket.chat/federation-core'; import type { SignedEvent } from '../types'; import { generateKeyPairsFromString } from '../utils/keys'; import { signEvent } from '../utils/signEvent'; diff --git a/packages/core/src/events/m.room.name.ts b/packages/core/src/events/m.room.name.ts index 1bb91f636..0ee459704 100644 --- a/packages/core/src/events/m.room.name.ts +++ b/packages/core/src/events/m.room.name.ts @@ -1,4 +1,4 @@ -import { EventID } from '@hs/room'; +import { EventID } from '@rocket.chat/federation-room'; import { type EventBase, createEventBase } from './eventBase'; import { createEventWithId } from './utils/createSignedEvent'; diff --git a/packages/core/src/events/m.room.power_levels.spec.ts b/packages/core/src/events/m.room.power_levels.spec.ts index b42f077f9..6c10f5fde 100644 --- a/packages/core/src/events/m.room.power_levels.spec.ts +++ b/packages/core/src/events/m.room.power_levels.spec.ts @@ -1,6 +1,6 @@ import { expect, test } from 'bun:test'; -import { generateId } from '@hs/core'; +import { generateId } from '@rocket.chat/federation-core'; import type { SignedEvent } from '../types'; import { generateKeyPairsFromString } from '../utils/keys'; import { signEvent } from '../utils/signEvent'; diff --git a/packages/core/src/events/m.room.power_levels.ts b/packages/core/src/events/m.room.power_levels.ts index b4a6e2934..81d025a82 100644 --- a/packages/core/src/events/m.room.power_levels.ts +++ b/packages/core/src/events/m.room.power_levels.ts @@ -1,4 +1,4 @@ -import { EventID } from '@hs/room'; +import { EventID } from '@rocket.chat/federation-room'; import { type EventBase, createEventBase } from './eventBase'; import { createEventWithId } from './utils/createSignedEvent'; diff --git a/packages/core/src/events/m.room.redaction.spec.ts b/packages/core/src/events/m.room.redaction.spec.ts index 87af177c5..717350796 100644 --- a/packages/core/src/events/m.room.redaction.spec.ts +++ b/packages/core/src/events/m.room.redaction.spec.ts @@ -1,6 +1,6 @@ import { expect, test } from 'bun:test'; -import { generateId } from '@hs/core'; +import { generateId } from '@rocket.chat/federation-core'; import { generateKeyPairsFromString } from '../utils/keys'; import { signEvent } from '../utils/signEvent'; import type { EventBase } from './eventBase'; diff --git a/packages/core/src/events/m.room.redaction.ts b/packages/core/src/events/m.room.redaction.ts index c0dfbacd3..0389978fc 100644 --- a/packages/core/src/events/m.room.redaction.ts +++ b/packages/core/src/events/m.room.redaction.ts @@ -1,4 +1,4 @@ -import { EventID } from '@hs/room'; +import { EventID } from '@rocket.chat/federation-room'; import { type EventBase, createEventBase } from './eventBase'; import { createEventWithId } from './utils/createSignedEvent'; diff --git a/packages/core/src/events/m.room.tombstone.spec.ts b/packages/core/src/events/m.room.tombstone.spec.ts index fe78cd305..9d5188d1a 100644 --- a/packages/core/src/events/m.room.tombstone.spec.ts +++ b/packages/core/src/events/m.room.tombstone.spec.ts @@ -1,5 +1,5 @@ import { describe, expect, test } from 'bun:test'; -import { generateId } from '@hs/core'; +import { generateId } from '@rocket.chat/federation-core'; import { generateKeyPairsFromString } from '../utils/keys'; import { signEvent } from '../utils/signEvent'; import type { EventBase } from './eventBase'; diff --git a/packages/core/src/events/m.room.tombstone.ts b/packages/core/src/events/m.room.tombstone.ts index a793b852a..6b4769b89 100644 --- a/packages/core/src/events/m.room.tombstone.ts +++ b/packages/core/src/events/m.room.tombstone.ts @@ -1,4 +1,4 @@ -import { EventID } from '@hs/room'; +import { EventID } from '@rocket.chat/federation-room'; import { type EventBase, createEventBase } from './eventBase'; import { createEventWithId } from './utils/createSignedEvent'; diff --git a/packages/core/src/events/pdu.ts b/packages/core/src/events/pdu.ts index f64ab41b4..2617cd18b 100644 --- a/packages/core/src/events/pdu.ts +++ b/packages/core/src/events/pdu.ts @@ -1,4 +1,4 @@ -import { Pdu } from '@hs/room'; +import { Pdu } from '@rocket.chat/federation-room'; import type { EventBase } from './eventBase'; /** diff --git a/packages/core/src/models/event.model.ts b/packages/core/src/models/event.model.ts index 34b2b6885..62b6b9b4e 100644 --- a/packages/core/src/models/event.model.ts +++ b/packages/core/src/models/event.model.ts @@ -1,4 +1,4 @@ -import { EventID, Pdu, PduForType } from '@hs/room'; +import { EventID, Pdu, PduForType } from '@rocket.chat/federation-room'; import type { EventBase as CoreEventBase } from '../events/eventBase'; // TODO: use room package diff --git a/packages/core/src/procedures/makeJoin.spec.ts b/packages/core/src/procedures/makeJoin.spec.ts index ea2adf4e5..5c7ead818 100644 --- a/packages/core/src/procedures/makeJoin.spec.ts +++ b/packages/core/src/procedures/makeJoin.spec.ts @@ -4,8 +4,8 @@ import { type EventStore, IncompatibleRoomVersionError, NotFoundError, -} from '@hs/core'; -import type { AuthEvents } from '@hs/core'; +} from '@rocket.chat/federation-core'; +import type { AuthEvents } from '@rocket.chat/federation-core'; import { makeJoinEventBuilder } from './makeJoin'; describe('makeJoinEventBuilder', () => { diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts index 661aed1bb..1400cee3f 100644 --- a/packages/core/src/types.ts +++ b/packages/core/src/types.ts @@ -1,5 +1,5 @@ -import { Pdu } from '@hs/room'; -import type { EventID } from '@hs/room'; +import { Pdu } from '@rocket.chat/federation-room'; +import type { EventID } from '@rocket.chat/federation-room'; export enum EncryptionValidAlgorithm { ed25519 = 'ed25519', diff --git a/packages/core/src/utils/authentication.ts b/packages/core/src/utils/authentication.ts index cc8e13c5e..f897bd1fc 100644 --- a/packages/core/src/utils/authentication.ts +++ b/packages/core/src/utils/authentication.ts @@ -2,7 +2,7 @@ import { type Pdu, PersistentEventBase, PersistentEventFactory, -} from '@hs/room'; +} from '@rocket.chat/federation-room'; import nacl from 'tweetnacl'; import { type SigningKey } from '../types'; import { encodeCanonicalJson, signJson } from './signJson'; diff --git a/packages/core/src/utils/checkSignAndHashes.ts b/packages/core/src/utils/checkSignAndHashes.ts index 219f38fc1..570ffe248 100644 --- a/packages/core/src/utils/checkSignAndHashes.ts +++ b/packages/core/src/utils/checkSignAndHashes.ts @@ -1,4 +1,4 @@ -import { Pdu } from '@hs/room'; +import { Pdu } from '@rocket.chat/federation-room'; import { type HashedEvent, computeHash } from './authentication'; import { MatrixError } from './errors'; import { logger } from './logger'; diff --git a/packages/core/src/utils/generateId.ts b/packages/core/src/utils/generateId.ts index fdc6c32d1..3ab95aa28 100644 --- a/packages/core/src/utils/generateId.ts +++ b/packages/core/src/utils/generateId.ts @@ -1,5 +1,5 @@ import crypto from 'node:crypto'; -import { EventID } from '@hs/room'; +import { EventID } from '@rocket.chat/federation-room'; import { toUnpaddedBase64 } from './binaryData'; import { pruneEventDict } from './pruneEventDict'; import { encodeCanonicalJson } from './signJson'; diff --git a/packages/core/src/utils/pruneEventDict.ts b/packages/core/src/utils/pruneEventDict.ts index 4aac378ea..2151eb01d 100644 --- a/packages/core/src/utils/pruneEventDict.ts +++ b/packages/core/src/utils/pruneEventDict.ts @@ -1,6 +1,6 @@ import { isRoomMemberEvent } from '../events/isRoomMemberEvent'; -import { Pdu } from '@hs/room'; +import { Pdu } from '@rocket.chat/federation-room'; import type { EventBase } from '../events/eventBase'; interface RoomVersion { diff --git a/packages/core/src/utils/signEvent.ts b/packages/core/src/utils/signEvent.ts index 63457fbe4..5ee2ab4d6 100644 --- a/packages/core/src/utils/signEvent.ts +++ b/packages/core/src/utils/signEvent.ts @@ -1,4 +1,4 @@ -import { Pdu } from '@hs/room'; +import { Pdu } from '@rocket.chat/federation-room'; import type { SignedEvent } from '../types'; import type { SigningKey } from '../types'; import { computeAndMergeHash } from './authentication'; diff --git a/packages/core/src/utils/signJson.ts b/packages/core/src/utils/signJson.ts index 08fa36bff..47816fabf 100644 --- a/packages/core/src/utils/signJson.ts +++ b/packages/core/src/utils/signJson.ts @@ -1,4 +1,4 @@ -import { encodeCanonicalJson as encodeCanonicalJsonCrypto } from '@hs/crypto'; +import { encodeCanonicalJson as encodeCanonicalJsonCrypto } from '@rocket.chat/federation-crypto'; import nacl from 'tweetnacl'; import type { SigningKey } from '../types'; import { EncryptionValidAlgorithm } from '../types'; diff --git a/packages/crypto/package.json b/packages/crypto/package.json index 8759de1a2..db97ed31d 100644 --- a/packages/crypto/package.json +++ b/packages/crypto/package.json @@ -1,5 +1,5 @@ { - "name": "@hs/crypto", + "name": "@rocket.chat/federation-crypto", "version": "0.0.1", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", diff --git a/packages/federation-sdk/package.json b/packages/federation-sdk/package.json index 06fd7b5f8..e734fbb70 100644 --- a/packages/federation-sdk/package.json +++ b/packages/federation-sdk/package.json @@ -1,14 +1,14 @@ { - "name": "@hs/federation-sdk", + "name": "@rocket.chat/federation-sdk", "version": "0.1.0", "description": "Matrix Federation SDK for server-to-server communication", - "main": "./dist/index.js", + "main": "./dist/bundle.js", "types": "./dist/index.d.ts", "exports": { ".": { "types": "./dist/index.d.ts", - "import": "./dist/index.js", - "require": "./dist/index.js" + "import": "./dist/bundle.js", + "require": "./dist/bundle.js" } }, "scripts": { @@ -16,8 +16,9 @@ "test": "bun test" }, "dependencies": { - "@hs/core": "workspace:*", - "@hs/room": "workspace:*", + "@rocket.chat/federation-core": "workspace:*", + "@rocket.chat/federation-crypto": "workspace:*", + "@rocket.chat/federation-room": "workspace:*", "@rocket.chat/emitter": "^0.31.25", "mongodb": "^6.16.0", "reflect-metadata": "^0.2.2", @@ -25,7 +26,7 @@ "tweetnacl": "^1.0.3", "zod": "^3.22.4" }, - "files": ["src", "dist"], + "files": ["dist"], "peerDependencies": { "typescript": "~5.9.2" } diff --git a/packages/federation-sdk/src/container.ts b/packages/federation-sdk/src/container.ts index dad661899..b2103f1bd 100644 --- a/packages/federation-sdk/src/container.ts +++ b/packages/federation-sdk/src/container.ts @@ -1,7 +1,10 @@ import 'reflect-metadata'; -import type { EventStagingStore, EventStore } from '@hs/core'; import type { Emitter } from '@rocket.chat/emitter'; +import type { + EventStagingStore, + EventStore, +} from '@rocket.chat/federation-core'; import type { Collection, WithId } from 'mongodb'; import { container } from 'tsyringe'; diff --git a/packages/federation-sdk/src/index.ts b/packages/federation-sdk/src/index.ts index d65cac46a..618e78311 100644 --- a/packages/federation-sdk/src/index.ts +++ b/packages/federation-sdk/src/index.ts @@ -1,5 +1,5 @@ -import type { Membership, MessageType } from '@hs/core'; -import type { EventID } from '@hs/room'; +import type { Membership, MessageType } from '@rocket.chat/federation-core'; +import type { EventID } from '@rocket.chat/federation-room'; import { container } from 'tsyringe'; import { ConfigService } from './services/config.service'; import { EduService } from './services/edu.service'; @@ -16,6 +16,21 @@ import { ServerService } from './services/server.service'; import { StateService } from './services/state.service'; import { WellKnownService } from './services/well-known.service'; +export type { + PduMembershipEventContent, + PersistentEventBase, + RoomVersion, + EventID, +} from '@rocket.chat/federation-room'; +export type { + FileMessageType, + PresenceState, + FileMessageContent, + MessageType, + Membership, +} from '@rocket.chat/federation-core'; +export { generateEd25519RandomSecretKey } from '@rocket.chat/federation-crypto'; + export { FederationEndpoints } from './specs/federation-api'; export type { MakeJoinResponse, diff --git a/packages/federation-sdk/src/listeners/staging-area.listener.ts b/packages/federation-sdk/src/listeners/staging-area.listener.ts index acc211848..49bf09bee 100644 --- a/packages/federation-sdk/src/listeners/staging-area.listener.ts +++ b/packages/federation-sdk/src/listeners/staging-area.listener.ts @@ -1,4 +1,4 @@ -import { createLogger } from '@hs/core'; +import { createLogger } from '@rocket.chat/federation-core'; import { singleton } from 'tsyringe'; import { StagingAreaQueue } from '../queues/staging-area.queue'; import { StagingAreaService } from '../services/staging-area.service'; diff --git a/packages/federation-sdk/src/queues/base.queue.ts b/packages/federation-sdk/src/queues/base.queue.ts index cbbe11cf9..6dfb645b7 100644 --- a/packages/federation-sdk/src/queues/base.queue.ts +++ b/packages/federation-sdk/src/queues/base.queue.ts @@ -1,4 +1,4 @@ -import { logger } from '@hs/core'; +import { logger } from '@rocket.chat/federation-core'; export type QueueHandler = (item: T) => Promise | void; diff --git a/packages/federation-sdk/src/repositories/event-staging.repository.ts b/packages/federation-sdk/src/repositories/event-staging.repository.ts index 8662c6d1d..93de3d0e9 100644 --- a/packages/federation-sdk/src/repositories/event-staging.repository.ts +++ b/packages/federation-sdk/src/repositories/event-staging.repository.ts @@ -1,6 +1,6 @@ -import { generateId } from '@hs/core'; -import type { EventStagingStore } from '@hs/core'; -import { type EventID, Pdu } from '@hs/room'; +import { generateId } from '@rocket.chat/federation-core'; +import type { EventStagingStore } from '@rocket.chat/federation-core'; +import { type EventID, Pdu } from '@rocket.chat/federation-room'; import type { Collection, DeleteResult, UpdateResult } from 'mongodb'; import { inject, singleton } from 'tsyringe'; diff --git a/packages/federation-sdk/src/repositories/event.repository.ts b/packages/federation-sdk/src/repositories/event.repository.ts index f30cf04c6..ef0a88102 100644 --- a/packages/federation-sdk/src/repositories/event.repository.ts +++ b/packages/federation-sdk/src/repositories/event.repository.ts @@ -1,6 +1,11 @@ -import { generateId } from '@hs/core'; -import type { EventBase, EventStore } from '@hs/core'; -import { type EventID, Pdu, PduForType, PduType } from '@hs/room'; +import { generateId } from '@rocket.chat/federation-core'; +import type { EventBase, EventStore } from '@rocket.chat/federation-core'; +import { + type EventID, + Pdu, + PduForType, + PduType, +} from '@rocket.chat/federation-room'; import type { Collection, Filter, diff --git a/packages/federation-sdk/src/repositories/room.repository.ts b/packages/federation-sdk/src/repositories/room.repository.ts index 743d6206e..1abe06920 100644 --- a/packages/federation-sdk/src/repositories/room.repository.ts +++ b/packages/federation-sdk/src/repositories/room.repository.ts @@ -1,5 +1,5 @@ -import type { EventBase } from '@hs/core'; -import type { EventID } from '@hs/room'; +import type { EventBase } from '@rocket.chat/federation-core'; +import type { EventID } from '@rocket.chat/federation-room'; import { Collection } from 'mongodb'; import { inject, singleton } from 'tsyringe'; diff --git a/packages/federation-sdk/src/repositories/state.repository.ts b/packages/federation-sdk/src/repositories/state.repository.ts index f8d1c7246..a480d88d2 100644 --- a/packages/federation-sdk/src/repositories/state.repository.ts +++ b/packages/federation-sdk/src/repositories/state.repository.ts @@ -8,8 +8,8 @@ import { } from 'mongodb'; import { inject, singleton } from 'tsyringe'; -import type { EventID, StateMapKey } from '@hs/room'; -import type { PersistentEventBase } from '@hs/room'; +import type { EventID, StateMapKey } from '@rocket.chat/federation-room'; +import type { PersistentEventBase } from '@rocket.chat/federation-room'; export type StateStore = { _id: ObjectId; diff --git a/packages/federation-sdk/src/services/config.service.ts b/packages/federation-sdk/src/services/config.service.ts index 76a44ac59..ce4de134a 100644 --- a/packages/federation-sdk/src/services/config.service.ts +++ b/packages/federation-sdk/src/services/config.service.ts @@ -3,7 +3,7 @@ import { generateKeyPairsFromString, getKeyPair, toUnpaddedBase64, -} from '@hs/core'; +} from '@rocket.chat/federation-core'; import { z } from 'zod'; diff --git a/packages/federation-sdk/src/services/database-connection.service.ts b/packages/federation-sdk/src/services/database-connection.service.ts index c3e475d0c..1b2d27c5a 100644 --- a/packages/federation-sdk/src/services/database-connection.service.ts +++ b/packages/federation-sdk/src/services/database-connection.service.ts @@ -1,4 +1,4 @@ -import { createLogger } from '@hs/core'; +import { createLogger } from '@rocket.chat/federation-core'; import { Db, MongoClient, type MongoClientOptions } from 'mongodb'; import { singleton } from 'tsyringe'; import { ConfigService } from './config.service'; diff --git a/packages/federation-sdk/src/services/edu.service.ts b/packages/federation-sdk/src/services/edu.service.ts index 56852af34..ac552fefd 100644 --- a/packages/federation-sdk/src/services/edu.service.ts +++ b/packages/federation-sdk/src/services/edu.service.ts @@ -1,6 +1,9 @@ -import type { PresenceUpdate } from '@hs/core'; -import { createPresenceEDU, createTypingEDU } from '@hs/core'; -import { createLogger } from '@hs/core'; +import type { PresenceUpdate } from '@rocket.chat/federation-core'; +import { + createPresenceEDU, + createTypingEDU, +} from '@rocket.chat/federation-core'; +import { createLogger } from '@rocket.chat/federation-core'; import { singleton } from 'tsyringe'; import { ConfigService } from './config.service'; import { EventEmitterService } from './event-emitter.service'; diff --git a/packages/federation-sdk/src/services/event-authorization.service.ts b/packages/federation-sdk/src/services/event-authorization.service.ts index 915ac38eb..089b58a9d 100644 --- a/packages/federation-sdk/src/services/event-authorization.service.ts +++ b/packages/federation-sdk/src/services/event-authorization.service.ts @@ -5,8 +5,12 @@ import { getPublicKeyFromRemoteServer, makeGetPublicKeyFromServerProcedure, validateAuthorizationHeader, -} from '@hs/core'; -import type { EventID, Pdu, PersistentEventBase } from '@hs/room'; +} from '@rocket.chat/federation-core'; +import type { + EventID, + Pdu, + PersistentEventBase, +} from '@rocket.chat/federation-room'; import { singleton } from 'tsyringe'; import { KeyRepository } from '../repositories/key.repository'; import { MatrixBridgedRoomRepository } from '../repositories/matrix-bridged-room.repository'; diff --git a/packages/federation-sdk/src/services/event-fetcher.service.ts b/packages/federation-sdk/src/services/event-fetcher.service.ts index fd85698ef..1cdb2f36a 100644 --- a/packages/federation-sdk/src/services/event-fetcher.service.ts +++ b/packages/federation-sdk/src/services/event-fetcher.service.ts @@ -1,7 +1,7 @@ -import { isFederationEventWithPDUs } from '@hs/core'; -import { createLogger } from '@hs/core'; -import { generateId } from '@hs/core'; -import { EventID, Pdu } from '@hs/room'; +import { isFederationEventWithPDUs } from '@rocket.chat/federation-core'; +import { createLogger } from '@rocket.chat/federation-core'; +import { generateId } from '@rocket.chat/federation-core'; +import { EventID, Pdu } from '@rocket.chat/federation-room'; import { singleton } from 'tsyringe'; import { EventRepository } from '../repositories/event.repository'; import { ConfigService } from './config.service'; diff --git a/packages/federation-sdk/src/services/event.service.ts b/packages/federation-sdk/src/services/event.service.ts index 170a8f2c1..c73caa478 100644 --- a/packages/federation-sdk/src/services/event.service.ts +++ b/packages/federation-sdk/src/services/event.service.ts @@ -4,19 +4,19 @@ import type { PresenceEDU, RoomPowerLevelsEvent, TypingEDU, -} from '@hs/core'; -import { isPresenceEDU, isTypingEDU } from '@hs/core'; -import type { RedactionEvent } from '@hs/core'; -import { generateId } from '@hs/core'; -import type { EventStore } from '@hs/core'; +} from '@rocket.chat/federation-core'; +import { isPresenceEDU, isTypingEDU } from '@rocket.chat/federation-core'; +import type { RedactionEvent } from '@rocket.chat/federation-core'; +import { generateId } from '@rocket.chat/federation-core'; +import type { EventStore } from '@rocket.chat/federation-core'; import { getPublicKeyFromRemoteServer, makeGetPublicKeyFromServerProcedure, -} from '@hs/core'; -import { pruneEventDict } from '@hs/core'; +} from '@rocket.chat/federation-core'; +import { pruneEventDict } from '@rocket.chat/federation-core'; -import { checkSignAndHashes } from '@hs/core'; -import { createLogger } from '@hs/core'; +import { checkSignAndHashes } from '@rocket.chat/federation-core'; +import { createLogger } from '@rocket.chat/federation-core'; import { type EventID, type Pdu, @@ -24,7 +24,7 @@ import { type PduType, PersistentEventFactory, getAuthChain, -} from '@hs/room'; +} from '@rocket.chat/federation-room'; import { singleton } from 'tsyringe'; import type { z } from 'zod'; import { StagingAreaQueue } from '../queues/staging-area.queue'; diff --git a/packages/federation-sdk/src/services/federation-request.service.spec.ts b/packages/federation-sdk/src/services/federation-request.service.spec.ts index caa602e05..4af81b0bb 100644 --- a/packages/federation-sdk/src/services/federation-request.service.spec.ts +++ b/packages/federation-sdk/src/services/federation-request.service.spec.ts @@ -8,7 +8,7 @@ import { mock, spyOn, } from 'bun:test'; -import * as core from '@hs/core'; +import * as core from '@rocket.chat/federation-core'; import * as nacl from 'tweetnacl'; import { ConfigService } from './config.service'; import { FederationRequestService } from './federation-request.service'; @@ -37,13 +37,13 @@ describe('FederationRequestService', async () => { '../server-discovery/discovery' ); - const { fetch: originalFetch } = await import('@hs/core'); + const { fetch: originalFetch } = await import('@rocket.chat/federation-core'); await mock.module('../server-discovery/discovery', () => ({ getHomeserverFinalAddress: () => mockDiscoveryResult, })); - await mock.module('@hs/core', () => ({ + await mock.module('@rocket.chat/federation-core', () => ({ fetch: async (_url: string, _options?: RequestInit) => { return { ok: true, @@ -60,7 +60,7 @@ describe('FederationRequestService', async () => { mock.module('../server-discovery/discovery', () => ({ getHomeserverFinalAddress, })); - mock.module('@hs/core', () => ({ + mock.module('@rocket.chat/federation-core', () => ({ fetch: originalFetch, })); }); diff --git a/packages/federation-sdk/src/services/federation-request.service.ts b/packages/federation-sdk/src/services/federation-request.service.ts index d923aeb29..d3aa9649c 100644 --- a/packages/federation-sdk/src/services/federation-request.service.ts +++ b/packages/federation-sdk/src/services/federation-request.service.ts @@ -1,4 +1,4 @@ -import type { FetchResponse, SigningKey } from '@hs/core'; +import type { FetchResponse, SigningKey } from '@rocket.chat/federation-core'; import { EncryptionValidAlgorithm, authorizationHeaders, @@ -7,7 +7,7 @@ import { extractURIfromURL, fetch, signJson, -} from '@hs/core'; +} from '@rocket.chat/federation-core'; import { singleton } from 'tsyringe'; import * as nacl from 'tweetnacl'; import { getHomeserverFinalAddress } from '../server-discovery/discovery'; diff --git a/packages/federation-sdk/src/services/federation.service.ts b/packages/federation-sdk/src/services/federation.service.ts index 1dc5adfd6..38918c2ea 100644 --- a/packages/federation-sdk/src/services/federation.service.ts +++ b/packages/federation-sdk/src/services/federation.service.ts @@ -1,8 +1,12 @@ -import type { EventBase } from '@hs/core'; -import type { BaseEDU } from '@hs/core'; -import type { ProtocolVersionKey } from '@hs/core'; -import { createLogger } from '@hs/core'; -import { Pdu, PduForType, PersistentEventBase } from '@hs/room'; +import type { EventBase } from '@rocket.chat/federation-core'; +import type { BaseEDU } from '@rocket.chat/federation-core'; +import type { ProtocolVersionKey } from '@rocket.chat/federation-core'; +import { createLogger } from '@rocket.chat/federation-core'; +import { + Pdu, + PduForType, + PersistentEventBase, +} from '@rocket.chat/federation-room'; import { singleton } from 'tsyringe'; import { FederationEndpoints, diff --git a/packages/federation-sdk/src/services/invite.service.ts b/packages/federation-sdk/src/services/invite.service.ts index a6efa3279..0d8337ee8 100644 --- a/packages/federation-sdk/src/services/invite.service.ts +++ b/packages/federation-sdk/src/services/invite.service.ts @@ -1,10 +1,14 @@ -import { EventBase, HttpException, HttpStatus } from '@hs/core'; +import { + EventBase, + HttpException, + HttpStatus, +} from '@rocket.chat/federation-core'; import { PduForType, PersistentEventBase, PersistentEventFactory, RoomVersion, -} from '@hs/room'; +} from '@rocket.chat/federation-room'; import { singleton } from 'tsyringe'; import { createLogger } from '../utils/logger'; import { ConfigService } from './config.service'; diff --git a/packages/federation-sdk/src/services/media.service.ts b/packages/federation-sdk/src/services/media.service.ts index 8f42c873c..dc9ff04ef 100644 --- a/packages/federation-sdk/src/services/media.service.ts +++ b/packages/federation-sdk/src/services/media.service.ts @@ -1,4 +1,4 @@ -import { createLogger } from '@hs/core'; +import { createLogger } from '@rocket.chat/federation-core'; import { singleton } from 'tsyringe'; import { ConfigService } from './config.service'; import { FederationRequestService } from './federation-request.service'; diff --git a/packages/federation-sdk/src/services/message.service.ts b/packages/federation-sdk/src/services/message.service.ts index e4d96fb05..3a8e4c3b1 100644 --- a/packages/federation-sdk/src/services/message.service.ts +++ b/packages/federation-sdk/src/services/message.service.ts @@ -2,23 +2,23 @@ import { type MessageAuthEvents, type RoomMessageEvent, roomMessageEvent, -} from '@hs/core'; -import { type SignedEvent } from '@hs/core'; +} from '@rocket.chat/federation-core'; +import { type SignedEvent } from '@rocket.chat/federation-core'; -import { ForbiddenError } from '@hs/core'; +import { ForbiddenError } from '@rocket.chat/federation-core'; import { type RedactionAuthEvents, type RedactionEvent, redactionEvent, -} from '@hs/core'; -import { createLogger } from '@hs/core'; -import { signEvent } from '@hs/core'; +} from '@rocket.chat/federation-core'; +import { createLogger } from '@rocket.chat/federation-core'; +import { signEvent } from '@rocket.chat/federation-core'; import { type EventID, type PersistentEventBase, PersistentEventFactory, type RoomVersion, -} from '@hs/room'; +} from '@rocket.chat/federation-room'; import { singleton } from 'tsyringe'; import { EventRepository } from '../repositories/event.repository'; import { ConfigService } from './config.service'; diff --git a/packages/federation-sdk/src/services/missing-event.service.ts b/packages/federation-sdk/src/services/missing-event.service.ts index bfe66f055..8be0709ef 100644 --- a/packages/federation-sdk/src/services/missing-event.service.ts +++ b/packages/federation-sdk/src/services/missing-event.service.ts @@ -1,6 +1,6 @@ -import { createLogger } from '@hs/core'; +import { createLogger } from '@rocket.chat/federation-core'; -import { EventID } from '@hs/room'; +import { EventID } from '@rocket.chat/federation-room'; import { singleton } from 'tsyringe'; import { EventFetcherService } from './event-fetcher.service'; import { EventService } from './event.service'; diff --git a/packages/federation-sdk/src/services/profiles.service.ts b/packages/federation-sdk/src/services/profiles.service.ts index e715308e3..9b9e68c55 100644 --- a/packages/federation-sdk/src/services/profiles.service.ts +++ b/packages/federation-sdk/src/services/profiles.service.ts @@ -1,4 +1,4 @@ -import { createLogger } from '@hs/core'; +import { createLogger } from '@rocket.chat/federation-core'; import { ConfigService } from './config.service'; import { EventService } from './event.service'; @@ -8,7 +8,7 @@ import { PduForType, PersistentEventFactory, RoomVersion, -} from '@hs/room'; +} from '@rocket.chat/federation-room'; import { singleton } from 'tsyringe'; import { EventRepository } from '../repositories/event.repository'; import { StateService } from './state.service'; diff --git a/packages/federation-sdk/src/services/room.service.ts b/packages/federation-sdk/src/services/room.service.ts index feea2baaf..8f65ae639 100644 --- a/packages/federation-sdk/src/services/room.service.ts +++ b/packages/federation-sdk/src/services/room.service.ts @@ -12,14 +12,18 @@ import { roomPowerLevelsEvent, roomTombstoneEvent, signEvent, -} from '@hs/core'; +} from '@rocket.chat/federation-core'; import { singleton } from 'tsyringe'; import { FederationService } from './federation.service'; -import { ForbiddenError, HttpException, HttpStatus } from '@hs/core'; -import { type SigningKey } from '@hs/core'; +import { + ForbiddenError, + HttpException, + HttpStatus, +} from '@rocket.chat/federation-core'; +import { type SigningKey } from '@rocket.chat/federation-core'; -import { logger } from '@hs/core'; +import { logger } from '@rocket.chat/federation-core'; import { type EventID, PduCreateEventContent, @@ -29,7 +33,7 @@ import { PersistentEventBase, PersistentEventFactory, RoomVersion, -} from '@hs/room'; +} from '@rocket.chat/federation-room'; import { EventRepository } from '../repositories/event.repository'; import { RoomRepository } from '../repositories/room.repository'; import { ConfigService } from './config.service'; diff --git a/packages/federation-sdk/src/services/send-join.service.ts b/packages/federation-sdk/src/services/send-join.service.ts index 6c9f40bb0..377a337bd 100644 --- a/packages/federation-sdk/src/services/send-join.service.ts +++ b/packages/federation-sdk/src/services/send-join.service.ts @@ -1,10 +1,13 @@ -import { type RoomMemberEvent, isRoomMemberEvent } from '@hs/core'; +import { + type RoomMemberEvent, + isRoomMemberEvent, +} from '@rocket.chat/federation-core'; import { type EventID, type PduMembershipEventContent, PersistentEventFactory, getAuthChain, -} from '@hs/room'; +} from '@rocket.chat/federation-room'; import { singleton } from 'tsyringe'; import { ConfigService } from './config.service'; import { EventEmitterService } from './event-emitter.service'; diff --git a/packages/federation-sdk/src/services/server.service.ts b/packages/federation-sdk/src/services/server.service.ts index 3df925a77..1c996dc2f 100644 --- a/packages/federation-sdk/src/services/server.service.ts +++ b/packages/federation-sdk/src/services/server.service.ts @@ -1,4 +1,8 @@ -import { type SigningKey, signJson, toUnpaddedBase64 } from '@hs/core'; +import { + type SigningKey, + signJson, + toUnpaddedBase64, +} from '@rocket.chat/federation-core'; import { singleton } from 'tsyringe'; import { ServerRepository } from '../repositories/server.repository'; import { ConfigService } from './config.service'; diff --git a/packages/federation-sdk/src/services/staging-area.service.ts b/packages/federation-sdk/src/services/staging-area.service.ts index 4b09dd56f..ffc6d1c70 100644 --- a/packages/federation-sdk/src/services/staging-area.service.ts +++ b/packages/federation-sdk/src/services/staging-area.service.ts @@ -1,9 +1,17 @@ -import type { EventBase, EventStagingStore, Membership } from '@hs/core'; +import type { + EventBase, + EventStagingStore, + Membership, +} from '@rocket.chat/federation-core'; import { singleton } from 'tsyringe'; -import { MessageType, createLogger, isRedactedEvent } from '@hs/core'; -import { PduPowerLevelsEventContent } from '@hs/room'; -import type { EventID } from '@hs/room'; +import { + MessageType, + createLogger, + isRedactedEvent, +} from '@rocket.chat/federation-core'; +import { PduPowerLevelsEventContent } from '@rocket.chat/federation-room'; +import type { EventID } from '@rocket.chat/federation-room'; import { EventAuthorizationService } from './event-authorization.service'; import { EventEmitterService } from './event-emitter.service'; import { EventService } from './event.service'; diff --git a/packages/federation-sdk/src/services/state.service.ts b/packages/federation-sdk/src/services/state.service.ts index 5c816e223..59f99ed29 100644 --- a/packages/federation-sdk/src/services/state.service.ts +++ b/packages/federation-sdk/src/services/state.service.ts @@ -1,23 +1,23 @@ -import { signEvent } from '@hs/core'; +import { signEvent } from '@rocket.chat/federation-core'; import { type EventID, type PduContent, type PduType, RoomState, type StateMapKey, -} from '@hs/room'; +} from '@rocket.chat/federation-room'; import type { EventStore, Pdu, PduForType, PduWithHashesAndSignaturesOptional, PersistentEventBase, -} from '@hs/room'; -import { PersistentEventFactory } from '@hs/room'; -import type { RoomVersion } from '@hs/room'; -import { resolveStateV2Plus } from '@hs/room'; -import type { PduCreateEventContent } from '@hs/room'; -import { checkEventAuthWithState } from '@hs/room'; +} from '@rocket.chat/federation-room'; +import { PersistentEventFactory } from '@rocket.chat/federation-room'; +import type { RoomVersion } from '@rocket.chat/federation-room'; +import { resolveStateV2Plus } from '@rocket.chat/federation-room'; +import type { PduCreateEventContent } from '@rocket.chat/federation-room'; +import { checkEventAuthWithState } from '@rocket.chat/federation-room'; import { singleton } from 'tsyringe'; import { EventRepository } from '../repositories/event.repository'; import { StateRepository, StateStore } from '../repositories/state.repository'; diff --git a/packages/federation-sdk/src/utils/event-schemas.ts b/packages/federation-sdk/src/utils/event-schemas.ts index 7baf974a6..ebf583df3 100644 --- a/packages/federation-sdk/src/utils/event-schemas.ts +++ b/packages/federation-sdk/src/utils/event-schemas.ts @@ -1,4 +1,4 @@ -import { eventIdSchema } from '@hs/room'; +import { eventIdSchema } from '@rocket.chat/federation-room'; import { z } from 'zod'; const baseEventSchema = z.object({ diff --git a/packages/federation-sdk/src/utils/signJson.spec.ts b/packages/federation-sdk/src/utils/signJson.spec.ts index 24e6a3e04..fc52d9eba 100644 --- a/packages/federation-sdk/src/utils/signJson.spec.ts +++ b/packages/federation-sdk/src/utils/signJson.spec.ts @@ -5,7 +5,7 @@ import { pruneEventDict, signJson, verifySignaturesFromRemote, -} from '@hs/core'; +} from '@rocket.chat/federation-core'; describe('verifySignaturesFromRemote', async () => { test('it should verify a valid signature', async () => { diff --git a/packages/homeserver/package.json b/packages/homeserver/package.json index 0028bc361..f28a7bb26 100644 --- a/packages/homeserver/package.json +++ b/packages/homeserver/package.json @@ -1,5 +1,5 @@ { - "name": "@hs/homeserver", + "name": "@rocket.chat/homeserver", "version": "1.0.50", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", @@ -19,9 +19,9 @@ "@bogeychan/elysia-etag": "^0.0.6", "@bogeychan/elysia-logger": "^0.1.4", "@elysiajs/swagger": "^1.3.0", - "@hs/core": "workspace:*", - "@hs/federation-sdk": "workspace:*", - "@hs/room": "workspace:*", + "@rocket.chat/federation-core": "workspace:*", + "@rocket.chat/federation-sdk": "workspace:*", + "@rocket.chat/federation-room": "workspace:*", "@rocket.chat/emitter": "^0.31.25", "elysia": "^1.1.26", "mongodb": "^6.16.0", diff --git a/packages/homeserver/src/controllers/federation/invite.controller.ts b/packages/homeserver/src/controllers/federation/invite.controller.ts index 42a42013c..35ee97c31 100644 --- a/packages/homeserver/src/controllers/federation/invite.controller.ts +++ b/packages/homeserver/src/controllers/federation/invite.controller.ts @@ -1,4 +1,4 @@ -import { InviteService } from '@hs/federation-sdk'; +import { InviteService } from '@rocket.chat/federation-sdk'; import { Elysia, t } from 'elysia'; import { container } from 'tsyringe'; import { ProcessInviteParamsDto, RoomVersionDto } from '../../dtos'; diff --git a/packages/homeserver/src/controllers/federation/profiles.controller.ts b/packages/homeserver/src/controllers/federation/profiles.controller.ts index 41f343875..f7f2308a5 100644 --- a/packages/homeserver/src/controllers/federation/profiles.controller.ts +++ b/packages/homeserver/src/controllers/federation/profiles.controller.ts @@ -1,5 +1,5 @@ -import { ProfilesService } from '@hs/federation-sdk'; -import { EventID, type RoomVersion } from '@hs/room'; +import { EventID, type RoomVersion } from '@rocket.chat/federation-room'; +import { ProfilesService } from '@rocket.chat/federation-sdk'; import { Elysia } from 'elysia'; import { container } from 'tsyringe'; import { diff --git a/packages/homeserver/src/controllers/federation/rooms.controller.ts b/packages/homeserver/src/controllers/federation/rooms.controller.ts index efc060969..efb0a64db 100644 --- a/packages/homeserver/src/controllers/federation/rooms.controller.ts +++ b/packages/homeserver/src/controllers/federation/rooms.controller.ts @@ -1,4 +1,4 @@ -import { StateService } from '@hs/federation-sdk'; +import { StateService } from '@rocket.chat/federation-sdk'; import { Elysia, t } from 'elysia'; import { container } from 'tsyringe'; diff --git a/packages/homeserver/src/controllers/federation/send-join.controller.ts b/packages/homeserver/src/controllers/federation/send-join.controller.ts index 2a8a3660e..346b799ad 100644 --- a/packages/homeserver/src/controllers/federation/send-join.controller.ts +++ b/packages/homeserver/src/controllers/federation/send-join.controller.ts @@ -1,5 +1,5 @@ -import { SendJoinService } from '@hs/federation-sdk'; -import type { EventID } from '@hs/room'; +import type { EventID } from '@rocket.chat/federation-room'; +import { SendJoinService } from '@rocket.chat/federation-sdk'; import { Elysia, t } from 'elysia'; import { container } from 'tsyringe'; import { diff --git a/packages/homeserver/src/controllers/federation/state.controller.ts b/packages/homeserver/src/controllers/federation/state.controller.ts index 8305f1a97..b89aa4c12 100644 --- a/packages/homeserver/src/controllers/federation/state.controller.ts +++ b/packages/homeserver/src/controllers/federation/state.controller.ts @@ -1,5 +1,5 @@ -import { EventService } from '@hs/federation-sdk'; -import { EventID } from '@hs/room'; +import { EventID } from '@rocket.chat/federation-room'; +import { EventService } from '@rocket.chat/federation-sdk'; import { Elysia } from 'elysia'; import { container } from 'tsyringe'; import { diff --git a/packages/homeserver/src/controllers/federation/transactions.controller.ts b/packages/homeserver/src/controllers/federation/transactions.controller.ts index 31b1a1753..0ffb65bbc 100644 --- a/packages/homeserver/src/controllers/federation/transactions.controller.ts +++ b/packages/homeserver/src/controllers/federation/transactions.controller.ts @@ -1,9 +1,9 @@ +import { EventID } from '@rocket.chat/federation-room'; import { ConfigService, EventAuthorizationService, EventService, -} from '@hs/federation-sdk'; -import { EventID } from '@hs/room'; +} from '@rocket.chat/federation-sdk'; import { Elysia } from 'elysia'; import { container } from 'tsyringe'; import { diff --git a/packages/homeserver/src/controllers/federation/versions.controller.ts b/packages/homeserver/src/controllers/federation/versions.controller.ts index 355e48642..914410ec3 100644 --- a/packages/homeserver/src/controllers/federation/versions.controller.ts +++ b/packages/homeserver/src/controllers/federation/versions.controller.ts @@ -1,4 +1,4 @@ -import { ConfigService } from '@hs/federation-sdk'; +import { ConfigService } from '@rocket.chat/federation-sdk'; import { Elysia } from 'elysia'; import { container } from 'tsyringe'; import { GetVersionsResponseDto } from '../../dtos'; diff --git a/packages/homeserver/src/controllers/internal/direct-message.controller.ts b/packages/homeserver/src/controllers/internal/direct-message.controller.ts index 4d1f0464f..ce1a02266 100644 --- a/packages/homeserver/src/controllers/internal/direct-message.controller.ts +++ b/packages/homeserver/src/controllers/internal/direct-message.controller.ts @@ -1,4 +1,4 @@ -import { RoomService } from '@hs/federation-sdk'; +import { RoomService } from '@rocket.chat/federation-sdk'; import { Elysia, t } from 'elysia'; import { container } from 'tsyringe'; import { type ErrorResponse, ErrorResponseDto } from '../../dtos'; diff --git a/packages/homeserver/src/controllers/internal/invite.controller.ts b/packages/homeserver/src/controllers/internal/invite.controller.ts index 49dec75f6..9824e0557 100644 --- a/packages/homeserver/src/controllers/internal/invite.controller.ts +++ b/packages/homeserver/src/controllers/internal/invite.controller.ts @@ -1,7 +1,5 @@ -import { InviteService } from '@hs/federation-sdk'; -import { StateService } from '@hs/federation-sdk'; -import { PersistentEventFactory } from '@hs/room'; -import type { PduCreateEventContent } from '@hs/room'; +import { PersistentEventFactory } from '@rocket.chat/federation-room'; +import { InviteService, StateService } from '@rocket.chat/federation-sdk'; import { Elysia } from 'elysia'; import { container } from 'tsyringe'; import { type ErrorResponse, ErrorResponseDto } from '../../dtos'; diff --git a/packages/homeserver/src/controllers/internal/message.controller.ts b/packages/homeserver/src/controllers/internal/message.controller.ts index 632f65d7a..75a5b51c3 100644 --- a/packages/homeserver/src/controllers/internal/message.controller.ts +++ b/packages/homeserver/src/controllers/internal/message.controller.ts @@ -1,5 +1,5 @@ -import { MessageService } from '@hs/federation-sdk'; -import { EventID } from '@hs/room'; +import { EventID } from '@rocket.chat/federation-room'; +import { MessageService } from '@rocket.chat/federation-sdk'; import { Elysia } from 'elysia'; import { container } from 'tsyringe'; import { type ErrorResponse, ErrorResponseDto } from '../../dtos'; diff --git a/packages/homeserver/src/controllers/internal/room.controller.ts b/packages/homeserver/src/controllers/internal/room.controller.ts index 5dd321495..3882bbb5c 100644 --- a/packages/homeserver/src/controllers/internal/room.controller.ts +++ b/packages/homeserver/src/controllers/internal/room.controller.ts @@ -1,11 +1,13 @@ -import { RoomService } from '@hs/federation-sdk'; -import { StateService } from '@hs/federation-sdk'; -import { InviteService } from '@hs/federation-sdk'; import { EventID, type PduCreateEventContent, PersistentEventFactory, -} from '@hs/room'; +} from '@rocket.chat/federation-room'; +import { + InviteService, + RoomService, + StateService, +} from '@rocket.chat/federation-sdk'; import { Elysia, t } from 'elysia'; import { container } from 'tsyringe'; import { diff --git a/packages/homeserver/src/controllers/key/server.controller.ts b/packages/homeserver/src/controllers/key/server.controller.ts index ee1fb7a5d..9088d9210 100644 --- a/packages/homeserver/src/controllers/key/server.controller.ts +++ b/packages/homeserver/src/controllers/key/server.controller.ts @@ -1,4 +1,4 @@ -import { ServerService } from '@hs/federation-sdk'; +import { ServerService } from '@rocket.chat/federation-sdk'; import type { Elysia } from 'elysia'; import { container } from 'tsyringe'; import { ServerKeyResponseDto } from '../../dtos'; diff --git a/packages/homeserver/src/controllers/well-known/well-known.controller.ts b/packages/homeserver/src/controllers/well-known/well-known.controller.ts index aaf51636d..5d5452c2e 100644 --- a/packages/homeserver/src/controllers/well-known/well-known.controller.ts +++ b/packages/homeserver/src/controllers/well-known/well-known.controller.ts @@ -1,4 +1,4 @@ -import { WellKnownService } from '@hs/federation-sdk'; +import { WellKnownService } from '@rocket.chat/federation-sdk'; import { Elysia } from 'elysia'; import { container } from 'tsyringe'; import { WellKnownServerResponseDto } from '../../dtos'; diff --git a/packages/homeserver/src/homeserver.module.ts b/packages/homeserver/src/homeserver.module.ts index 10b999b04..b15604c54 100644 --- a/packages/homeserver/src/homeserver.module.ts +++ b/packages/homeserver/src/homeserver.module.ts @@ -8,7 +8,7 @@ import { type FederationContainerOptions, type HomeserverEventSignatures, createFederationContainer, -} from '@hs/federation-sdk'; +} from '@rocket.chat/federation-sdk'; import * as dotenv from 'dotenv'; import { swagger } from '@elysiajs/swagger'; diff --git a/packages/homeserver/src/middlewares/acl.middleware.ts b/packages/homeserver/src/middlewares/acl.middleware.ts index e3f06b5ea..3b6604312 100644 --- a/packages/homeserver/src/middlewares/acl.middleware.ts +++ b/packages/homeserver/src/middlewares/acl.middleware.ts @@ -1,6 +1,6 @@ -import type { EventAuthorizationService } from '@hs/federation-sdk'; -import { errCodes } from '@hs/federation-sdk'; -import type { EventID } from '@hs/room'; +import type { EventID } from '@rocket.chat/federation-room'; +import type { EventAuthorizationService } from '@rocket.chat/federation-sdk'; +import { errCodes } from '@rocket.chat/federation-sdk'; import Elysia from 'elysia'; export const canAccessEvent = (federationAuth: EventAuthorizationService) => { diff --git a/packages/room/package.json b/packages/room/package.json index 677c03b5f..bab8afd4a 100644 --- a/packages/room/package.json +++ b/packages/room/package.json @@ -1,5 +1,5 @@ { - "name": "@hs/room", + "name": "@rocket.chat/federation-room", "version": "1.0.50", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", @@ -17,7 +17,7 @@ }, "dependencies": { "@datastructures-js/priority-queue": "^6.3.3", - "@hs/crypto": "workspace:*", + "@rocket.chat/federation-crypto": "workspace:*", "zod": "^3.22.4" }, "devDependencies": { diff --git a/packages/room/src/manager/event-wrapper.ts b/packages/room/src/manager/event-wrapper.ts index d7c224f66..a9fe30a90 100644 --- a/packages/room/src/manager/event-wrapper.ts +++ b/packages/room/src/manager/event-wrapper.ts @@ -1,5 +1,8 @@ import crypto from 'node:crypto'; -import { encodeCanonicalJson, toUnpaddedBase64 } from '@hs/crypto'; +import { + encodeCanonicalJson, + toUnpaddedBase64, +} from '@rocket.chat/federation-crypto'; import { type EventStore, getStateMapKey, diff --git a/packages/room/src/manager/v3.ts b/packages/room/src/manager/v3.ts index a718bfef8..25a16ae56 100644 --- a/packages/room/src/manager/v3.ts +++ b/packages/room/src/manager/v3.ts @@ -1,4 +1,4 @@ -import { toUnpaddedBase64 } from '@hs/crypto'; +import { toUnpaddedBase64 } from '@rocket.chat/federation-crypto'; import type { EventID } from '../types/_common'; import {} from '../types/v3-11'; import { diff --git a/tsconfig.base.json b/tsconfig.base.json index a99288865..0a0c7c19b 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -37,19 +37,19 @@ // Monorepo configuration "baseUrl": ".", "paths": { - "@hs/core/*": [ + "@rocket.chat/federation-core/*": [ "packages/core/src/*" ], - "@hs/crypto/*": [ + "@rocket.chat/federation-crypto/*": [ "packages/crypto/src/*" ], - "@hs/federation-sdk/*": [ + "@rocket.chat/federation-sdk/*": [ "packages/federation-sdk/src/*" ], - "@hs/homeserver/*": [ + "@rocket.chat/homeserver/*": [ "packages/homeserver/src/*" ], - "@hs/room/*": [ + "@rocket.chat/federation-room/*": [ "packages/room/src/*" ] }