diff --git a/.changeset/beige-parrots-lead.md b/.changeset/beige-parrots-lead.md new file mode 100644 index 0000000000000..fdb02b3ec9647 --- /dev/null +++ b/.changeset/beige-parrots-lead.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/meteor': minor +--- + +Swap usage of internal @rocket.chat/apps-engine internal APIs to @rocket.chat/apps package diff --git a/.changeset/brown-files-work.md b/.changeset/brown-files-work.md new file mode 100644 index 0000000000000..9459cee560b56 --- /dev/null +++ b/.changeset/brown-files-work.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/apps-engine': minor +--- + +Remove files that weren't accessible to apps at development time diff --git a/.changeset/stale-needles-care.md b/.changeset/stale-needles-care.md new file mode 100644 index 0000000000000..5f9e5b4c893bd --- /dev/null +++ b/.changeset/stale-needles-care.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/apps': minor +--- + +Receives the migration of internal files from @rocket.chat/apps-engine diff --git a/.github/actions/build-docker/action.yml b/.github/actions/build-docker/action.yml index 77ebf4aa3ad03..2d7b1fa736a18 100644 --- a/.github/actions/build-docker/action.yml +++ b/.github/actions/build-docker/action.yml @@ -99,7 +99,7 @@ runs: find /tmp/build/bundle/programs/server/npm/node_modules/@esbuild -type d -name 'linux-*' -not -name "*-${swc_arch}" -exec rm -rf {} + - find /tmp/build/bundle/programs/server/npm/node_modules/@rocket.chat/apps-engine/node_modules/@esbuild -type d -name 'linux-*' -not -name "*-${swc_arch}" -exec rm -rf {} + + find /tmp/build/bundle/programs/server/npm/node_modules/@rocket.chat/apps/node_modules/@esbuild -type d -name 'linux-*' -not -name "*-${swc_arch}" -exec rm -rf {} + fi if [[ "$INPUT_PUBLISH_IMAGE" == 'true' ]]; then diff --git a/apps/meteor/app/apps/server/bridges/activation.ts b/apps/meteor/app/apps/server/bridges/activation.ts index 399dfd285e65e..b22aeac49b220 100644 --- a/apps/meteor/app/apps/server/bridges/activation.ts +++ b/apps/meteor/app/apps/server/bridges/activation.ts @@ -1,11 +1,10 @@ import type { IAppServerOrchestrator, AppStatus } from '@rocket.chat/apps'; -import type { ProxiedApp } from '@rocket.chat/apps-engine/server/ProxiedApp'; -import { AppActivationBridge as ActivationBridge } from '@rocket.chat/apps-engine/server/bridges/AppActivationBridge'; +import type { ProxiedApp } from '@rocket.chat/apps/dist/server/ProxiedApp'; +import { AppActivationBridge as ActivationBridge } from '@rocket.chat/apps/dist/server/bridges/AppActivationBridge'; import { UserStatus } from '@rocket.chat/core-typings'; import { Users } from '@rocket.chat/models'; export class AppActivationBridge extends ActivationBridge { - // eslint-disable-next-line no-empty-function constructor(private readonly orch: IAppServerOrchestrator) { super(); } diff --git a/apps/meteor/app/apps/server/bridges/api.ts b/apps/meteor/app/apps/server/bridges/api.ts index f115897c82d82..4e117855615ed 100644 --- a/apps/meteor/app/apps/server/bridges/api.ts +++ b/apps/meteor/app/apps/server/bridges/api.ts @@ -1,8 +1,8 @@ import type { IAppServerOrchestrator } from '@rocket.chat/apps'; +import { ApiBridge } from '@rocket.chat/apps/dist/server/bridges/ApiBridge'; +import type { AppApi } from '@rocket.chat/apps/dist/server/managers/AppApi'; import type { RequestMethod } from '@rocket.chat/apps-engine/definition/accessors'; import type { IApiRequest, IApiEndpoint, IApi } from '@rocket.chat/apps-engine/definition/api'; -import { ApiBridge } from '@rocket.chat/apps-engine/server/bridges/ApiBridge'; -import type { AppApi } from '@rocket.chat/apps-engine/server/managers/AppApi'; import type { Response, Request, IRouter, RequestHandler } from 'express'; import express from 'express'; import { Meteor } from 'meteor/meteor'; diff --git a/apps/meteor/app/apps/server/bridges/bridges.js b/apps/meteor/app/apps/server/bridges/bridges.js index 3b49cd91394e9..4205c2afa91bc 100644 --- a/apps/meteor/app/apps/server/bridges/bridges.js +++ b/apps/meteor/app/apps/server/bridges/bridges.js @@ -1,4 +1,4 @@ -import { AppBridges } from '@rocket.chat/apps-engine/server/bridges'; +import { AppBridges } from '@rocket.chat/apps/dist/server/bridges/AppBridges'; import { AppActivationBridge } from './activation'; import { AppApisBridge } from './api'; diff --git a/apps/meteor/app/apps/server/bridges/cloud.ts b/apps/meteor/app/apps/server/bridges/cloud.ts index 0f908ccfe0a39..83d9f98311c1b 100644 --- a/apps/meteor/app/apps/server/bridges/cloud.ts +++ b/apps/meteor/app/apps/server/bridges/cloud.ts @@ -1,6 +1,6 @@ import type { IAppServerOrchestrator } from '@rocket.chat/apps'; +import { CloudWorkspaceBridge } from '@rocket.chat/apps/dist/server/bridges/CloudWorkspaceBridge'; import type { IWorkspaceToken } from '@rocket.chat/apps-engine/definition/cloud/IWorkspaceToken'; -import { CloudWorkspaceBridge } from '@rocket.chat/apps-engine/server/bridges/CloudWorkspaceBridge'; import { getWorkspaceAccessTokenWithScope } from '../../../cloud/server'; diff --git a/apps/meteor/app/apps/server/bridges/commands.ts b/apps/meteor/app/apps/server/bridges/commands.ts index 0f378a4a7abc4..36eaaed5f047d 100644 --- a/apps/meteor/app/apps/server/bridges/commands.ts +++ b/apps/meteor/app/apps/server/bridges/commands.ts @@ -1,7 +1,7 @@ import type { IAppServerOrchestrator, IAppsRoom, IAppsUser } from '@rocket.chat/apps'; +import { CommandBridge } from '@rocket.chat/apps/dist/server/bridges/CommandBridge'; import type { ISlashCommand, ISlashCommandPreview, ISlashCommandPreviewItem } from '@rocket.chat/apps-engine/definition/slashcommands'; import { SlashCommandContext } from '@rocket.chat/apps-engine/definition/slashcommands'; -import { CommandBridge } from '@rocket.chat/apps-engine/server/bridges/CommandBridge'; import type { IMessage, RequiredField, SlashCommand, SlashCommandCallbackParams } from '@rocket.chat/core-typings'; import { Utilities } from '../../../../ee/lib/misc/Utilities'; diff --git a/apps/meteor/app/apps/server/bridges/contact.ts b/apps/meteor/app/apps/server/bridges/contact.ts index 802b0bb3ec16b..fa00a839c6a4e 100644 --- a/apps/meteor/app/apps/server/bridges/contact.ts +++ b/apps/meteor/app/apps/server/bridges/contact.ts @@ -1,6 +1,6 @@ import type { IAppServerOrchestrator } from '@rocket.chat/apps'; +import { ContactBridge } from '@rocket.chat/apps/dist/server/bridges/ContactBridge'; import type { ILivechatContact } from '@rocket.chat/apps-engine/definition/livechat'; -import { ContactBridge } from '@rocket.chat/apps-engine/server/bridges'; import { addContactEmail } from '../../../livechat/server/lib/contacts/addContactEmail'; import { verifyContactChannel } from '../../../livechat/server/lib/contacts/verifyContactChannel'; diff --git a/apps/meteor/app/apps/server/bridges/details.ts b/apps/meteor/app/apps/server/bridges/details.ts index 3930cdd451cc7..03f25d9f6d05b 100644 --- a/apps/meteor/app/apps/server/bridges/details.ts +++ b/apps/meteor/app/apps/server/bridges/details.ts @@ -1,6 +1,6 @@ import type { IAppServerOrchestrator } from '@rocket.chat/apps'; +import { AppDetailChangesBridge as DetailChangesBridge } from '@rocket.chat/apps/dist/server/bridges/AppDetailChangesBridge'; import type { ISetting } from '@rocket.chat/apps-engine/definition/settings'; -import { AppDetailChangesBridge as DetailChangesBridge } from '@rocket.chat/apps-engine/server/bridges/AppDetailChangesBridge'; export class AppDetailChangesBridge extends DetailChangesBridge { constructor(private readonly orch: IAppServerOrchestrator) { diff --git a/apps/meteor/app/apps/server/bridges/email.ts b/apps/meteor/app/apps/server/bridges/email.ts index 6d75a45044832..8f984b7bb6ce2 100644 --- a/apps/meteor/app/apps/server/bridges/email.ts +++ b/apps/meteor/app/apps/server/bridges/email.ts @@ -1,6 +1,6 @@ import type { IAppServerOrchestrator } from '@rocket.chat/apps'; +import { EmailBridge } from '@rocket.chat/apps/dist/server/bridges/EmailBridge'; import type { IEmail } from '@rocket.chat/apps-engine/definition/email'; -import { EmailBridge } from '@rocket.chat/apps-engine/server/bridges'; import * as Mailer from '../../../mailer/server/api'; import { settings } from '../../../settings/server'; diff --git a/apps/meteor/app/apps/server/bridges/environmental.ts b/apps/meteor/app/apps/server/bridges/environmental.ts index 705a27186dee7..c79ffbe9f6cf5 100644 --- a/apps/meteor/app/apps/server/bridges/environmental.ts +++ b/apps/meteor/app/apps/server/bridges/environmental.ts @@ -1,5 +1,5 @@ import type { IAppServerOrchestrator } from '@rocket.chat/apps'; -import { EnvironmentalVariableBridge } from '@rocket.chat/apps-engine/server/bridges/EnvironmentalVariableBridge'; +import { EnvironmentalVariableBridge } from '@rocket.chat/apps/dist/server/bridges/EnvironmentalVariableBridge'; export class AppEnvironmentalVariableBridge extends EnvironmentalVariableBridge { allowed: Array; diff --git a/apps/meteor/app/apps/server/bridges/experimental.ts b/apps/meteor/app/apps/server/bridges/experimental.ts index d505a54d5665d..fea16f9cb8a82 100644 --- a/apps/meteor/app/apps/server/bridges/experimental.ts +++ b/apps/meteor/app/apps/server/bridges/experimental.ts @@ -1,5 +1,5 @@ import type { IAppServerOrchestrator } from '@rocket.chat/apps'; -import { ExperimentalBridge } from '@rocket.chat/apps-engine/server/bridges'; +import { ExperimentalBridge } from '@rocket.chat/apps/dist/server/bridges/ExperimentalBridge'; export class AppExperimentalBridge extends ExperimentalBridge { constructor(protected readonly orch: IAppServerOrchestrator) { diff --git a/apps/meteor/app/apps/server/bridges/http.ts b/apps/meteor/app/apps/server/bridges/http.ts index cd297009c4afc..f3bb6c502a426 100644 --- a/apps/meteor/app/apps/server/bridges/http.ts +++ b/apps/meteor/app/apps/server/bridges/http.ts @@ -1,7 +1,7 @@ import type { IAppServerOrchestrator } from '@rocket.chat/apps'; +import type { IHttpBridgeRequestInfo } from '@rocket.chat/apps/dist/server/bridges/HttpBridge'; +import { HttpBridge } from '@rocket.chat/apps/dist/server/bridges/HttpBridge'; import type { IHttpResponse } from '@rocket.chat/apps-engine/definition/accessors'; -import type { IHttpBridgeRequestInfo } from '@rocket.chat/apps-engine/server/bridges'; -import { HttpBridge } from '@rocket.chat/apps-engine/server/bridges/HttpBridge'; import { serverFetch as fetch, type ExtendedFetchOptions } from '@rocket.chat/server-fetch'; import { censorUrl } from '@rocket.chat/tools'; diff --git a/apps/meteor/app/apps/server/bridges/index.ts b/apps/meteor/app/apps/server/bridges/index.ts index 7705ea45498f0..7ac397768f74d 100644 --- a/apps/meteor/app/apps/server/bridges/index.ts +++ b/apps/meteor/app/apps/server/bridges/index.ts @@ -1,3 +1 @@ -import { RealAppBridges } from './bridges'; - -export { RealAppBridges }; +export * from './bridges'; diff --git a/apps/meteor/app/apps/server/bridges/internal.ts b/apps/meteor/app/apps/server/bridges/internal.ts index 22e44a2bb2d0b..8f5ab68e68787 100644 --- a/apps/meteor/app/apps/server/bridges/internal.ts +++ b/apps/meteor/app/apps/server/bridges/internal.ts @@ -1,5 +1,5 @@ import type { IAppServerOrchestrator, IAppsSetting } from '@rocket.chat/apps'; -import { InternalBridge } from '@rocket.chat/apps-engine/server/bridges/InternalBridge'; +import { InternalBridge } from '@rocket.chat/apps/dist/server/bridges/InternalBridge'; import type { ISetting, ISubscription } from '@rocket.chat/core-typings'; import { Settings, Subscriptions } from '@rocket.chat/models'; import { isTruthy } from '@rocket.chat/tools'; diff --git a/apps/meteor/app/apps/server/bridges/internalFederation.ts b/apps/meteor/app/apps/server/bridges/internalFederation.ts index 9bf3b34439ce5..1b221844488e8 100644 --- a/apps/meteor/app/apps/server/bridges/internalFederation.ts +++ b/apps/meteor/app/apps/server/bridges/internalFederation.ts @@ -1,4 +1,4 @@ -import type { IInternalFederationBridge } from '@rocket.chat/apps-engine/server/bridges/IInternalFederationBridge'; +import type { IInternalFederationBridge } from '@rocket.chat/apps/dist/server/bridges/IInternalFederationBridge'; import { FederationKeys } from '@rocket.chat/models'; export class AppInternalFederationBridge implements IInternalFederationBridge { diff --git a/apps/meteor/app/apps/server/bridges/livechat.ts b/apps/meteor/app/apps/server/bridges/livechat.ts index c73bbda1d3580..81a6d8551f82e 100644 --- a/apps/meteor/app/apps/server/bridges/livechat.ts +++ b/apps/meteor/app/apps/server/bridges/livechat.ts @@ -1,4 +1,5 @@ -import type { IAppServerOrchestrator, IAppsLivechatMessage, IAppsMessage } from '@rocket.chat/apps'; +import type { IAppServerOrchestrator, IAppsLivechatMessage } from '@rocket.chat/apps'; +import { LivechatBridge } from '@rocket.chat/apps/dist/server/bridges/LivechatBridge'; import type { IExtraRoomParams } from '@rocket.chat/apps-engine/definition/accessors/ILivechatCreator'; import type { IVisitorExternalIdentifier, @@ -10,8 +11,7 @@ import type { } from '@rocket.chat/apps-engine/definition/livechat'; import type { IMessage as IAppsEngineMessage } from '@rocket.chat/apps-engine/definition/messages'; import type { IUser } from '@rocket.chat/apps-engine/definition/users'; -import { LivechatBridge } from '@rocket.chat/apps-engine/server/bridges/LivechatBridge'; -import type { ILivechatDepartment, IOmnichannelRoom, SelectedAgent, IMessage, ILivechatVisitor } from '@rocket.chat/core-typings'; +import type { ILivechatDepartment, IOmnichannelRoom, SelectedAgent, ILivechatVisitor } from '@rocket.chat/core-typings'; import { OmnichannelSourceType } from '@rocket.chat/core-typings'; import { LivechatVisitors, LivechatRooms, LivechatDepartment, Users } from '@rocket.chat/models'; import { registerGuest } from '@rocket.chat/omni-core'; @@ -29,12 +29,6 @@ import { online } from '../../../livechat/server/lib/service-status'; import { transfer } from '../../../livechat/server/lib/transfer'; import { settings } from '../../../settings/server'; -declare module '@rocket.chat/apps/dist/converters/IAppMessagesConverter' { - export interface IAppMessagesConverter { - convertMessage(message: IMessage, cacheObj?: object): Promise; - } -} - declare module '@rocket.chat/apps-engine/definition/accessors/ILivechatCreator' { interface IExtraRoomParams { customFields?: Record; @@ -65,7 +59,7 @@ export class AppLivechatBridge extends LivechatBridge { // #TODO: #AppsEngineTypes - Remove explicit types and typecasts once the apps-engine definition/implementation mismatch is fixed. const guest = this.orch.getConverters().get('visitors').convertAppVisitor(message.visitor); - const appMessage = (await this.orch.getConverters().get('messages').convertAppMessage(message)) as IMessage | undefined; + const appMessage = await this.orch.getConverters().get('messages').convertAppMessage(message); const livechatMessage = appMessage as ILivechatMessage | undefined; const msg = await sendMessage({ @@ -129,13 +123,12 @@ export class AppLivechatBridge extends LivechatBridge { type: OmnichannelSourceType.APP, id: appId, alias: this.orch.getManager()?.getOneById(appId)?.getName(), - ...(source && - source.type === 'app' && { - sidebarIcon: source.sidebarIcon, - defaultIcon: source.defaultIcon, - label: source.label, - destination: source.destination, - }), + ...(source?.type === 'app' && { + sidebarIcon: source.sidebarIcon, + defaultIcon: source.defaultIcon, + label: source.label, + destination: source.destination, + }), }, }, agent: agentRoom, diff --git a/apps/meteor/app/apps/server/bridges/messages.ts b/apps/meteor/app/apps/server/bridges/messages.ts index 16366626c07c8..b5be15ae7ca92 100644 --- a/apps/meteor/app/apps/server/bridges/messages.ts +++ b/apps/meteor/app/apps/server/bridges/messages.ts @@ -1,8 +1,8 @@ import type { IAppServerOrchestrator, IAppsMessage, IAppsUser } from '@rocket.chat/apps'; +import type { ITypingDescriptor } from '@rocket.chat/apps/dist/server/bridges/MessageBridge'; +import { MessageBridge } from '@rocket.chat/apps/dist/server/bridges/MessageBridge'; import type { Reaction } from '@rocket.chat/apps-engine/definition/messages'; import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms'; -import type { ITypingDescriptor } from '@rocket.chat/apps-engine/server/bridges/MessageBridge'; -import { MessageBridge } from '@rocket.chat/apps-engine/server/bridges/MessageBridge'; import { api } from '@rocket.chat/core-services'; import type { IMessage } from '@rocket.chat/core-typings'; import { Users, Subscriptions } from '@rocket.chat/models'; diff --git a/apps/meteor/app/apps/server/bridges/moderation.ts b/apps/meteor/app/apps/server/bridges/moderation.ts index 0f1e56bbdec35..42d521b102f83 100644 --- a/apps/meteor/app/apps/server/bridges/moderation.ts +++ b/apps/meteor/app/apps/server/bridges/moderation.ts @@ -1,7 +1,7 @@ import type { IAppServerOrchestrator } from '@rocket.chat/apps'; +import { ModerationBridge } from '@rocket.chat/apps/dist/server/bridges/ModerationBridge'; import type { IMessage } from '@rocket.chat/apps-engine/definition/messages'; import type { IUser } from '@rocket.chat/apps-engine/definition/users'; -import { ModerationBridge } from '@rocket.chat/apps-engine/server/bridges/ModerationBridge'; import { ModerationReports } from '@rocket.chat/models'; import { reportMessage } from '../../../../server/lib/moderation/reportMessage'; diff --git a/apps/meteor/app/apps/server/bridges/oauthApps.ts b/apps/meteor/app/apps/server/bridges/oauthApps.ts index bfd72917a367c..ad9d26c24ae4c 100644 --- a/apps/meteor/app/apps/server/bridges/oauthApps.ts +++ b/apps/meteor/app/apps/server/bridges/oauthApps.ts @@ -1,8 +1,8 @@ import { randomUUID } from 'crypto'; import type { IAppServerOrchestrator } from '@rocket.chat/apps'; +import { OAuthAppsBridge } from '@rocket.chat/apps/dist/server/bridges/OAuthAppsBridge'; import type { IOAuthApp, IOAuthAppParams } from '@rocket.chat/apps-engine/definition/accessors/IOAuthApp'; -import { OAuthAppsBridge } from '@rocket.chat/apps-engine/server/bridges/OAuthAppsBridge'; import type { IOAuthApps } from '@rocket.chat/core-typings'; import { OAuthApps, Users } from '@rocket.chat/models'; import { Random } from '@rocket.chat/random'; diff --git a/apps/meteor/app/apps/server/bridges/outboundCommunication.ts b/apps/meteor/app/apps/server/bridges/outboundCommunication.ts index 146ae18b38ead..3ba7218a601c0 100644 --- a/apps/meteor/app/apps/server/bridges/outboundCommunication.ts +++ b/apps/meteor/app/apps/server/bridges/outboundCommunication.ts @@ -1,10 +1,10 @@ import type { IAppServerOrchestrator } from '@rocket.chat/apps'; +import { OutboundMessageBridge } from '@rocket.chat/apps/dist/server/bridges/OutboundMessagesBridge'; import type { IOutboundEmailMessageProvider, IOutboundMessageProviders, IOutboundPhoneMessageProvider, } from '@rocket.chat/apps-engine/definition/outboundCommunication'; -import { OutboundMessageBridge } from '@rocket.chat/apps-engine/server/bridges'; import { getOutboundService } from '../../../livechat/server/lib/outboundcommunication'; diff --git a/apps/meteor/app/apps/server/bridges/persistence.ts b/apps/meteor/app/apps/server/bridges/persistence.ts index e1dedd270ac6e..ce85b801a9808 100644 --- a/apps/meteor/app/apps/server/bridges/persistence.ts +++ b/apps/meteor/app/apps/server/bridges/persistence.ts @@ -1,6 +1,6 @@ import type { IAppServerOrchestrator } from '@rocket.chat/apps'; +import { PersistenceBridge } from '@rocket.chat/apps/dist/server/bridges/PersistenceBridge'; import type { RocketChatAssociationRecord } from '@rocket.chat/apps-engine/definition/metadata'; -import { PersistenceBridge } from '@rocket.chat/apps-engine/server/bridges/PersistenceBridge'; import type { InsertOneResult } from 'mongodb'; export class AppPersistenceBridge extends PersistenceBridge { diff --git a/apps/meteor/app/apps/server/bridges/roles.ts b/apps/meteor/app/apps/server/bridges/roles.ts index aa0fcdc7b80b7..7f7daddd328de 100644 --- a/apps/meteor/app/apps/server/bridges/roles.ts +++ b/apps/meteor/app/apps/server/bridges/roles.ts @@ -1,5 +1,5 @@ import type { IAppServerOrchestrator, IAppsRole } from '@rocket.chat/apps'; -import { RoleBridge } from '@rocket.chat/apps-engine/server/bridges'; +import { RoleBridge } from '@rocket.chat/apps/dist/server/bridges/RoleBridge'; import type { IRole } from '@rocket.chat/core-typings'; import { Roles } from '@rocket.chat/models'; diff --git a/apps/meteor/app/apps/server/bridges/rooms.ts b/apps/meteor/app/apps/server/bridges/rooms.ts index 473614edfe25c..11b2b405fb2e6 100644 --- a/apps/meteor/app/apps/server/bridges/rooms.ts +++ b/apps/meteor/app/apps/server/bridges/rooms.ts @@ -1,10 +1,10 @@ import type { IAppServerOrchestrator } from '@rocket.chat/apps'; +import type { GetMessagesOptions, GetRoomsFilters, GetRoomsOptions } from '@rocket.chat/apps/dist/server/bridges/RoomBridge'; +import { RoomBridge } from '@rocket.chat/apps/dist/server/bridges/RoomBridge'; import type { IMessage, IMessageRaw } from '@rocket.chat/apps-engine/definition/messages'; import type { IRoom, IRoomRaw } from '@rocket.chat/apps-engine/definition/rooms'; import { RoomType } from '@rocket.chat/apps-engine/definition/rooms'; import type { IUser } from '@rocket.chat/apps-engine/definition/users'; -import type { GetMessagesOptions, GetRoomsFilters, GetRoomsOptions } from '@rocket.chat/apps-engine/server/bridges/RoomBridge'; -import { RoomBridge } from '@rocket.chat/apps-engine/server/bridges/RoomBridge'; import type { ISubscription, IUser as ICoreUser, IRoom as ICoreRoom, IMessage as ICoreMessage } from '@rocket.chat/core-typings'; import { Subscriptions, Users, Rooms, Messages } from '@rocket.chat/models'; import type { FindOptions, Sort } from 'mongodb'; diff --git a/apps/meteor/app/apps/server/bridges/scheduler.ts b/apps/meteor/app/apps/server/bridges/scheduler.ts index b08d49182c9bc..8f044cf1832f9 100644 --- a/apps/meteor/app/apps/server/bridges/scheduler.ts +++ b/apps/meteor/app/apps/server/bridges/scheduler.ts @@ -1,9 +1,9 @@ import type { Job } from '@rocket.chat/agenda'; import { Agenda } from '@rocket.chat/agenda'; import type { IAppServerOrchestrator } from '@rocket.chat/apps'; +import { SchedulerBridge } from '@rocket.chat/apps/dist/server/bridges/SchedulerBridge'; import type { IProcessor, IOnetimeSchedule, IRecurringSchedule, IJobContext } from '@rocket.chat/apps-engine/definition/scheduler'; import { StartupType } from '@rocket.chat/apps-engine/definition/scheduler'; -import { SchedulerBridge } from '@rocket.chat/apps-engine/server/bridges/SchedulerBridge'; import { ObjectId } from 'bson'; import { MongoInternals } from 'meteor/mongo'; @@ -90,7 +90,7 @@ export class AppSchedulerBridge extends SchedulerBridge { }); if (runAfterRegister.length) { - return Promise.all(runAfterRegister) as Promise>; + return Promise.all(runAfterRegister); } } diff --git a/apps/meteor/app/apps/server/bridges/settings.ts b/apps/meteor/app/apps/server/bridges/settings.ts index 7c569a3f12fd7..145f81fc129ae 100644 --- a/apps/meteor/app/apps/server/bridges/settings.ts +++ b/apps/meteor/app/apps/server/bridges/settings.ts @@ -1,7 +1,7 @@ import { Apps, type IAppServerOrchestrator } from '@rocket.chat/apps'; +import { ServerSettingBridge } from '@rocket.chat/apps/dist/server/bridges/ServerSettingBridge'; import type { IReadSettingPermission } from '@rocket.chat/apps-engine/definition/permissions/IPermission'; import type { ISetting } from '@rocket.chat/apps-engine/definition/settings'; -import { ServerSettingBridge } from '@rocket.chat/apps-engine/server/bridges/ServerSettingBridge'; import { Settings } from '@rocket.chat/models'; import { updateAuditedByApp } from '../../../../server/settings/lib/auditedSettingUpdates'; diff --git a/apps/meteor/app/apps/server/bridges/thread.ts b/apps/meteor/app/apps/server/bridges/thread.ts index 099fe9184e004..7857005eaea23 100644 --- a/apps/meteor/app/apps/server/bridges/thread.ts +++ b/apps/meteor/app/apps/server/bridges/thread.ts @@ -1,6 +1,6 @@ import type { IAppServerOrchestrator } from '@rocket.chat/apps'; +import { ThreadBridge } from '@rocket.chat/apps/dist/server/bridges/ThreadBridge'; import type { IMessage } from '@rocket.chat/apps-engine/definition/messages'; -import { ThreadBridge } from '@rocket.chat/apps-engine/server/bridges/ThreadBridge'; export class AppThreadBridge extends ThreadBridge { constructor(private readonly orch: IAppServerOrchestrator) { diff --git a/apps/meteor/app/apps/server/bridges/uiInteraction.ts b/apps/meteor/app/apps/server/bridges/uiInteraction.ts index fc68e4e30d3ff..69172f9cf5d59 100644 --- a/apps/meteor/app/apps/server/bridges/uiInteraction.ts +++ b/apps/meteor/app/apps/server/bridges/uiInteraction.ts @@ -1,7 +1,7 @@ import type { IAppServerOrchestrator } from '@rocket.chat/apps'; +import { UiInteractionBridge as AppsEngineUiInteractionBridge } from '@rocket.chat/apps/dist/server/bridges/UiInteractionBridge'; import type { IUIKitInteraction } from '@rocket.chat/apps-engine/definition/uikit'; import type { IUser } from '@rocket.chat/apps-engine/definition/users'; -import { UiInteractionBridge as AppsEngineUiInteractionBridge } from '@rocket.chat/apps-engine/server/bridges/UiInteractionBridge'; import { api } from '@rocket.chat/core-services'; import type * as UiKit from '@rocket.chat/ui-kit'; diff --git a/apps/meteor/app/apps/server/bridges/uploads.ts b/apps/meteor/app/apps/server/bridges/uploads.ts index b9d0ff67de58e..929e70743c557 100644 --- a/apps/meteor/app/apps/server/bridges/uploads.ts +++ b/apps/meteor/app/apps/server/bridges/uploads.ts @@ -1,7 +1,7 @@ import type { IAppServerOrchestrator } from '@rocket.chat/apps'; +import { UploadBridge } from '@rocket.chat/apps/dist/server/bridges/UploadBridge'; import type { IUpload } from '@rocket.chat/apps-engine/definition/uploads'; import type { IUploadDetails } from '@rocket.chat/apps-engine/definition/uploads/IUploadDetails'; -import { UploadBridge } from '@rocket.chat/apps-engine/server/bridges/UploadBridge'; import { determineFileType } from '../../../../ee/lib/misc/determineFileType'; import { FileUpload } from '../../../file-upload/server'; diff --git a/apps/meteor/app/apps/server/bridges/users.ts b/apps/meteor/app/apps/server/bridges/users.ts index 43cd7f9ea89e1..ee5f8d93f799f 100644 --- a/apps/meteor/app/apps/server/bridges/users.ts +++ b/apps/meteor/app/apps/server/bridges/users.ts @@ -1,6 +1,6 @@ import type { IAppServerOrchestrator } from '@rocket.chat/apps'; +import { UserBridge } from '@rocket.chat/apps/dist/server/bridges/UserBridge'; import type { IUserCreationOptions, IUser, UserType } from '@rocket.chat/apps-engine/definition/users'; -import { UserBridge } from '@rocket.chat/apps-engine/server/bridges/UserBridge'; import { Presence } from '@rocket.chat/core-services'; import type { UserStatus } from '@rocket.chat/core-typings'; import { Subscriptions, Users } from '@rocket.chat/models'; diff --git a/apps/meteor/app/apps/server/bridges/videoConferences.ts b/apps/meteor/app/apps/server/bridges/videoConferences.ts index 8986c15a3c6dd..56f70e3e416e4 100644 --- a/apps/meteor/app/apps/server/bridges/videoConferences.ts +++ b/apps/meteor/app/apps/server/bridges/videoConferences.ts @@ -1,7 +1,7 @@ import type { IAppServerOrchestrator } from '@rocket.chat/apps'; +import { VideoConferenceBridge } from '@rocket.chat/apps/dist/server/bridges/VideoConferenceBridge'; import type { IVideoConfProvider } from '@rocket.chat/apps-engine/definition/videoConfProviders'; import type { AppVideoConference, VideoConference } from '@rocket.chat/apps-engine/definition/videoConferences'; -import { VideoConferenceBridge } from '@rocket.chat/apps-engine/server/bridges/VideoConferenceBridge'; import { VideoConf } from '@rocket.chat/core-services'; import { videoConfProviders } from '../../../../server/lib/videoConfProviders'; diff --git a/apps/meteor/app/statistics/server/lib/getAppsStatistics.ts b/apps/meteor/app/statistics/server/lib/getAppsStatistics.ts index 90e05d1923563..1734d175c6c5d 100644 --- a/apps/meteor/app/statistics/server/lib/getAppsStatistics.ts +++ b/apps/meteor/app/statistics/server/lib/getAppsStatistics.ts @@ -1,6 +1,6 @@ import { Apps } from '@rocket.chat/apps'; +import { AppInstallationSource } from '@rocket.chat/apps/dist/server/storage/IAppStorageItem'; import { AppStatus, AppStatusUtils } from '@rocket.chat/apps-engine/definition/AppStatus'; -import { AppInstallationSource } from '@rocket.chat/apps-engine/server/storage'; import mem from 'mem'; import { SystemLogger } from '../../../../server/lib/logger/system'; diff --git a/apps/meteor/client/apps/RealAppsEngineUIHost.ts b/apps/meteor/client/apps/RealAppsEngineUIHost.ts index c6a746f6bb7a8..a8da21e8aeea1 100644 --- a/apps/meteor/client/apps/RealAppsEngineUIHost.ts +++ b/apps/meteor/client/apps/RealAppsEngineUIHost.ts @@ -1,5 +1,6 @@ -import { AppsEngineUIHost } from '@rocket.chat/apps-engine/client/AppsEngineUIHost'; -import type { IExternalComponentRoomInfo, IExternalComponentUserInfo } from '@rocket.chat/apps-engine/client/definition'; +import { AppsEngineUIHost } from '@rocket.chat/apps/dist/client/AppsEngineUIHost'; +import type { IExternalComponentRoomInfo } from '@rocket.chat/apps/dist/client/definition/IExternalComponentRoomInfo'; +import type { IExternalComponentUserInfo } from '@rocket.chat/apps/dist/client/definition/IExternalComponentUserInfo'; import { getUserAvatarURL } from '../../app/utils/client/getUserAvatarURL'; import { sdk } from '../../app/utils/client/lib/SDKClient'; diff --git a/apps/meteor/client/apps/orchestrator.ts b/apps/meteor/client/apps/orchestrator.ts index d08641da34d22..e376211b8260a 100644 --- a/apps/meteor/client/apps/orchestrator.ts +++ b/apps/meteor/client/apps/orchestrator.ts @@ -1,5 +1,5 @@ -import { AppClientManager } from '@rocket.chat/apps-engine/client/AppClientManager'; -import type { AppsEngineUIHost } from '@rocket.chat/apps-engine/client/AppsEngineUIHost'; +import { AppClientManager } from '@rocket.chat/apps/dist/client/AppClientManager'; +import type { AppsEngineUIHost } from '@rocket.chat/apps/dist/client/AppsEngineUIHost'; import type { IPermission } from '@rocket.chat/apps-engine/definition/permissions/IPermission'; import type { ISetting } from '@rocket.chat/apps-engine/definition/settings'; import type { Serialized } from '@rocket.chat/core-typings'; diff --git a/apps/meteor/client/contexts/AppsContext.tsx b/apps/meteor/client/contexts/AppsContext.tsx index 39929c20aed08..38eda15a7ab98 100644 --- a/apps/meteor/client/contexts/AppsContext.tsx +++ b/apps/meteor/client/contexts/AppsContext.tsx @@ -1,4 +1,4 @@ -import type { AppClientManager } from '@rocket.chat/apps-engine/client/AppClientManager'; +import type { AppClientManager } from '@rocket.chat/apps/dist/client/AppClientManager'; import type { IPermission } from '@rocket.chat/apps-engine/definition/permissions/IPermission'; import type { ISetting } from '@rocket.chat/apps-engine/definition/settings'; import type { Serialized } from '@rocket.chat/core-typings'; diff --git a/apps/meteor/ee/app/license/server/canEnableApp.ts b/apps/meteor/ee/app/license/server/canEnableApp.ts index c18ad9efb6619..b691656226e23 100644 --- a/apps/meteor/ee/app/license/server/canEnableApp.ts +++ b/apps/meteor/ee/app/license/server/canEnableApp.ts @@ -1,4 +1,4 @@ -import type { IAppStorageItem } from '@rocket.chat/apps-engine/server/storage'; +import type { IAppStorageItem } from '@rocket.chat/apps/dist/server/storage/IAppStorageItem'; import { Apps } from '@rocket.chat/core-services'; import type { LicenseModule } from '@rocket.chat/core-typings'; import { License, type LicenseImp } from '@rocket.chat/license'; diff --git a/apps/meteor/ee/lib/misc/formatAppInstanceForRest.ts b/apps/meteor/ee/lib/misc/formatAppInstanceForRest.ts index 7819404525d5f..4a976c0ef7c03 100644 --- a/apps/meteor/ee/lib/misc/formatAppInstanceForRest.ts +++ b/apps/meteor/ee/lib/misc/formatAppInstanceForRest.ts @@ -1,8 +1,8 @@ +import type { ProxiedApp } from '@rocket.chat/apps/dist/server/ProxiedApp'; +import type { AppLicenseValidationResult } from '@rocket.chat/apps/dist/server/marketplace/license/AppLicenseValidationResult'; +import type { IAppStorageItem } from '@rocket.chat/apps/dist/server/storage/IAppStorageItem'; import type { AppStatus } from '@rocket.chat/apps-engine/definition/AppStatus'; import type { IAppInfo } from '@rocket.chat/apps-engine/definition/metadata'; -import type { ProxiedApp } from '@rocket.chat/apps-engine/server/ProxiedApp'; -import type { AppLicenseValidationResult } from '@rocket.chat/apps-engine/server/marketplace/license'; -import type { IAppStorageItem } from '@rocket.chat/apps-engine/server/storage'; import type { AppStatusReport } from '@rocket.chat/core-services'; import type { App } from '@rocket.chat/core-typings'; diff --git a/apps/meteor/ee/server/apps/communication/endpoints/appsCountHandler.ts b/apps/meteor/ee/server/apps/communication/endpoints/appsCountHandler.ts index 402ceb709a16a..67665124d980c 100644 --- a/apps/meteor/ee/server/apps/communication/endpoints/appsCountHandler.ts +++ b/apps/meteor/ee/server/apps/communication/endpoints/appsCountHandler.ts @@ -1,4 +1,4 @@ -import type { AppManager } from '@rocket.chat/apps-engine/server/AppManager'; +import type { AppManager } from '@rocket.chat/apps/dist/server/AppManager'; import { License } from '@rocket.chat/license'; import { API } from '../../../../../app/api/server'; diff --git a/apps/meteor/ee/server/apps/communication/rest.ts b/apps/meteor/ee/server/apps/communication/rest.ts index 62af65d40987f..27440ba7caeea 100644 --- a/apps/meteor/ee/server/apps/communication/rest.ts +++ b/apps/meteor/ee/server/apps/communication/rest.ts @@ -1,7 +1,7 @@ +import type { AppManager } from '@rocket.chat/apps/dist/server/AppManager'; +import type { IMarketplaceInfo } from '@rocket.chat/apps/dist/server/marketplace/IMarketplaceInfo'; import { AppStatus, AppStatusUtils } from '@rocket.chat/apps-engine/definition/AppStatus'; import type { IAppInfo } from '@rocket.chat/apps-engine/definition/metadata'; -import type { AppManager } from '@rocket.chat/apps-engine/server/AppManager'; -import type { IMarketplaceInfo } from '@rocket.chat/apps-engine/server/marketplace'; import type { AppStatusReport } from '@rocket.chat/core-services'; import type { IMessage, IUser } from '@rocket.chat/core-typings'; import { License } from '@rocket.chat/license'; diff --git a/apps/meteor/ee/server/apps/cron.ts b/apps/meteor/ee/server/apps/cron.ts index d5e7111972821..9a09a1b457d18 100644 --- a/apps/meteor/ee/server/apps/cron.ts +++ b/apps/meteor/ee/server/apps/cron.ts @@ -1,5 +1,5 @@ +import type { ProxiedApp } from '@rocket.chat/apps/dist/server/ProxiedApp'; import { AppStatus } from '@rocket.chat/apps-engine/definition/AppStatus'; -import type { ProxiedApp } from '@rocket.chat/apps-engine/server/ProxiedApp'; import { cronJobs } from '@rocket.chat/cron'; import { Settings, Users } from '@rocket.chat/models'; diff --git a/apps/meteor/ee/server/apps/orchestrator.js b/apps/meteor/ee/server/apps/orchestrator.js index 919f695bedc6d..0c04100add928 100644 --- a/apps/meteor/ee/server/apps/orchestrator.js +++ b/apps/meteor/ee/server/apps/orchestrator.js @@ -3,8 +3,8 @@ import * as os from 'os'; import * as path from 'path'; import { registerOrchestrator } from '@rocket.chat/apps'; +import { AppManager } from '@rocket.chat/apps/dist/server/AppManager'; import { EssentialAppDisabledException } from '@rocket.chat/apps-engine/definition/exceptions'; -import { AppManager } from '@rocket.chat/apps-engine/server/AppManager'; import { Logger } from '@rocket.chat/logger'; import { AppLogs, Apps as AppsModel, AppsPersistence, Statistics } from '@rocket.chat/models'; import { Meteor } from 'meteor/meteor'; diff --git a/apps/meteor/ee/server/apps/storage/AppFileSystemSourceStorage.ts b/apps/meteor/ee/server/apps/storage/AppFileSystemSourceStorage.ts index 54e83a11df5d5..afd3d16808d77 100644 --- a/apps/meteor/ee/server/apps/storage/AppFileSystemSourceStorage.ts +++ b/apps/meteor/ee/server/apps/storage/AppFileSystemSourceStorage.ts @@ -1,8 +1,8 @@ import { promises as fs } from 'fs'; import { join, normalize } from 'path'; -import type { IAppStorageItem } from '@rocket.chat/apps-engine/server/storage'; -import { AppSourceStorage } from '@rocket.chat/apps-engine/server/storage'; +import { AppSourceStorage } from '@rocket.chat/apps/dist/server/storage/AppSourceStorage'; +import type { IAppStorageItem } from '@rocket.chat/apps/dist/server/storage/IAppStorageItem'; export class AppFileSystemSourceStorage extends AppSourceStorage { private pathPrefix = 'fs:/'; diff --git a/apps/meteor/ee/server/apps/storage/AppGridFSSourceStorage.ts b/apps/meteor/ee/server/apps/storage/AppGridFSSourceStorage.ts index 2fd4232ee6d35..e903ce2023a17 100644 --- a/apps/meteor/ee/server/apps/storage/AppGridFSSourceStorage.ts +++ b/apps/meteor/ee/server/apps/storage/AppGridFSSourceStorage.ts @@ -1,5 +1,5 @@ -import type { IAppStorageItem } from '@rocket.chat/apps-engine/server/storage'; -import { AppSourceStorage } from '@rocket.chat/apps-engine/server/storage'; +import { AppSourceStorage } from '@rocket.chat/apps/dist/server/storage/AppSourceStorage'; +import type { IAppStorageItem } from '@rocket.chat/apps/dist/server/storage/IAppStorageItem'; import { streamToBuffer } from '@rocket.chat/tools'; import { MongoInternals } from 'meteor/mongo'; import { NpmModuleMongodb } from 'meteor/npm-mongo'; diff --git a/apps/meteor/ee/server/apps/storage/AppRealLogStorage.ts b/apps/meteor/ee/server/apps/storage/AppRealLogStorage.ts index e86bafe7afe88..f8f7e632c4353 100644 --- a/apps/meteor/ee/server/apps/storage/AppRealLogStorage.ts +++ b/apps/meteor/ee/server/apps/storage/AppRealLogStorage.ts @@ -1,6 +1,6 @@ -import type { ILoggerStorageEntry } from '@rocket.chat/apps-engine/server/logging'; -import type { IAppLogStorageFindOptions } from '@rocket.chat/apps-engine/server/storage'; -import { AppLogStorage } from '@rocket.chat/apps-engine/server/storage'; +import type { ILoggerStorageEntry } from '@rocket.chat/apps/dist/server/logging/ILoggerStorageEntry'; +import type { IAppLogStorageFindOptions } from '@rocket.chat/apps/dist/server/storage/AppLogStorage'; +import { AppLogStorage } from '@rocket.chat/apps/dist/server/storage/AppLogStorage'; import { InstanceStatus } from '@rocket.chat/instance-status'; import type { AppLogs } from '@rocket.chat/models'; diff --git a/apps/meteor/ee/server/apps/storage/AppRealStorage.ts b/apps/meteor/ee/server/apps/storage/AppRealStorage.ts index db96013af0c76..eba729edce941 100644 --- a/apps/meteor/ee/server/apps/storage/AppRealStorage.ts +++ b/apps/meteor/ee/server/apps/storage/AppRealStorage.ts @@ -1,9 +1,9 @@ +import type { IMarketplaceInfo } from '@rocket.chat/apps/dist/server/marketplace/IMarketplaceInfo'; +import { AppMetadataStorage } from '@rocket.chat/apps/dist/server/storage/AppMetadataStorage'; +import type { IAppStorageItem } from '@rocket.chat/apps/dist/server/storage/IAppStorageItem'; import type { AppStatus } from '@rocket.chat/apps-engine/definition/AppStatus'; import type { IAppInfo } from '@rocket.chat/apps-engine/definition/metadata'; import type { ISetting } from '@rocket.chat/apps-engine/definition/settings'; -import type { IMarketplaceInfo } from '@rocket.chat/apps-engine/server/marketplace'; -import type { IAppStorageItem } from '@rocket.chat/apps-engine/server/storage'; -import { AppMetadataStorage } from '@rocket.chat/apps-engine/server/storage'; import type { Apps } from '@rocket.chat/models'; import { removeEmpty } from '@rocket.chat/tools'; import type { UpdateFilter } from 'mongodb'; diff --git a/apps/meteor/ee/server/apps/storage/ConfigurableAppSourceStorage.ts b/apps/meteor/ee/server/apps/storage/ConfigurableAppSourceStorage.ts index ee70cd38b409f..87a8fd21a8642 100644 --- a/apps/meteor/ee/server/apps/storage/ConfigurableAppSourceStorage.ts +++ b/apps/meteor/ee/server/apps/storage/ConfigurableAppSourceStorage.ts @@ -1,5 +1,5 @@ -import type { IAppStorageItem } from '@rocket.chat/apps-engine/server/storage'; -import { AppSourceStorage } from '@rocket.chat/apps-engine/server/storage'; +import { AppSourceStorage } from '@rocket.chat/apps/dist/server/storage/AppSourceStorage'; +import type { IAppStorageItem } from '@rocket.chat/apps/dist/server/storage/IAppStorageItem'; import { AppFileSystemSourceStorage } from './AppFileSystemSourceStorage'; import { AppGridFSSourceStorage } from './AppGridFSSourceStorage'; diff --git a/apps/meteor/ee/tests/unit/server/apps/AppRealStorage.spec.ts b/apps/meteor/ee/tests/unit/server/apps/AppRealStorage.spec.ts index 3ea794fd06614..ed13081ecc1e6 100644 --- a/apps/meteor/ee/tests/unit/server/apps/AppRealStorage.spec.ts +++ b/apps/meteor/ee/tests/unit/server/apps/AppRealStorage.spec.ts @@ -1,7 +1,7 @@ +import { AppInstallationSource, type IAppStorageItem } from '@rocket.chat/apps/dist/server/storage/IAppStorageItem'; import { AppStatus } from '@rocket.chat/apps-engine/definition/AppStatus'; import { AppInterface } from '@rocket.chat/apps-engine/definition/metadata'; import { SettingType } from '@rocket.chat/apps-engine/definition/settings'; -import { AppInstallationSource, type IAppStorageItem } from '@rocket.chat/apps-engine/server/storage'; import { expect } from 'chai'; import sinon from 'sinon'; diff --git a/apps/meteor/lib/apps/getInstallationSourceFromAppStorageItem.ts b/apps/meteor/lib/apps/getInstallationSourceFromAppStorageItem.ts index d8fd5a48f79f3..43c87ca56e80e 100644 --- a/apps/meteor/lib/apps/getInstallationSourceFromAppStorageItem.ts +++ b/apps/meteor/lib/apps/getInstallationSourceFromAppStorageItem.ts @@ -1,4 +1,4 @@ -import type { IAppStorageItem } from '@rocket.chat/apps-engine/server/storage'; +import type { IAppStorageItem } from '@rocket.chat/apps/dist/server/storage/IAppStorageItem'; import type { LicenseAppSources } from '@rocket.chat/core-typings'; /** diff --git a/apps/meteor/server/services/apps-engine/service.ts b/apps/meteor/server/services/apps-engine/service.ts index 0be60a579908d..dcf0497a2ef53 100644 --- a/apps/meteor/server/services/apps-engine/service.ts +++ b/apps/meteor/server/services/apps-engine/service.ts @@ -1,9 +1,9 @@ import { Apps, AppEvents } from '@rocket.chat/apps'; +import type { IGetAppsFilter } from '@rocket.chat/apps/dist/server/IGetAppsFilter'; +import type { IAppStorageItem } from '@rocket.chat/apps/dist/server/storage/IAppStorageItem'; import type { AppStatus } from '@rocket.chat/apps-engine/definition/AppStatus'; import { AppStatusUtils } from '@rocket.chat/apps-engine/definition/AppStatus'; import type { IAppInfo } from '@rocket.chat/apps-engine/definition/metadata'; -import type { IGetAppsFilter } from '@rocket.chat/apps-engine/server/IGetAppsFilter'; -import type { IAppStorageItem } from '@rocket.chat/apps-engine/server/storage'; import type { AppStatusReport, IAppsEngineService } from '@rocket.chat/core-services'; import { ServiceClassInternal } from '@rocket.chat/core-services'; diff --git a/apps/meteor/server/services/video-conference/service.ts b/apps/meteor/server/services/video-conference/service.ts index 3c33979fdd3a0..1517dc4d56e0b 100644 --- a/apps/meteor/server/services/video-conference/service.ts +++ b/apps/meteor/server/services/video-conference/service.ts @@ -1,6 +1,6 @@ import { Apps } from '@rocket.chat/apps'; +import type { AppVideoConfProviderManager } from '@rocket.chat/apps/dist/server/managers/AppVideoConfProviderManager'; import type { VideoConfData, VideoConfDataExtended } from '@rocket.chat/apps-engine/definition/videoConfProviders'; -import type { AppVideoConfProviderManager } from '@rocket.chat/apps-engine/server/managers'; import type { IVideoConfService, VideoConferenceJoinOptions } from '@rocket.chat/core-services'; import { api, ServiceClassInternal, Room } from '@rocket.chat/core-services'; import type { diff --git a/apps/meteor/server/startup/migrations/v294.ts b/apps/meteor/server/startup/migrations/v294.ts index 07f6dc2acc1fe..0cc7b55f45373 100644 --- a/apps/meteor/server/startup/migrations/v294.ts +++ b/apps/meteor/server/startup/migrations/v294.ts @@ -1,8 +1,6 @@ import { Apps } from '@rocket.chat/apps'; -import type { AppSignatureManager } from '@rocket.chat/apps-engine/server/managers/AppSignatureManager'; -import type { IAppStorageItem } from '@rocket.chat/apps-engine/server/storage'; +import type { IAppStorageItem } from '@rocket.chat/apps/dist/server/storage/IAppStorageItem'; -import type { AppRealStorage } from '../../../ee/server/apps/storage'; import { addMigration } from '../../lib/migrations'; addMigration({ @@ -14,12 +12,12 @@ addMigration({ Apps.initialize(); - const sigMan = Apps.getManager()?.getSignatureManager() as AppSignatureManager; - const appsStorage = Apps.getStorage() as AppRealStorage; + const sigMan = Apps.getManager().getSignatureManager(); + const appsStorage = Apps.getStorage(); const apps = await appsStorage.retrieveAll(); - for await (const app of apps.values()) { + for (const app of apps.values()) { if (app.installationSource && app.signature) { continue; } diff --git a/apps/meteor/server/startup/migrations/v307.ts b/apps/meteor/server/startup/migrations/v307.ts index d16d16220edc8..d10bb62349d55 100644 --- a/apps/meteor/server/startup/migrations/v307.ts +++ b/apps/meteor/server/startup/migrations/v307.ts @@ -1,9 +1,7 @@ import { Apps } from '@rocket.chat/apps'; -import type { AppSignatureManager } from '@rocket.chat/apps-engine/server/managers/AppSignatureManager'; -import type { IAppStorageItem } from '@rocket.chat/apps-engine/server/storage'; +import type { IAppStorageItem } from '@rocket.chat/apps/dist/server/storage/IAppStorageItem'; import { License } from '@rocket.chat/license'; -import type { AppRealStorage } from '../../../ee/server/apps/storage'; import { addMigration } from '../../lib/migrations'; addMigration({ @@ -21,11 +19,11 @@ addMigration({ Apps.initialize(); - const sigMan = Apps.getManager()?.getSignatureManager() as AppSignatureManager; - const appsStorage = Apps.getStorage() as AppRealStorage; + const sigMan = Apps.getManager().getSignatureManager(); + const appsStorage = Apps.getStorage(); const apps = await appsStorage.retrieveAllPrivate(); - for await (const app of apps.values()) { + for (const app of apps.values()) { const updatedApp = { ...app, migrated: true, diff --git a/apps/meteor/tests/end-to-end/apps/app-logs-export.ts b/apps/meteor/tests/end-to-end/apps/app-logs-export.ts index 0d8b1fc088a44..4022133b4abec 100644 --- a/apps/meteor/tests/end-to-end/apps/app-logs-export.ts +++ b/apps/meteor/tests/end-to-end/apps/app-logs-export.ts @@ -1,4 +1,4 @@ -import type { ILoggerStorageEntry } from '@rocket.chat/apps-engine/server/logging'; +import type { ILoggerStorageEntry } from '@rocket.chat/apps/dist/server/logging/ILoggerStorageEntry'; import type { App } from '@rocket.chat/core-typings'; import { expect } from 'chai'; import { after, before, describe, it } from 'mocha'; diff --git a/apps/meteor/tests/end-to-end/apps/app-logs-general.ts b/apps/meteor/tests/end-to-end/apps/app-logs-general.ts index 34ad33b561523..92d9d668f7b7d 100644 --- a/apps/meteor/tests/end-to-end/apps/app-logs-general.ts +++ b/apps/meteor/tests/end-to-end/apps/app-logs-general.ts @@ -1,4 +1,4 @@ -import type { ILoggerStorageEntry } from '@rocket.chat/apps-engine/server/logging'; +import type { ILoggerStorageEntry } from '@rocket.chat/apps/dist/server/logging/ILoggerStorageEntry'; import type { App } from '@rocket.chat/core-typings'; import { expect } from 'chai'; import { after, before, describe, it } from 'mocha'; diff --git a/apps/meteor/tests/end-to-end/apps/app-logs-nested-requests.ts b/apps/meteor/tests/end-to-end/apps/app-logs-nested-requests.ts index 76080fe704c72..6ef79a8cc60f0 100644 --- a/apps/meteor/tests/end-to-end/apps/app-logs-nested-requests.ts +++ b/apps/meteor/tests/end-to-end/apps/app-logs-nested-requests.ts @@ -1,4 +1,4 @@ -import type { ILoggerStorageEntry } from '@rocket.chat/apps-engine/server/logging'; +import type { ILoggerStorageEntry } from '@rocket.chat/apps/dist/server/logging/ILoggerStorageEntry'; import { expect } from 'chai'; import { after, before, describe, it } from 'mocha'; diff --git a/apps/meteor/tests/end-to-end/apps/app-logs.ts b/apps/meteor/tests/end-to-end/apps/app-logs.ts index da12c1bc77988..71c576e38fb75 100644 --- a/apps/meteor/tests/end-to-end/apps/app-logs.ts +++ b/apps/meteor/tests/end-to-end/apps/app-logs.ts @@ -1,4 +1,4 @@ -import type { ILoggerStorageEntry } from '@rocket.chat/apps-engine/server/logging'; +import type { ILoggerStorageEntry } from '@rocket.chat/apps/dist/server/logging/ILoggerStorageEntry'; import type { App } from '@rocket.chat/core-typings'; import { expect } from 'chai'; import { after, before, describe, it } from 'mocha'; diff --git a/apps/meteor/tests/mocks/client/marketplace.tsx b/apps/meteor/tests/mocks/client/marketplace.tsx index 52f1acae2c584..a571ddf06bf3f 100644 --- a/apps/meteor/tests/mocks/client/marketplace.tsx +++ b/apps/meteor/tests/mocks/client/marketplace.tsx @@ -1,6 +1,6 @@ -import { AppClientManager } from '@rocket.chat/apps-engine/client/AppClientManager'; -import { AppsEngineUIHost } from '@rocket.chat/apps-engine/client/AppsEngineUIHost'; -import type { IExternalComponentRoomInfo } from '@rocket.chat/apps-engine/client/definition'; +import { AppClientManager } from '@rocket.chat/apps/dist/client/AppClientManager'; +import { AppsEngineUIHost } from '@rocket.chat/apps/dist/client/AppsEngineUIHost'; +import type { IExternalComponentRoomInfo } from '@rocket.chat/apps/dist/client/definition/IExternalComponentRoomInfo'; import type { ReactNode } from 'react'; import { AppsContext, type IAppsOrchestrator } from '../../../client/contexts/AppsContext'; diff --git a/apps/meteor/tests/mocks/data.ts b/apps/meteor/tests/mocks/data.ts index fb8859a3055b2..7e8e290f4f510 100644 --- a/apps/meteor/tests/mocks/data.ts +++ b/apps/meteor/tests/mocks/data.ts @@ -1,5 +1,6 @@ import { faker } from '@faker-js/faker'; -import type { IExternalComponentRoomInfo, IExternalComponentUserInfo } from '@rocket.chat/apps-engine/client/definition'; +import type { IExternalComponentRoomInfo } from '@rocket.chat/apps/dist/client/definition/IExternalComponentRoomInfo'; +import type { IExternalComponentUserInfo } from '@rocket.chat/apps/dist/client/definition/IExternalComponentUserInfo'; import type { ILivechatContact } from '@rocket.chat/apps-engine/definition/livechat'; import { AppSubscriptionStatus, diff --git a/apps/meteor/tests/unit/app/license/server/canEnableApp.spec.ts b/apps/meteor/tests/unit/app/license/server/canEnableApp.spec.ts index 0cb68734fb462..0208c3afccacc 100644 --- a/apps/meteor/tests/unit/app/license/server/canEnableApp.spec.ts +++ b/apps/meteor/tests/unit/app/license/server/canEnableApp.spec.ts @@ -1,6 +1,6 @@ +import type { IMarketplaceInfo } from '@rocket.chat/apps/dist/server/marketplace/IMarketplaceInfo'; +import { AppInstallationSource, type IAppStorageItem } from '@rocket.chat/apps/dist/server/storage/IAppStorageItem'; import { AppStatus } from '@rocket.chat/apps-engine/definition/AppStatus'; -import type { IMarketplaceInfo } from '@rocket.chat/apps-engine/server/marketplace'; -import { AppInstallationSource, type IAppStorageItem } from '@rocket.chat/apps-engine/server/storage'; import type { Apps } from '@rocket.chat/core-services'; import type { LicenseImp } from '@rocket.chat/license'; import { expect } from 'chai'; @@ -34,9 +34,6 @@ const getDefaultApp = (): IAppStorageItem => ({ updatedAt: new Date('2024-10-09T19:27:33.923Z'), }); -// We will be passing promises to the `expect` function -/* eslint-disable @typescript-eslint/no-floating-promises */ - describe('canEnableApp', () => { it('should throw the message "apps-engine-not-initialized" when appropriate', () => { const AppsMock = { diff --git a/docs/apps-engine-migration.md b/docs/apps-engine-migration.md new file mode 100644 index 0000000000000..90d54fb783abf --- /dev/null +++ b/docs/apps-engine-migration.md @@ -0,0 +1,83 @@ +# Apps-Engine migration to microservice + +## Goal + +Isolate apps execution into a microservice to decouple monolith scaling from apps-engine scaling. However, the current package architecture ends up making this transition quite difficult, so we'll move in phases. + +Here is an overview of the action items required to achieve our goal: + +- **Migrate app management code from @rocket.chat/apps-engine to private @rocket.chat/apps** - Stop publishing code that handles app management on the server alongside the public surface that apps actually use. Anything living _outside_ the `@rocket.chat/apps-engine/definition/` directory should either move to the internal `@rocket.chat/apps` package or be removed. + +- **Consolidate all interaction with the apps internals on the server to the AppsEngineService** - Backend code handling apps business rules has to happen via a single entrypoint: the AppsEngineService class. This will give us the flexibility of serving the functionality either locally or through NATS. + +- **Break the file upload flow for async validation step** - Decouple upload validation from the actual file upload request. This allows us to run the Apps-Engine `IPreFileUpload` event asynchronously and gives us a longer window for the execution, which means we're not forced to transfer file contents over NATS. + +- **Create Apps-Engine service Docker image** + +## Part 1: Migrate app management code from @rocket.chat/apps-engine to private @rocket.chat/apps + +The Apps-Engine originally lived in its own repository, so the colocation of domain there made some sense. However, especially after the introduction of the deno-runtime, a large portion of the code published is never used by the apps themselves, reserved only for server usage. As we moved the package into the monorepo, the initial colocation stopped being a requirement. + +Besides that, migrating app management code away from a public package enables us to integrate more closely with the private packages available in the monorepo, so we can effectivelly reuse more code and standardize approaches like `@rocket.chat/logger`. + +To make this migration easier to understand and review, we're using a stacked PR approach on Github - similar to a feature branch but disallowing sibling PRs. They are: + +- [40395](https://github.com/RocketChat/Rocket.Chat/pull/40395) The feature branch itself. It will accumulate the changes of the whole stack (⟶ `develop`) +- [40183](https://github.com/RocketChat/Rocket.Chat/pull/40183) Replaces `AppPackageParser.getEngineVersion()` - which resolved the version by traversing the filesystem relative to `__dirname` - with a direct import of `ENGINE_VERSION`. This will support the migration of the `AppPackageParser` class itself (⟶ #40395) +- [40184](https://github.com/RocketChat/Rocket.Chat/pull/40184) Copies all relevant source files from `packages/apps-engine/src/server`, `packages/apps-engine/src/client`, `packages/apps-engine/deno-runtime`, `packages/apps-engine/tests` and `packages/apps-engine/scripts` into their corresponding path at `packages/apps` (⟶ #40183) +- [40185](https://github.com/RocketChat/Rocket.Chat/pull/40185) Adapts the path resolution of the apps-engine package for the deno runtime (⟶ #40184) +- [40186](https://github.com/RocketChat/Rocket.Chat/pull/40186) Flips the switch; changes code in `apps/meteor` and `packages/core-services` that pointed to `@rocket.chat/apps-engine` and makes it point to `@rocket.chat/apps`. This is the turning point in what is actually executed (⟶ #40185) +- [40343](https://github.com/RocketChat/Rocket.Chat/pull/40343) Removes old files from the `@rocket.chat/apps-engine` package (⟶ #40186) + +### Architecturally Relevant Decisions + +#### 1. `@rocket.chat/apps-engine` becomes a definition-only public package + +The most consequential decision in this migration is that `@rocket.chat/apps-engine` is narrowed to expose **only** its `definition/` directory. All server-side management code, the client UI host, the deno-runtime, scripts, and tests were removed from the package. The `files` field in `package.json` went from listing `client/**`, `definition/**`, `deno-runtime/**`, `lib/**`, `scripts/**`, and `server/**` down to just `definition/**`. The package description was updated to reflect this: "The public API and type definitions for Rocket.Chat App development." + +This preserves the public contract for external app developers while keeping all server-side complexity private and under active control inside the monorepo. + +#### 2. `@rocket.chat/apps` becomes the operational package + +`@rocket.chat/apps` (already private, `"private": true`) absorbs everything that was removed from `apps-engine`. Its `package.json` gained the runtime dependencies that `apps-engine` shed (`adm-zip`, `debug`, `esbuild`, `jose`, `jsonrpc-lite`, `lodash.clonedeep`, `semver`, `stack-trace`) and its build pipeline was extended to also run `deno-cache` and produce `deno-runtime/` and `.deno-cache/` artifacts alongside the TypeScript `dist/`. + +The package also received its own `turbo.json` that declares those additional output directories, ensuring Turborepo cache invalidation covers the deno artefacts. + +#### 3. `ENGINE_VERSION` is exported from the definition layer + +`AppPackageParser` validated app compatibility by reading the engine's `package.json` via filesystem traversal relative to `__dirname`. That assumption breaks the moment the code moves to a different package. The fix is a dedicated `packages/apps-engine/src/definition/version.ts` that exports a single constant `ENGINE_VERSION`. It uses a `require()` (not a static import) with a path determined at runtime by checking whether `__dirname` ends with `src/definition` (source/ts-node context) or not (compiled context), resolving to `../../package.json` or `../package.json` respectively. Using `require()` prevents TypeScript from resolving the path at compile time, making the two-level distinction safe. + +#### 4. Dynamic Deno import map generation at subprocess spawn time + +The previous static `deno.jsonc` contained `"@rocket.chat/apps-engine/": "./../src/"` — a relative path that only worked when `deno-runtime/` and `apps-engine/src/` were siblings inside the same package. After the move, `deno-runtime/` lives in `@rocket.chat/apps` while the type definitions it imports live in `@rocket.chat/apps-engine`. + +The solution is to drop the static entry and instead generate a temporary `deno_runtime.jsonc` file into the subprocess temp directory before each Deno process spawn. `DenoRuntimeSubprocessController` resolves the apps-engine source directory at runtime via `require.resolve('@rocket.chat/apps-engine/package.json')` and injects it as an absolute `file:` URL into the import map. This strategy works correctly in any environment (monorepo dev, Meteor bundle, CI) without any assumptions about directory layout. + +Additionally, `--sloppy-imports` was added to the Deno subprocess flags, allowing the runtime to import `.ts` files from `apps-engine` without requiring explicit `.ts` extensions in every import specifier. + +#### 5. Cross-boundary types promoted to the definition layer + +Several types that were previously only exported from `server/` were needed by code that must stay in the public API. Rather than giving consumers a path that crosses into `@rocket.chat/apps`, these types were moved into `definition/`: + +- `GetMessagesOptions`, `GetRoomsFilters`, `GetRoomsOptions`, and `GetMessagesSortableFields` moved from `server/bridges/RoomBridge.ts` into `definition/rooms/IGetMessagesOptions.ts` and re-exported from `definition/rooms/index.ts`. +- `OAuth2Client` moved from `server/oauth2/OAuth2Client.ts` into `definition/oauth2/OAuth2Client.ts`; the server copy became a re-export pointing to the definition location. +- `IExternalComponentRoomInfo` and `IExternalComponentUserInfo` moved from `client/definition/` into `definition/externalComponent/`, keeping `IExternalComponentState` (which depends on them) coherent within the definition layer. +- `IRoomRead` and other accessors that referenced the moved types had their import paths updated accordingly. + +The guiding principle: anything that crosses the public/private boundary must live in `definition/`. + +#### 6. Deep `@rocket.chat/apps/dist/` path imports + +An attempt to use the modern `exports` field in `@rocket.chat/apps/package.json` (to define clean subpath entry points like `./server/*` and `./client/*`) was reverted because Meteor's bundler does not support the `exports` field, and thus could not resolve import paths as expected. The package fell back to `main` + `types` for the root entry point, and server-only types are imported via deep `dist/` paths (e.g., `@rocket.chat/apps/dist/server/IGetAppsFilter`). `typesVersions` was also removed for the same reason. + +#### 7. TypeScript strict mode relaxed for the migrated code + +The migrated code from `apps-engine` was written without strict TypeScript checks. Rather than fixing every existing violation upfront, `packages/apps/tsconfig.json` explicitly disables `strict`, `noUnusedParameters`, `noImplicitOverride`, and `noImplicitReturns`. This is intentional technical debt: the migration is a lift-and-shift first; tightening the type-checking can happen incrementally afterwards. + +#### 8. CI and Dockerfile changes flow to the new owner + +The `esbuild` platform-specific binary cleanup that runs inside Docker builds previously targeted `@rocket.chat/apps-engine/node_modules/@esbuild`; this was updated to `@rocket.chat/apps/node_modules/@esbuild`. Likewise, the microservice Dockerfiles (account-service, authorization-service, ddp-streamer, etc.) that copied `packages/apps-engine/client` into the image dropped that directory, as it no longer exists in the package. The `packages/apps-engine/definition` copy was kept because those types are still consumed by core-services and other packages that run inside those microservices. + +#### 9. ESLint rules unified across both packages + +The root `eslint.config.mjs` was updated to apply the same rule overrides (permissive `@typescript-eslint` settings, test-file non-null assertion relaxation, and built artefact `ignores`) to both `packages/apps-engine/**/*` and `packages/apps/**/*`, treating the two packages as a coherent unit under the same lint policy. diff --git a/ee/apps/account-service/Dockerfile b/ee/apps/account-service/Dockerfile index 3c4dd3b6f3dd9..d2560ff77089c 100644 --- a/ee/apps/account-service/Dockerfile +++ b/ee/apps/account-service/Dockerfile @@ -11,7 +11,6 @@ COPY ./packages/core-services/package.json packages/core-services/package.json COPY ./packages/core-services/dist packages/core-services/dist COPY ./packages/apps-engine/package.json packages/apps-engine/package.json -COPY ./packages/apps-engine/client packages/apps-engine/client COPY ./packages/apps-engine/definition packages/apps-engine/definition COPY ./packages/agenda/package.json packages/agenda/package.json diff --git a/ee/apps/authorization-service/Dockerfile b/ee/apps/authorization-service/Dockerfile index 747b9793bb66e..743b4c30629dc 100644 --- a/ee/apps/authorization-service/Dockerfile +++ b/ee/apps/authorization-service/Dockerfile @@ -11,7 +11,6 @@ COPY ./packages/core-services/package.json packages/core-services/package.json COPY ./packages/core-services/dist packages/core-services/dist COPY ./packages/apps-engine/package.json packages/apps-engine/package.json -COPY ./packages/apps-engine/client packages/apps-engine/client COPY ./packages/apps-engine/definition packages/apps-engine/definition COPY ./packages/agenda/package.json packages/agenda/package.json diff --git a/ee/apps/ddp-streamer/Dockerfile b/ee/apps/ddp-streamer/Dockerfile index bc489a5a24a21..0205a95371f95 100644 --- a/ee/apps/ddp-streamer/Dockerfile +++ b/ee/apps/ddp-streamer/Dockerfile @@ -11,7 +11,6 @@ COPY ./packages/core-services/package.json packages/core-services/package.json COPY ./packages/core-services/dist packages/core-services/dist COPY ./packages/apps-engine/package.json packages/apps-engine/package.json -COPY ./packages/apps-engine/client packages/apps-engine/client COPY ./packages/apps-engine/definition packages/apps-engine/definition COPY ./packages/agenda/package.json packages/agenda/package.json diff --git a/ee/apps/omnichannel-transcript/Dockerfile b/ee/apps/omnichannel-transcript/Dockerfile index 9425aaeb9cf7a..b869abbfd9254 100644 --- a/ee/apps/omnichannel-transcript/Dockerfile +++ b/ee/apps/omnichannel-transcript/Dockerfile @@ -11,7 +11,6 @@ COPY ./packages/core-services/package.json packages/core-services/package.json COPY ./packages/core-services/dist packages/core-services/dist COPY ./packages/apps-engine/package.json packages/apps-engine/package.json -COPY ./packages/apps-engine/client packages/apps-engine/client COPY ./packages/apps-engine/definition packages/apps-engine/definition COPY ./packages/agenda/package.json packages/agenda/package.json diff --git a/ee/apps/presence-service/Dockerfile b/ee/apps/presence-service/Dockerfile index 4bdb808180d23..affe93f578f9e 100644 --- a/ee/apps/presence-service/Dockerfile +++ b/ee/apps/presence-service/Dockerfile @@ -17,7 +17,6 @@ COPY ./packages/core-services/package.json packages/core-services/package.json COPY ./packages/core-services/dist packages/core-services/dist COPY ./packages/apps-engine/package.json packages/apps-engine/package.json -COPY ./packages/apps-engine/client packages/apps-engine/client COPY ./packages/apps-engine/definition packages/apps-engine/definition COPY ./packages/core-typings/package.json packages/core-typings/package.json diff --git a/ee/apps/queue-worker/Dockerfile b/ee/apps/queue-worker/Dockerfile index 9425aaeb9cf7a..b869abbfd9254 100644 --- a/ee/apps/queue-worker/Dockerfile +++ b/ee/apps/queue-worker/Dockerfile @@ -11,7 +11,6 @@ COPY ./packages/core-services/package.json packages/core-services/package.json COPY ./packages/core-services/dist packages/core-services/dist COPY ./packages/apps-engine/package.json packages/apps-engine/package.json -COPY ./packages/apps-engine/client packages/apps-engine/client COPY ./packages/apps-engine/definition packages/apps-engine/definition COPY ./packages/agenda/package.json packages/agenda/package.json diff --git a/eslint.config.mjs b/eslint.config.mjs index b23c2b1a8bc1c..e0716a0d4898d 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -289,7 +289,7 @@ export default [ }, }, { - files: ['packages/apps-engine/**/*'], + files: ['packages/apps-engine/**/*', 'packages/apps/**/*'], rules: { '@typescript-eslint/no-empty-object-type': 'off', '@typescript-eslint/no-unnecessary-type-assertion': 'off', // this rule does not deal well with assertions that remove `undefined` from the type @@ -338,14 +338,14 @@ export default [ }, }, { - files: ['packages/apps-engine/tests/**/*'], + files: ['packages/apps-engine/tests/**/*', 'packages/apps/tests/**/*'], rules: { '@typescript-eslint/no-non-null-assertion': 'off', 'testing-library/no-await-sync-queries': 'off', }, }, { - ignores: ['packages/apps-engine/@(client|definition|docs|server|lib|deno-runtime|.deno|.deno-cache)'], + ignores: ['packages/@(apps|apps-engine)/@(client|definition|docs|server|lib|deno-runtime|.deno|.deno-cache)'], }, { files: ['packages/core-typings/**/*'], diff --git a/packages/apps-engine/package.json b/packages/apps-engine/package.json index f443d1dadef1f..2b4d21d04d064 100644 --- a/packages/apps-engine/package.json +++ b/packages/apps-engine/package.json @@ -1,7 +1,7 @@ { "name": "@rocket.chat/apps-engine", "version": "1.62.0", - "description": "The engine code for the Rocket.Chat Apps which manages, runs, translates, coordinates and all of that.", + "description": "The public API and type definitions for Rocket.Chat App development.", "keywords": [ "rocket.chat", "team chat", @@ -13,7 +13,7 @@ }, "repository": { "type": "git", - "url": "git+https://github.com/RocketChat/Rocket.Chat.Apps-engine.git" + "url": "git+https://github.com/RocketChat/Rocket.Chat.git" }, "license": "MIT", "author": { @@ -35,30 +35,15 @@ } ], "files": [ - "client/**", - "definition/**", - "deno-runtime/**", - "lib/**", - "scripts/**", - "server/**" + "definition/**" ], "scripts": { - ".:build:clean": "rimraf client definition server", - ".:build:default": "tsc -p tsconfig.json", - ".:build:deno-cache": "node scripts/deno-cache.js", - ".:deno-fmt:fix": "cd deno-runtime && deno fmt", - ".:eslint:fix": "eslint --fix .", - ".:lint:deno": "deno lint --ignore=deno-runtime/.deno deno-runtime/", - ".:lint:eslint": "eslint .", - ".:test:deno": "cd deno-runtime && deno task test", - ".:test:node": "NODE_ENV=test node --require ts-node/register/transpile-only --test-reporter spec --test \"tests/**/*.test.ts\"", - "build": "run-s .:build:clean .:build:default .:build:deno-cache", - "dev": "yarn .:build:default --watch", - "fix-lint": "yarn .:eslint:fix && yarn .:deno-fmt:fix", + "build": "run-s build:clean build:default", + "build:clean": "rimraf definition", + "build:default": "tsc -p tsconfig.json", + "dev": "yarn build:default --watch", "gen-doc": "typedoc", - "lint": "yarn .:lint:eslint && yarn .:lint:deno", - "start": "run-s .:build:clean .:build:watch", - "testunit": "run-p .:test:node .:test:deno", + "lint": "yarn eslint .", "typecheck": "tsc -p tsconfig.json --noEmit" }, "nyc": { @@ -77,34 +62,15 @@ ] }, "dependencies": { - "@msgpack/msgpack": "3.0.1", - "adm-zip": "^0.5.17", - "debug": "^4.3.7", - "esbuild": "~0.27.7", - "jose": "^4.15.9", - "jsonrpc-lite": "^2.2.0", - "lodash.clonedeep": "^4.5.0", - "semver": "^7.6.3", - "stack-trace": "0.0.10", "uuid": "~11.0.5" }, "devDependencies": { "@rocket.chat/ui-kit": "workspace:~", - "@seald-io/nedb": "^4.1.2", - "@types/adm-zip": "^0.5.8", - "@types/debug": "^4.1.13", - "@types/lodash.clonedeep": "^4.5.9", - "@types/node": "~22.19.17", - "@types/semver": "^7.5.8", - "@types/stack-trace": "0.0.33", - "@types/uuid": "~10.0.0", - "eslint": "~9.39.4", + "@types/node": "~22.16.5", + "eslint": "~9.39.3", "npm-run-all": "^4.1.5", - "nyc": "^17.1.0", "rimraf": "^6.0.1", - "tap-bark": "^1.0.0", - "ts-node": "^6.2.0", - "typedoc": "~0.28.19", + "typedoc": "~0.28.16", "typescript": "~5.9.3" }, "volta": { diff --git a/packages/apps-engine/src/definition/accessors/IRoomRead.ts b/packages/apps-engine/src/definition/accessors/IRoomRead.ts index ae086150784f9..dc78134e66974 100644 --- a/packages/apps-engine/src/definition/accessors/IRoomRead.ts +++ b/packages/apps-engine/src/definition/accessors/IRoomRead.ts @@ -1,5 +1,5 @@ -import type { GetMessagesOptions, GetRoomsFilters, GetRoomsOptions } from '../../server/bridges/RoomBridge'; import type { IMessageRaw } from '../messages/index'; +import type { GetMessagesOptions, GetRoomsFilters, GetRoomsOptions } from '../rooms/IGetMessagesOptions'; import type { IRoom, IRoomRaw } from '../rooms/index'; import type { IUser } from '../users/index'; diff --git a/packages/apps-engine/src/definition/accessors/IUIController.ts b/packages/apps-engine/src/definition/accessors/IUIController.ts index 9c9a45caa7ee5..e67388603622b 100644 --- a/packages/apps-engine/src/definition/accessors/IUIController.ts +++ b/packages/apps-engine/src/definition/accessors/IUIController.ts @@ -1,4 +1,3 @@ -import type { Omit } from '../../lib/utils'; import type { IUIKitErrorInteraction, IUIKitInteraction, IUIKitSurface } from '../uikit'; import type { IUIKitContextualBarViewParam, IUIKitModalViewParam } from '../uikit/UIKitInteractionResponder'; import type { IUser } from '../users'; diff --git a/packages/apps-engine/src/client/definition/IExternalComponentRoomInfo.ts b/packages/apps-engine/src/definition/externalComponent/IExternalComponentRoomInfo.ts similarity index 88% rename from packages/apps-engine/src/client/definition/IExternalComponentRoomInfo.ts rename to packages/apps-engine/src/definition/externalComponent/IExternalComponentRoomInfo.ts index a7743dcae8a47..090b9b6903379 100644 --- a/packages/apps-engine/src/client/definition/IExternalComponentRoomInfo.ts +++ b/packages/apps-engine/src/definition/externalComponent/IExternalComponentRoomInfo.ts @@ -1,5 +1,5 @@ +import type { IRoom } from '../rooms'; import type { IExternalComponentUserInfo } from './IExternalComponentUserInfo'; -import type { IRoom } from '../../definition/rooms'; type ClientRoomInfo = Pick; diff --git a/packages/apps-engine/src/definition/externalComponent/IExternalComponentState.ts b/packages/apps-engine/src/definition/externalComponent/IExternalComponentState.ts index ba33072a28281..db726a8cd177f 100644 --- a/packages/apps-engine/src/definition/externalComponent/IExternalComponentState.ts +++ b/packages/apps-engine/src/definition/externalComponent/IExternalComponentState.ts @@ -1,4 +1,5 @@ -import type { IExternalComponentRoomInfo, IExternalComponentUserInfo } from '../../client/definition'; +import type { IExternalComponentRoomInfo } from './IExternalComponentRoomInfo'; +import type { IExternalComponentUserInfo } from './IExternalComponentUserInfo'; /** * The state of an external component, which contains the diff --git a/packages/apps-engine/src/client/definition/IExternalComponentUserInfo.ts b/packages/apps-engine/src/definition/externalComponent/IExternalComponentUserInfo.ts similarity index 84% rename from packages/apps-engine/src/client/definition/IExternalComponentUserInfo.ts rename to packages/apps-engine/src/definition/externalComponent/IExternalComponentUserInfo.ts index 4cd9061347750..dd681db8d42bf 100644 --- a/packages/apps-engine/src/client/definition/IExternalComponentUserInfo.ts +++ b/packages/apps-engine/src/definition/externalComponent/IExternalComponentUserInfo.ts @@ -1,4 +1,4 @@ -import type { IUser } from '../../definition/users'; +import type { IUser } from '../users'; type ClientUserInfo = Pick; diff --git a/packages/apps-engine/src/definition/externalComponent/index.ts b/packages/apps-engine/src/definition/externalComponent/index.ts index 69231fca5211f..6229bf8995f75 100644 --- a/packages/apps-engine/src/definition/externalComponent/index.ts +++ b/packages/apps-engine/src/definition/externalComponent/index.ts @@ -3,3 +3,7 @@ import type { IPostExternalComponentClosed } from './IPostExternalComponentClose import type { IPostExternalComponentOpened } from './IPostExternalComponentOpened'; export type { IExternalComponent, IPostExternalComponentClosed, IPostExternalComponentOpened }; + +export type * from './IExternalComponentState'; +export type * from './IExternalComponentRoomInfo'; +export type * from './IExternalComponentUserInfo'; diff --git a/packages/apps-engine/src/definition/oauth2/OAuth2.ts b/packages/apps-engine/src/definition/oauth2/OAuth2.ts index 6339e5ea224a4..d4d0dfe9fdc98 100644 --- a/packages/apps-engine/src/definition/oauth2/OAuth2.ts +++ b/packages/apps-engine/src/definition/oauth2/OAuth2.ts @@ -1,4 +1,4 @@ -import { OAuth2Client } from '../../server/oauth2/OAuth2Client'; +import { OAuth2Client } from './OAuth2Client'; import type { App } from '../App'; import type { IOAuth2ClientOptions } from './IOAuth2'; diff --git a/packages/apps-engine/src/server/oauth2/OAuth2Client.ts b/packages/apps-engine/src/definition/oauth2/OAuth2Client.ts similarity index 95% rename from packages/apps-engine/src/server/oauth2/OAuth2Client.ts rename to packages/apps-engine/src/definition/oauth2/OAuth2Client.ts index 043591c8055d8..0f8a95b031321 100644 --- a/packages/apps-engine/src/server/oauth2/OAuth2Client.ts +++ b/packages/apps-engine/src/definition/oauth2/OAuth2Client.ts @@ -1,14 +1,14 @@ import { URL } from 'url'; -import type { App } from '../../definition/App'; -import type { IConfigurationExtend, IHttp, IModify, IPersistence, IRead } from '../../definition/accessors'; -import { HttpStatusCode } from '../../definition/accessors'; -import type { IApiEndpointInfo, IApiRequest, IApiResponse } from '../../definition/api'; -import { ApiSecurity, ApiVisibility } from '../../definition/api'; -import { RocketChatAssociationModel, RocketChatAssociationRecord } from '../../definition/metadata'; -import type { IAuthData, IOAuth2Client, IOAuth2ClientOptions } from '../../definition/oauth2/IOAuth2'; -import { SettingType } from '../../definition/settings'; -import type { IUser } from '../../definition/users'; +import type { App } from '../App'; +import type { IConfigurationExtend, IHttp, IModify, IPersistence, IRead } from '../accessors'; +import { HttpStatusCode } from '../accessors'; +import type { IApiEndpointInfo, IApiRequest, IApiResponse } from '../api'; +import { ApiSecurity, ApiVisibility } from '../api'; +import { RocketChatAssociationModel, RocketChatAssociationRecord } from '../metadata'; +import type { IAuthData, IOAuth2Client, IOAuth2ClientOptions } from './IOAuth2'; +import { SettingType } from '../settings'; +import type { IUser } from '../users'; export enum GrantType { RefreshToken = 'refresh_token', diff --git a/packages/apps-engine/src/definition/rooms/IGetMessagesOptions.ts b/packages/apps-engine/src/definition/rooms/IGetMessagesOptions.ts new file mode 100644 index 0000000000000..b2a36adde9843 --- /dev/null +++ b/packages/apps-engine/src/definition/rooms/IGetMessagesOptions.ts @@ -0,0 +1,43 @@ +import type { RoomType } from './RoomType'; + +export const GetMessagesSortableFields = ['createdAt'] as const; + +export type GetMessagesOptions = { + limit: number; + skip: number; + sort: Record<(typeof GetMessagesSortableFields)[number], 'asc' | 'desc'>; + showThreadMessages: boolean; +}; + +/** + * Filters for querying rooms in the system. + */ +export type GetRoomsFilters = { + /** + * When specified, only rooms matching the provided types will be returned. + */ + types?: Array; + /** + * Filter to include or exclude discussion rooms. + * + * When undefined (default), discussions are included in the result set. + * + * When true, ONLY discussions are included in the result set (remove non-discussions). + * When false, discussion rooms are excluded from the result set. + */ + discussions?: boolean; + /** + * Filter to include or exclude team main rooms. + * + * When undefined (default), team main rooms are included in the result set. + * + * When true, ONLY team main rooms are included in the result set (remove non-teams). + * When false, team main rooms are excluded from the result set. + */ + teams?: boolean; +}; + +export type GetRoomsOptions = { + limit?: number; + skip?: number; +}; diff --git a/packages/apps-engine/src/definition/rooms/index.ts b/packages/apps-engine/src/definition/rooms/index.ts index d4e51c6089c77..eb5083756daa1 100644 --- a/packages/apps-engine/src/definition/rooms/index.ts +++ b/packages/apps-engine/src/definition/rooms/index.ts @@ -26,3 +26,4 @@ export type * from './IRoomUserJoinedContext'; export type * from './IPreRoomUserLeave'; export type * from './IPostRoomUserLeave'; export type * from './IRoomUserLeaveContext'; +export type * from './IGetMessagesOptions'; diff --git a/packages/apps-engine/src/definition/uikit/UIKitInteractionResponder.ts b/packages/apps-engine/src/definition/uikit/UIKitInteractionResponder.ts index 333b4818b8a8e..f07bd17dfaf75 100644 --- a/packages/apps-engine/src/definition/uikit/UIKitInteractionResponder.ts +++ b/packages/apps-engine/src/definition/uikit/UIKitInteractionResponder.ts @@ -3,7 +3,6 @@ import { UIKitInteractionType } from './IUIKitInteractionType'; import type { IUIKitSurface } from './IUIKitSurface'; import type { IUIKitBaseIncomingInteraction } from './UIKitIncomingInteractionTypes'; import { formatContextualBarInteraction, formatModalInteraction } from './UIKitInteractionPayloadFormatter'; -import type { Omit } from '../../lib/utils'; import type { IUIKitErrorInteractionParam } from '../accessors/IUIController'; export type IUIKitModalViewParam = Omit & Partial>; diff --git a/packages/apps-engine/src/definition/uikit/blocks/BlockBuilder.ts b/packages/apps-engine/src/definition/uikit/blocks/BlockBuilder.ts index ebeee173431f5..dd48f7f85d4e5 100644 --- a/packages/apps-engine/src/definition/uikit/blocks/BlockBuilder.ts +++ b/packages/apps-engine/src/definition/uikit/blocks/BlockBuilder.ts @@ -26,7 +26,6 @@ import type { import { BlockElementType } from './Elements'; import type { ITextObject } from './Objects'; import { TextObjectType } from './Objects'; -import type { Omit } from '../../../lib/utils'; type BlockFunctionParameter = Omit; type ElementFunctionParameter = T extends IInteractiveElement diff --git a/packages/apps-engine/src/definition/version.ts b/packages/apps-engine/src/definition/version.ts new file mode 100644 index 0000000000000..8feda95c5ad5d --- /dev/null +++ b/packages/apps-engine/src/definition/version.ts @@ -0,0 +1,16 @@ +/** + * The version of the Apps-Engine package. + * Consumed by host-side code (e.g. AppPackageParser) to validate app compatibility + * without relying on filesystem path traversal. + * + * Uses require() instead of a static import so TypeScript does not resolve the path + * at compile time. + * + * When running for tests, using ts-node, package.json is located two levels above the current file. + * When running in production, package.json is located one level above the compiled version of this file. + */ +const runningFromSource = __dirname.endsWith('src/definition'); +const requirePath = runningFromSource ? '../../package.json' : '../package.json'; + +// eslint-disable-next-line import/no-dynamic-require, @typescript-eslint/no-require-imports -- Paths are bounded, we just need to decide which package.json file to target +export const ENGINE_VERSION: string = require(requirePath).version; diff --git a/packages/apps-engine/src/lib/utils.ts b/packages/apps-engine/src/lib/utils.ts deleted file mode 100644 index 3e4c505231803..0000000000000 --- a/packages/apps-engine/src/lib/utils.ts +++ /dev/null @@ -1 +0,0 @@ -export type Omit = Pick>; diff --git a/packages/apps-engine/src/server/bridges/IListenerBridge.ts b/packages/apps-engine/src/server/bridges/IListenerBridge.ts deleted file mode 100644 index 7c4b664a4e584..0000000000000 --- a/packages/apps-engine/src/server/bridges/IListenerBridge.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { IMessage } from '../../definition/messages'; -import type { AppInterface } from '../../definition/metadata'; -import type { IRoom } from '../../definition/rooms'; -import type { UIKitIncomingInteraction } from '../../definition/uikit'; - -export interface IListenerBridge { - messageEvent(int: AppInterface, message: IMessage): Promise; - roomEvent(int: AppInterface, room: IRoom): Promise; - uiKitInteractionEvent(int: AppInterface, action: UIKitIncomingInteraction): Promise; -} diff --git a/packages/apps-engine/tsconfig.json b/packages/apps-engine/tsconfig.json index fe9e53b01cb85..7e564876a10d8 100644 --- a/packages/apps-engine/tsconfig.json +++ b/packages/apps-engine/tsconfig.json @@ -7,15 +7,14 @@ "noImplicitAny": true, "noUnusedLocals": true, "removeComments": false, - "emitDecoratorMetadata": true, - "experimentalDecorators": true, "moduleResolution": "node", + "resolveJsonModule": true, "types": ["node"], "lib": ["es2017", "dom"], "rootDir": "./src", "outDir": ".", "skipLibCheck": true }, - "exclude": ["deno-runtime"], + "exclude": ["node_modules"], "include": ["./src/**/*"] } diff --git a/packages/apps-engine/turbo.json b/packages/apps-engine/turbo.json index 966596e743534..6de5d4083a070 100644 --- a/packages/apps-engine/turbo.json +++ b/packages/apps-engine/turbo.json @@ -4,7 +4,7 @@ "build": { "dependsOn": ["^build"], "inputs": ["$TURBO_DEFAULT$", "$TURBO_ROOT$/.tool-versions"], - "outputs": ["client/**", "definition/**", "deno-runtime/**", "lib/**", "scripts/**", "server/**", ".deno-cache/**"] + "outputs": ["definition/**", "lib/**"] } } } diff --git a/packages/apps/.gitignore b/packages/apps/.gitignore new file mode 100644 index 0000000000000..718c7da4c4944 --- /dev/null +++ b/packages/apps/.gitignore @@ -0,0 +1,5 @@ +.deno-cache/ +/tests/test-data/dbs + +# File generated at runtime +deno.runtime.jsonc diff --git a/packages/apps-engine/deno-runtime/.gitignore b/packages/apps/deno-runtime/.gitignore similarity index 100% rename from packages/apps-engine/deno-runtime/.gitignore rename to packages/apps/deno-runtime/.gitignore diff --git a/packages/apps-engine/deno-runtime/AppObjectRegistry.ts b/packages/apps/deno-runtime/AppObjectRegistry.ts similarity index 100% rename from packages/apps-engine/deno-runtime/AppObjectRegistry.ts rename to packages/apps/deno-runtime/AppObjectRegistry.ts diff --git a/packages/apps-engine/deno-runtime/acorn-walk.d.ts b/packages/apps/deno-runtime/acorn-walk.d.ts similarity index 100% rename from packages/apps-engine/deno-runtime/acorn-walk.d.ts rename to packages/apps/deno-runtime/acorn-walk.d.ts diff --git a/packages/apps-engine/deno-runtime/acorn.d.ts b/packages/apps/deno-runtime/acorn.d.ts similarity index 100% rename from packages/apps-engine/deno-runtime/acorn.d.ts rename to packages/apps/deno-runtime/acorn.d.ts diff --git a/packages/apps-engine/deno-runtime/deno.jsonc b/packages/apps/deno-runtime/deno.jsonc similarity index 76% rename from packages/apps-engine/deno-runtime/deno.jsonc rename to packages/apps/deno-runtime/deno.jsonc index 4fa3142b99261..d19a3daac7d92 100644 --- a/packages/apps-engine/deno-runtime/deno.jsonc +++ b/packages/apps/deno-runtime/deno.jsonc @@ -1,8 +1,9 @@ { "imports": { "@msgpack/msgpack": "npm:@msgpack/msgpack@3.0.0-beta2", - "@rocket.chat/apps-engine/": "./../src/", "@rocket.chat/ui-kit": "npm:@rocket.chat/ui-kit@^0.31.22", + "@rocket.chat/apps-engine/": "../../../packages/apps-engine/", + "@rocket.chat/apps/": "../", "@std/cli": "jsr:@std/cli@^1.0.9", "@std/io": "jsr:@std/io@^0.225.3", "@std/streams": "jsr:@std/streams@^1.0.16", @@ -13,7 +14,7 @@ "stack-trace": "npm:stack-trace@0.0.10", "uuid": "npm:uuid@8.3.2" }, - "unstable": ["detect-cjs"], + "unstable": ["detect-cjs","sloppy-imports"], "tasks": { "test": "deno test --no-check --allow-read=../../../,/tmp --allow-write=/tmp" }, @@ -22,5 +23,10 @@ "useTabs": true, "indentWidth": 4, "singleQuote": true + }, + "lint": { + "rules": { + "exclude": ["no-sloppy-imports"] + } } } diff --git a/packages/apps-engine/deno-runtime/deno.lock b/packages/apps/deno-runtime/deno.lock similarity index 94% rename from packages/apps-engine/deno-runtime/deno.lock rename to packages/apps/deno-runtime/deno.lock index bc87cb5e87d84..4ef784109019f 100644 --- a/packages/apps-engine/deno-runtime/deno.lock +++ b/packages/apps/deno-runtime/deno.lock @@ -7,6 +7,7 @@ "jsr:@std/streams@^1.0.16": "1.0.16", "npm:@msgpack/msgpack@3.0.0-beta2": "3.0.0-beta2", "npm:@rocket.chat/ui-kit@~0.31.22": "0.31.25_@rocket.chat+icons@0.32.0", + "npm:@types/node@*": "22.12.0", "npm:acorn-walk@8.2.0": "8.2.0", "npm:acorn@8.10.0": "8.10.0", "npm:astring@1.8.6": "1.8.6", @@ -37,7 +38,8 @@ }, "npm": { "@msgpack/msgpack@3.0.0-beta2": { - "integrity": "sha512-y+l1PNV0XDyY8sM3YtuMLK5vE3/hkfId+Do8pLo/OPxfxuFAUwcGz3oiiUuV46/aBpwTzZ+mRWVMtlSKbradhw==" + "integrity": "sha512-y+l1PNV0XDyY8sM3YtuMLK5vE3/hkfId+Do8pLo/OPxfxuFAUwcGz3oiiUuV46/aBpwTzZ+mRWVMtlSKbradhw==", + "deprecated": true }, "@rocket.chat/icons@0.32.0": { "integrity": "sha512-7yhhELKNLb9kUtXCvau0V+iMXraV2bOsxcPjc/ZtLR5VeeIDTeaflqRWGtLroX6f3bE+J1n5qB5zi8A4YXuH2g==" @@ -48,6 +50,12 @@ "@rocket.chat/icons" ] }, + "@types/node@22.12.0": { + "integrity": "sha512-Fll2FZ1riMjNmlmJOdAyY5pUbkftXslB5DgEzlIuNaiWhXd00FhWxVC/r4yV/4wBb9JfImTu+jiSvXTkJ7F/gA==", + "dependencies": [ + "undici-types" + ] + }, "acorn-walk@8.2.0": { "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" }, @@ -65,6 +73,9 @@ "stack-trace@0.0.10": { "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==" }, + "undici-types@6.20.0": { + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==" + }, "uuid@8.3.2": { "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "bin": true diff --git a/packages/apps-engine/deno-runtime/error-handlers.ts b/packages/apps/deno-runtime/error-handlers.ts similarity index 100% rename from packages/apps-engine/deno-runtime/error-handlers.ts rename to packages/apps/deno-runtime/error-handlers.ts diff --git a/packages/apps-engine/deno-runtime/handlers/api-handler.ts b/packages/apps/deno-runtime/handlers/api-handler.ts similarity index 98% rename from packages/apps-engine/deno-runtime/handlers/api-handler.ts rename to packages/apps/deno-runtime/handlers/api-handler.ts index 1b88a92551ea7..d014366c99d1f 100644 --- a/packages/apps-engine/deno-runtime/handlers/api-handler.ts +++ b/packages/apps/deno-runtime/handlers/api-handler.ts @@ -1,4 +1,4 @@ -import type { IApiEndpoint } from '@rocket.chat/apps-engine/definition/api/IApiEndpoint.ts'; +import type { IApiEndpoint } from '@rocket.chat/apps-engine/definition/api/IApiEndpoint'; import { Defined, JsonRpcError } from 'jsonrpc-lite'; import { AppObjectRegistry } from '../AppObjectRegistry.ts'; diff --git a/packages/apps-engine/deno-runtime/handlers/app/construct.ts b/packages/apps/deno-runtime/handlers/app/construct.ts similarity index 97% rename from packages/apps-engine/deno-runtime/handlers/app/construct.ts rename to packages/apps/deno-runtime/handlers/app/construct.ts index b391088fee217..7ad0baeb7823b 100644 --- a/packages/apps-engine/deno-runtime/handlers/app/construct.ts +++ b/packages/apps/deno-runtime/handlers/app/construct.ts @@ -1,6 +1,6 @@ import { Socket } from 'node:net'; -import type { IParseAppPackageResult } from '@rocket.chat/apps-engine/server/compiler/IParseAppPackageResult.ts'; +import type { IParseAppPackageResult } from '@rocket.chat/apps/dist/server/compiler/IParseAppPackageResult'; import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; import { require } from '../../lib/require.ts'; diff --git a/packages/apps-engine/deno-runtime/handlers/app/handleGetStatus.ts b/packages/apps/deno-runtime/handlers/app/handleGetStatus.ts similarity index 98% rename from packages/apps-engine/deno-runtime/handlers/app/handleGetStatus.ts rename to packages/apps/deno-runtime/handlers/app/handleGetStatus.ts index 8bd454b98ca7f..30c78d2430904 100644 --- a/packages/apps-engine/deno-runtime/handlers/app/handleGetStatus.ts +++ b/packages/apps/deno-runtime/handlers/app/handleGetStatus.ts @@ -1,4 +1,4 @@ -import type { App } from '@rocket.chat/apps-engine/definition/App.ts'; +import type { App } from '@rocket.chat/apps-engine/definition/App'; import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; diff --git a/packages/apps-engine/deno-runtime/handlers/app/handleInitialize.ts b/packages/apps/deno-runtime/handlers/app/handleInitialize.ts similarity index 99% rename from packages/apps-engine/deno-runtime/handlers/app/handleInitialize.ts rename to packages/apps/deno-runtime/handlers/app/handleInitialize.ts index e8ee4ed1de136..4be65241c8f56 100644 --- a/packages/apps-engine/deno-runtime/handlers/app/handleInitialize.ts +++ b/packages/apps/deno-runtime/handlers/app/handleInitialize.ts @@ -1,4 +1,4 @@ -import type { App } from '@rocket.chat/apps-engine/definition/App.ts'; +import type { App } from '@rocket.chat/apps-engine/definition/App'; import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; import { AppAccessorsInstance } from '../../lib/accessors/mod.ts'; diff --git a/packages/apps-engine/deno-runtime/handlers/app/handleOnDisable.ts b/packages/apps/deno-runtime/handlers/app/handleOnDisable.ts similarity index 99% rename from packages/apps-engine/deno-runtime/handlers/app/handleOnDisable.ts rename to packages/apps/deno-runtime/handlers/app/handleOnDisable.ts index ffac456cd9bc9..170f25f326009 100644 --- a/packages/apps-engine/deno-runtime/handlers/app/handleOnDisable.ts +++ b/packages/apps/deno-runtime/handlers/app/handleOnDisable.ts @@ -1,4 +1,4 @@ -import type { App } from '@rocket.chat/apps-engine/definition/App.ts'; +import type { App } from '@rocket.chat/apps-engine/definition/App'; import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; import { AppAccessorsInstance } from '../../lib/accessors/mod.ts'; diff --git a/packages/apps-engine/deno-runtime/handlers/app/handleOnEnable.ts b/packages/apps/deno-runtime/handlers/app/handleOnEnable.ts similarity index 99% rename from packages/apps-engine/deno-runtime/handlers/app/handleOnEnable.ts rename to packages/apps/deno-runtime/handlers/app/handleOnEnable.ts index 34c1d49b0f367..320d5772a01d0 100644 --- a/packages/apps-engine/deno-runtime/handlers/app/handleOnEnable.ts +++ b/packages/apps/deno-runtime/handlers/app/handleOnEnable.ts @@ -1,4 +1,4 @@ -import type { App } from '@rocket.chat/apps-engine/definition/App.ts'; +import type { App } from '@rocket.chat/apps-engine/definition/App'; import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; import { AppAccessorsInstance } from '../../lib/accessors/mod.ts'; diff --git a/packages/apps-engine/deno-runtime/handlers/app/handleOnInstall.ts b/packages/apps/deno-runtime/handlers/app/handleOnInstall.ts similarity index 99% rename from packages/apps-engine/deno-runtime/handlers/app/handleOnInstall.ts rename to packages/apps/deno-runtime/handlers/app/handleOnInstall.ts index d6e4ada5cf6f0..d779728bc0c9c 100644 --- a/packages/apps-engine/deno-runtime/handlers/app/handleOnInstall.ts +++ b/packages/apps/deno-runtime/handlers/app/handleOnInstall.ts @@ -1,4 +1,4 @@ -import type { App } from '@rocket.chat/apps-engine/definition/App.ts'; +import type { App } from '@rocket.chat/apps-engine/definition/App'; import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; import { AppAccessorsInstance } from '../../lib/accessors/mod.ts'; diff --git a/packages/apps-engine/deno-runtime/handlers/app/handleOnPreSettingUpdate.ts b/packages/apps/deno-runtime/handlers/app/handleOnPreSettingUpdate.ts similarity index 99% rename from packages/apps-engine/deno-runtime/handlers/app/handleOnPreSettingUpdate.ts rename to packages/apps/deno-runtime/handlers/app/handleOnPreSettingUpdate.ts index 601e1429be025..301dd5aa7f2c8 100644 --- a/packages/apps-engine/deno-runtime/handlers/app/handleOnPreSettingUpdate.ts +++ b/packages/apps/deno-runtime/handlers/app/handleOnPreSettingUpdate.ts @@ -1,4 +1,4 @@ -import type { App } from '@rocket.chat/apps-engine/definition/App.ts'; +import type { App } from '@rocket.chat/apps-engine/definition/App'; import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; import { AppAccessorsInstance } from '../../lib/accessors/mod.ts'; diff --git a/packages/apps-engine/deno-runtime/handlers/app/handleOnSettingUpdated.ts b/packages/apps/deno-runtime/handlers/app/handleOnSettingUpdated.ts similarity index 99% rename from packages/apps-engine/deno-runtime/handlers/app/handleOnSettingUpdated.ts rename to packages/apps/deno-runtime/handlers/app/handleOnSettingUpdated.ts index e78ece63dda92..7a2111cbfd990 100644 --- a/packages/apps-engine/deno-runtime/handlers/app/handleOnSettingUpdated.ts +++ b/packages/apps/deno-runtime/handlers/app/handleOnSettingUpdated.ts @@ -1,4 +1,4 @@ -import type { App } from '@rocket.chat/apps-engine/definition/App.ts'; +import type { App } from '@rocket.chat/apps-engine/definition/App'; import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; import { AppAccessorsInstance } from '../../lib/accessors/mod.ts'; diff --git a/packages/apps-engine/deno-runtime/handlers/app/handleOnUninstall.ts b/packages/apps/deno-runtime/handlers/app/handleOnUninstall.ts similarity index 99% rename from packages/apps-engine/deno-runtime/handlers/app/handleOnUninstall.ts rename to packages/apps/deno-runtime/handlers/app/handleOnUninstall.ts index 34b02c2b45f1f..7901f21f903b2 100644 --- a/packages/apps-engine/deno-runtime/handlers/app/handleOnUninstall.ts +++ b/packages/apps/deno-runtime/handlers/app/handleOnUninstall.ts @@ -1,4 +1,4 @@ -import type { App } from '@rocket.chat/apps-engine/definition/App.ts'; +import type { App } from '@rocket.chat/apps-engine/definition/App'; import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; import { AppAccessorsInstance } from '../../lib/accessors/mod.ts'; diff --git a/packages/apps-engine/deno-runtime/handlers/app/handleOnUpdate.ts b/packages/apps/deno-runtime/handlers/app/handleOnUpdate.ts similarity index 99% rename from packages/apps-engine/deno-runtime/handlers/app/handleOnUpdate.ts rename to packages/apps/deno-runtime/handlers/app/handleOnUpdate.ts index 0eb8643c928f4..65f7986e0cef3 100644 --- a/packages/apps-engine/deno-runtime/handlers/app/handleOnUpdate.ts +++ b/packages/apps/deno-runtime/handlers/app/handleOnUpdate.ts @@ -1,4 +1,4 @@ -import type { App } from '@rocket.chat/apps-engine/definition/App.ts'; +import type { App } from '@rocket.chat/apps-engine/definition/App'; import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; import { AppAccessorsInstance } from '../../lib/accessors/mod.ts'; diff --git a/packages/apps-engine/deno-runtime/handlers/app/handleSetStatus.ts b/packages/apps/deno-runtime/handlers/app/handleSetStatus.ts similarity index 96% rename from packages/apps-engine/deno-runtime/handlers/app/handleSetStatus.ts rename to packages/apps/deno-runtime/handlers/app/handleSetStatus.ts index 163fa3684ae67..136e8ccc6271d 100644 --- a/packages/apps-engine/deno-runtime/handlers/app/handleSetStatus.ts +++ b/packages/apps/deno-runtime/handlers/app/handleSetStatus.ts @@ -1,5 +1,5 @@ -import type { App } from '@rocket.chat/apps-engine/definition/App.ts'; -import type { AppStatus as _AppStatus } from '@rocket.chat/apps-engine/definition/AppStatus.ts'; +import type { App } from '@rocket.chat/apps-engine/definition/App'; +import type { AppStatus as _AppStatus } from '@rocket.chat/apps-engine/definition/AppStatus'; import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; import { require } from '../../lib/require.ts'; diff --git a/packages/apps-engine/deno-runtime/handlers/app/handleUploadEvents.ts b/packages/apps/deno-runtime/handlers/app/handleUploadEvents.ts similarity index 95% rename from packages/apps-engine/deno-runtime/handlers/app/handleUploadEvents.ts rename to packages/apps/deno-runtime/handlers/app/handleUploadEvents.ts index 72d58801d537c..1e203dca5d6b4 100644 --- a/packages/apps-engine/deno-runtime/handlers/app/handleUploadEvents.ts +++ b/packages/apps/deno-runtime/handlers/app/handleUploadEvents.ts @@ -1,9 +1,9 @@ import { Buffer } from 'node:buffer'; -import type { App } from '@rocket.chat/apps-engine/definition/App.ts'; -import { AppsEngineException } from '@rocket.chat/apps-engine/definition/exceptions/AppsEngineException.ts'; -import type { IFileUploadContext } from '@rocket.chat/apps-engine/definition/uploads/IFileUploadContext.ts' -import type { IUploadDetails } from '@rocket.chat/apps-engine/definition/uploads/IUploadDetails.ts' +import type { App } from '@rocket.chat/apps-engine/definition/App'; +import { AppsEngineException } from '@rocket.chat/apps-engine/definition/exceptions/AppsEngineException'; +import type { IFileUploadContext } from '@rocket.chat/apps-engine/definition/uploads/IFileUploadContext' +import type { IUploadDetails } from '@rocket.chat/apps-engine/definition/uploads/IUploadDetails' import { toArrayBuffer } from '@std/streams'; import { Defined, JsonRpcError } from 'jsonrpc-lite'; diff --git a/packages/apps-engine/deno-runtime/handlers/app/handler.ts b/packages/apps/deno-runtime/handlers/app/handler.ts similarity index 100% rename from packages/apps-engine/deno-runtime/handlers/app/handler.ts rename to packages/apps/deno-runtime/handlers/app/handler.ts diff --git a/packages/apps-engine/deno-runtime/handlers/lib/assertions.ts b/packages/apps/deno-runtime/handlers/lib/assertions.ts similarity index 99% rename from packages/apps-engine/deno-runtime/handlers/lib/assertions.ts rename to packages/apps/deno-runtime/handlers/lib/assertions.ts index d6dcd0a4c9651..d2668840fb4bc 100644 --- a/packages/apps-engine/deno-runtime/handlers/lib/assertions.ts +++ b/packages/apps/deno-runtime/handlers/lib/assertions.ts @@ -1,4 +1,4 @@ -import type { App } from '@rocket.chat/apps-engine/definition/App.ts'; +import type { App } from '@rocket.chat/apps-engine/definition/App'; import { JsonRpcError } from 'jsonrpc-lite'; /** diff --git a/packages/apps-engine/deno-runtime/handlers/listener/handler.ts b/packages/apps/deno-runtime/handlers/listener/handler.ts similarity index 98% rename from packages/apps-engine/deno-runtime/handlers/listener/handler.ts rename to packages/apps/deno-runtime/handlers/listener/handler.ts index 88bc09b81403d..5dc98dea614c7 100644 --- a/packages/apps-engine/deno-runtime/handlers/listener/handler.ts +++ b/packages/apps/deno-runtime/handlers/listener/handler.ts @@ -1,7 +1,7 @@ -import type { App } from '@rocket.chat/apps-engine/definition/App.ts'; -import type { IMessage } from '@rocket.chat/apps-engine/definition/messages/IMessage.ts'; -import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms/IRoom.ts'; -import type { AppsEngineException as _AppsEngineException } from '@rocket.chat/apps-engine/definition/exceptions/AppsEngineException.ts'; +import type { App } from '@rocket.chat/apps-engine/definition/App'; +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages/IMessage'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms/IRoom'; +import type { AppsEngineException as _AppsEngineException } from '@rocket.chat/apps-engine/definition/exceptions/AppsEngineException'; import { Defined, JsonRpcError } from 'jsonrpc-lite'; import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; diff --git a/packages/apps-engine/deno-runtime/handlers/outboundcomms-handler.ts b/packages/apps/deno-runtime/handlers/outboundcomms-handler.ts similarity index 99% rename from packages/apps-engine/deno-runtime/handlers/outboundcomms-handler.ts rename to packages/apps/deno-runtime/handlers/outboundcomms-handler.ts index cb425e61684f5..1c4dee24dd025 100644 --- a/packages/apps-engine/deno-runtime/handlers/outboundcomms-handler.ts +++ b/packages/apps/deno-runtime/handlers/outboundcomms-handler.ts @@ -1,4 +1,4 @@ -import type { IOutboundMessageProviders } from '@rocket.chat/apps-engine/definition/outboundCommunication/IOutboundCommsProvider.ts'; +import type { IOutboundMessageProviders } from '@rocket.chat/apps-engine/definition/outboundCommunication/IOutboundCommsProvider'; import { JsonRpcError, Defined } from 'jsonrpc-lite'; import { AppObjectRegistry } from '../AppObjectRegistry.ts'; diff --git a/packages/apps-engine/deno-runtime/handlers/scheduler-handler.ts b/packages/apps/deno-runtime/handlers/scheduler-handler.ts similarity index 98% rename from packages/apps-engine/deno-runtime/handlers/scheduler-handler.ts rename to packages/apps/deno-runtime/handlers/scheduler-handler.ts index 23c969ed46131..9b6dfcad14d3b 100644 --- a/packages/apps-engine/deno-runtime/handlers/scheduler-handler.ts +++ b/packages/apps/deno-runtime/handlers/scheduler-handler.ts @@ -1,5 +1,5 @@ -import type { App } from '@rocket.chat/apps-engine/definition/App.ts'; -import type { IProcessor } from '@rocket.chat/apps-engine/definition/scheduler/IProcessor.ts'; +import type { App } from '@rocket.chat/apps-engine/definition/App'; +import type { IProcessor } from '@rocket.chat/apps-engine/definition/scheduler/IProcessor'; import { Defined, JsonRpcError } from 'jsonrpc-lite'; import { AppObjectRegistry } from '../AppObjectRegistry.ts'; diff --git a/packages/apps-engine/deno-runtime/handlers/slashcommand-handler.ts b/packages/apps/deno-runtime/handlers/slashcommand-handler.ts similarity index 80% rename from packages/apps-engine/deno-runtime/handlers/slashcommand-handler.ts rename to packages/apps/deno-runtime/handlers/slashcommand-handler.ts index de1a9ecd1efe1..52e3c1419d913 100644 --- a/packages/apps-engine/deno-runtime/handlers/slashcommand-handler.ts +++ b/packages/apps/deno-runtime/handlers/slashcommand-handler.ts @@ -1,21 +1,14 @@ -import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms/IRoom.ts'; -import type { ISlashCommand } from '@rocket.chat/apps-engine/definition/slashcommands/ISlashCommand.ts'; -import type { SlashCommandContext as _SlashCommandContext } from '@rocket.chat/apps-engine/definition/slashcommands/SlashCommandContext.ts'; -import type { Room as _Room } from '@rocket.chat/apps-engine/server/rooms/Room.ts'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms/IRoom'; +import type { ISlashCommand } from '@rocket.chat/apps-engine/definition/slashcommands/ISlashCommand'; +import { SlashCommandContext } from '@rocket.chat/apps-engine/definition/slashcommands/SlashCommandContext'; import { Defined, JsonRpcError } from 'jsonrpc-lite'; import { AppObjectRegistry } from '../AppObjectRegistry.ts'; import { AppAccessors, AppAccessorsInstance } from '../lib/accessors/mod.ts'; -import { require } from '../lib/require.ts'; import createRoom from '../lib/roomFactory.ts'; import { RequestContext } from '../lib/requestContext.ts'; import { wrapComposedApp } from '../lib/wrapAppForRequest.ts'; -// For some reason Deno couldn't understand the typecast to the original interfaces and said it wasn't a constructor type -const { SlashCommandContext } = require('@rocket.chat/apps-engine/definition/slashcommands/SlashCommandContext.js') as { - SlashCommandContext: typeof _SlashCommandContext; -}; - export default async function slashCommandHandler(request: RequestContext): Promise { const { method: call, params } = request; const { logger } = request.context; @@ -76,11 +69,11 @@ export function handleExecutor(deps: Deps, command: ISlashCommand, method: 'exec const { sender, room, params: args, threadId, triggerId } = params[0] as Record; const context = new SlashCommandContext( - sender as _SlashCommandContext['sender'], + sender as SlashCommandContext['sender'], createRoom(room as IRoom, deps.AppAccessorsInstance.getSenderFn()), - args as _SlashCommandContext['params'], - threadId as _SlashCommandContext['threadId'], - triggerId as _SlashCommandContext['triggerId'], + args as SlashCommandContext['params'], + threadId as SlashCommandContext['threadId'], + triggerId as SlashCommandContext['triggerId'], ); return executor.apply(wrapComposedApp(command, deps.request), [ @@ -109,11 +102,11 @@ export function handlePreviewItem(deps: Deps, command: ISlashCommand, params: un const [previewItem, { sender, room, params: args, threadId, triggerId }] = params as [Record, Record]; const context = new SlashCommandContext( - sender as _SlashCommandContext['sender'], + sender as SlashCommandContext['sender'], createRoom(room as IRoom, deps.AppAccessorsInstance.getSenderFn()), - args as _SlashCommandContext['params'], - threadId as _SlashCommandContext['threadId'], - triggerId as _SlashCommandContext['triggerId'], + args as SlashCommandContext['params'], + threadId as SlashCommandContext['threadId'], + triggerId as SlashCommandContext['triggerId'], ); return command.executePreviewItem.call( diff --git a/packages/apps-engine/deno-runtime/handlers/tests/api-handler.test.ts b/packages/apps/deno-runtime/handlers/tests/api-handler.test.ts similarity index 99% rename from packages/apps-engine/deno-runtime/handlers/tests/api-handler.test.ts rename to packages/apps/deno-runtime/handlers/tests/api-handler.test.ts index 26ccbd43fb80f..70f68082bdab3 100644 --- a/packages/apps-engine/deno-runtime/handlers/tests/api-handler.test.ts +++ b/packages/apps/deno-runtime/handlers/tests/api-handler.test.ts @@ -1,5 +1,5 @@ // deno-lint-ignore-file no-explicit-any -import type { IApiEndpoint } from '@rocket.chat/apps-engine/definition/api/IApiEndpoint.ts'; +import type { IApiEndpoint } from '@rocket.chat/apps-engine/definition/api/IApiEndpoint'; import { assertEquals, assertObjectMatch } from 'https://deno.land/std@0.203.0/assert/mod.ts'; import { beforeEach, describe, it } from 'https://deno.land/std@0.203.0/testing/bdd.ts'; import { spy } from 'https://deno.land/std@0.203.0/testing/mock.ts'; diff --git a/packages/apps-engine/deno-runtime/handlers/tests/helpers/mod.ts b/packages/apps/deno-runtime/handlers/tests/helpers/mod.ts similarity index 98% rename from packages/apps-engine/deno-runtime/handlers/tests/helpers/mod.ts rename to packages/apps/deno-runtime/handlers/tests/helpers/mod.ts index 581d95e4c3484..0bd5d97489489 100644 --- a/packages/apps-engine/deno-runtime/handlers/tests/helpers/mod.ts +++ b/packages/apps/deno-runtime/handlers/tests/helpers/mod.ts @@ -1,4 +1,4 @@ -import type { App } from '@rocket.chat/apps-engine/definition/App.ts'; +import type { App } from '@rocket.chat/apps-engine/definition/App'; import { Logger } from '../../../lib/logger.ts'; import { RequestDescriptor } from '../../../lib/messenger.ts'; diff --git a/packages/apps-engine/deno-runtime/handlers/tests/listener-handler.test.ts b/packages/apps/deno-runtime/handlers/tests/listener-handler.test.ts similarity index 100% rename from packages/apps-engine/deno-runtime/handlers/tests/listener-handler.test.ts rename to packages/apps/deno-runtime/handlers/tests/listener-handler.test.ts diff --git a/packages/apps-engine/deno-runtime/handlers/tests/scheduler-handler.test.ts b/packages/apps/deno-runtime/handlers/tests/scheduler-handler.test.ts similarity index 100% rename from packages/apps-engine/deno-runtime/handlers/tests/scheduler-handler.test.ts rename to packages/apps/deno-runtime/handlers/tests/scheduler-handler.test.ts diff --git a/packages/apps-engine/deno-runtime/handlers/tests/slashcommand-handler.test.ts b/packages/apps/deno-runtime/handlers/tests/slashcommand-handler.test.ts similarity index 100% rename from packages/apps-engine/deno-runtime/handlers/tests/slashcommand-handler.test.ts rename to packages/apps/deno-runtime/handlers/tests/slashcommand-handler.test.ts diff --git a/packages/apps-engine/deno-runtime/handlers/tests/uikit-handler.test.ts b/packages/apps/deno-runtime/handlers/tests/uikit-handler.test.ts similarity index 100% rename from packages/apps-engine/deno-runtime/handlers/tests/uikit-handler.test.ts rename to packages/apps/deno-runtime/handlers/tests/uikit-handler.test.ts diff --git a/packages/apps-engine/deno-runtime/handlers/tests/upload-event-handler.test.ts b/packages/apps/deno-runtime/handlers/tests/upload-event-handler.test.ts similarity index 98% rename from packages/apps-engine/deno-runtime/handlers/tests/upload-event-handler.test.ts rename to packages/apps/deno-runtime/handlers/tests/upload-event-handler.test.ts index 182d32eda3353..80fb459ba171d 100644 --- a/packages/apps-engine/deno-runtime/handlers/tests/upload-event-handler.test.ts +++ b/packages/apps/deno-runtime/handlers/tests/upload-event-handler.test.ts @@ -1,9 +1,9 @@ // deno-lint-ignore-file no-explicit-any import { Buffer } from 'node:buffer'; -import type { App } from '@rocket.chat/apps-engine/definition/App.ts'; -import type { IPreFileUpload } from '@rocket.chat/apps-engine/definition/uploads/IPreFileUpload.ts'; -import type { IUploadDetails } from '@rocket.chat/apps-engine/definition/uploads/IUploadDetails.ts'; +import type { App } from '@rocket.chat/apps-engine/definition/App'; +import type { IPreFileUpload } from '@rocket.chat/apps-engine/definition/uploads/IPreFileUpload'; +import type { IUploadDetails } from '@rocket.chat/apps-engine/definition/uploads/IUploadDetails'; import { assertInstanceOf, assertNotInstanceOf, assertEquals, assertStringIncludes } from 'https://deno.land/std@0.203.0/assert/mod.ts'; import { afterEach, beforeEach, describe, it } from 'https://deno.land/std@0.203.0/testing/bdd.ts'; import { assertSpyCalls, spy } from 'https://deno.land/std@0.203.0/testing/mock.ts'; diff --git a/packages/apps-engine/deno-runtime/handlers/tests/videoconference-handler.test.ts b/packages/apps/deno-runtime/handlers/tests/videoconference-handler.test.ts similarity index 100% rename from packages/apps-engine/deno-runtime/handlers/tests/videoconference-handler.test.ts rename to packages/apps/deno-runtime/handlers/tests/videoconference-handler.test.ts diff --git a/packages/apps-engine/deno-runtime/handlers/uikit/handler.ts b/packages/apps/deno-runtime/handlers/uikit/handler.ts similarity index 99% rename from packages/apps-engine/deno-runtime/handlers/uikit/handler.ts rename to packages/apps/deno-runtime/handlers/uikit/handler.ts index 8d352d21927e7..9f45989a03ffb 100644 --- a/packages/apps-engine/deno-runtime/handlers/uikit/handler.ts +++ b/packages/apps/deno-runtime/handlers/uikit/handler.ts @@ -1,4 +1,4 @@ -import type { App } from '@rocket.chat/apps-engine/definition/App.ts'; +import type { App } from '@rocket.chat/apps-engine/definition/App'; import { Defined, JsonRpcError } from 'jsonrpc-lite'; import { require } from '../../lib/require.ts'; diff --git a/packages/apps-engine/deno-runtime/handlers/videoconference-handler.ts b/packages/apps/deno-runtime/handlers/videoconference-handler.ts similarity index 97% rename from packages/apps-engine/deno-runtime/handlers/videoconference-handler.ts rename to packages/apps/deno-runtime/handlers/videoconference-handler.ts index 5c82aedd3a63c..b05c967ca5293 100644 --- a/packages/apps-engine/deno-runtime/handlers/videoconference-handler.ts +++ b/packages/apps/deno-runtime/handlers/videoconference-handler.ts @@ -1,4 +1,4 @@ -import type { IVideoConfProvider } from '@rocket.chat/apps-engine/definition/videoConfProviders/IVideoConfProvider.ts'; +import type { IVideoConfProvider } from '@rocket.chat/apps-engine/definition/videoConfProviders/IVideoConfProvider'; import { Defined, JsonRpcError } from 'jsonrpc-lite'; import { AppObjectRegistry } from '../AppObjectRegistry.ts'; diff --git a/packages/apps-engine/deno-runtime/lib/accessors/builders/BlockBuilder.ts b/packages/apps/deno-runtime/lib/accessors/builders/BlockBuilder.ts similarity index 97% rename from packages/apps-engine/deno-runtime/lib/accessors/builders/BlockBuilder.ts rename to packages/apps/deno-runtime/lib/accessors/builders/BlockBuilder.ts index de103fe50be02..77b4c3e8e1696 100644 --- a/packages/apps-engine/deno-runtime/lib/accessors/builders/BlockBuilder.ts +++ b/packages/apps/deno-runtime/lib/accessors/builders/BlockBuilder.ts @@ -10,7 +10,7 @@ import type { IImageBlock, IInputBlock, ISectionBlock, -} from '@rocket.chat/apps-engine/definition/uikit/blocks/Blocks.ts'; +} from '@rocket.chat/apps-engine/definition/uikit/blocks/Blocks'; import type { BlockElementType as _BlockElementType, IBlockElement, @@ -23,8 +23,8 @@ import type { IPlainTextInputElement, ISelectElement, IStaticSelectElement, -} from '@rocket.chat/apps-engine/definition/uikit/blocks/Elements.ts'; -import type { ITextObject, TextObjectType as _TextObjectType } from '@rocket.chat/apps-engine/definition/uikit/blocks/Objects.ts'; +} from '@rocket.chat/apps-engine/definition/uikit/blocks/Elements'; +import type { ITextObject, TextObjectType as _TextObjectType } from '@rocket.chat/apps-engine/definition/uikit/blocks/Objects'; import { AppObjectRegistry } from '../../../AppObjectRegistry.ts'; import { require } from '../../../lib/require.ts'; diff --git a/packages/apps-engine/deno-runtime/lib/accessors/builders/DiscussionBuilder.ts b/packages/apps/deno-runtime/lib/accessors/builders/DiscussionBuilder.ts similarity index 92% rename from packages/apps-engine/deno-runtime/lib/accessors/builders/DiscussionBuilder.ts rename to packages/apps/deno-runtime/lib/accessors/builders/DiscussionBuilder.ts index adbf060182e1d..d927844a3377f 100644 --- a/packages/apps-engine/deno-runtime/lib/accessors/builders/DiscussionBuilder.ts +++ b/packages/apps/deno-runtime/lib/accessors/builders/DiscussionBuilder.ts @@ -1,10 +1,10 @@ -import type { IDiscussionBuilder as _IDiscussionBuilder } from '@rocket.chat/apps-engine/definition/accessors/IDiscussionBuilder.ts'; -import type { IMessage } from '@rocket.chat/apps-engine/definition/messages/IMessage.ts'; -import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms/IRoom.ts'; -import type { IRoomBuilder } from '@rocket.chat/apps-engine/definition/accessors/IRoomBuilder.ts'; +import type { IDiscussionBuilder as _IDiscussionBuilder } from '@rocket.chat/apps-engine/definition/accessors/IDiscussionBuilder'; +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages/IMessage'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms/IRoom'; +import type { IRoomBuilder } from '@rocket.chat/apps-engine/definition/accessors/IRoomBuilder'; -import type { RocketChatAssociationModel as _RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations.ts'; -import type { RoomType as _RoomType } from '@rocket.chat/apps-engine/definition/rooms/RoomType.ts'; +import type { RocketChatAssociationModel as _RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations'; +import type { RoomType as _RoomType } from '@rocket.chat/apps-engine/definition/rooms/RoomType'; import { RoomBuilder } from './RoomBuilder.ts'; import { require } from '../../../lib/require.ts'; diff --git a/packages/apps-engine/deno-runtime/lib/accessors/builders/LivechatMessageBuilder.ts b/packages/apps/deno-runtime/lib/accessors/builders/LivechatMessageBuilder.ts similarity index 93% rename from packages/apps-engine/deno-runtime/lib/accessors/builders/LivechatMessageBuilder.ts rename to packages/apps/deno-runtime/lib/accessors/builders/LivechatMessageBuilder.ts index b39a418c5aec0..27426179386dd 100644 --- a/packages/apps-engine/deno-runtime/lib/accessors/builders/LivechatMessageBuilder.ts +++ b/packages/apps/deno-runtime/lib/accessors/builders/LivechatMessageBuilder.ts @@ -1,14 +1,14 @@ -import type { RocketChatAssociationModel as _RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations.ts'; -import type { RoomType as _RoomType } from '@rocket.chat/apps-engine/definition/rooms/RoomType.ts'; - -import type { ILivechatMessageBuilder } from '@rocket.chat/apps-engine/definition/accessors/ILivechatMessageBuilder.ts'; -import type { IMessage } from '@rocket.chat/apps-engine/definition/messages/IMessage.ts'; -import type { IMessageAttachment } from '@rocket.chat/apps-engine/definition/messages/IMessageAttachment.ts'; -import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms/IRoom.ts'; -import type { IUser } from '@rocket.chat/apps-engine/definition/users/IUser.ts'; -import type { ILivechatMessage as EngineLivechatMessage } from '@rocket.chat/apps-engine/definition/livechat/ILivechatMessage.ts'; -import type { IVisitor } from '@rocket.chat/apps-engine/definition/livechat/IVisitor.ts'; -import type { IMessageBuilder } from '@rocket.chat/apps-engine/definition/accessors/IMessageBuilder.ts'; +import type { RocketChatAssociationModel as _RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations'; +import type { RoomType as _RoomType } from '@rocket.chat/apps-engine/definition/rooms/RoomType'; + +import type { ILivechatMessageBuilder } from '@rocket.chat/apps-engine/definition/accessors/ILivechatMessageBuilder'; +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages/IMessage'; +import type { IMessageAttachment } from '@rocket.chat/apps-engine/definition/messages/IMessageAttachment'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms/IRoom'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users/IUser'; +import type { ILivechatMessage as EngineLivechatMessage } from '@rocket.chat/apps-engine/definition/livechat/ILivechatMessage'; +import type { IVisitor } from '@rocket.chat/apps-engine/definition/livechat/IVisitor'; +import type { IMessageBuilder } from '@rocket.chat/apps-engine/definition/accessors/IMessageBuilder'; import { MessageBuilder } from './MessageBuilder.ts'; import { require } from '../../../lib/require.ts'; diff --git a/packages/apps-engine/deno-runtime/lib/accessors/builders/MessageBuilder.ts b/packages/apps/deno-runtime/lib/accessors/builders/MessageBuilder.ts similarity index 97% rename from packages/apps-engine/deno-runtime/lib/accessors/builders/MessageBuilder.ts rename to packages/apps/deno-runtime/lib/accessors/builders/MessageBuilder.ts index 032b4ba2552e9..acea8aacc0cc8 100644 --- a/packages/apps-engine/deno-runtime/lib/accessors/builders/MessageBuilder.ts +++ b/packages/apps/deno-runtime/lib/accessors/builders/MessageBuilder.ts @@ -1,12 +1,12 @@ import { LayoutBlock } from '@rocket.chat/ui-kit'; -import type { IMessageBuilder } from '@rocket.chat/apps-engine/definition/accessors/IMessageBuilder.ts'; -import type { RocketChatAssociationModel as _RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations.ts'; -import type { IMessage } from '@rocket.chat/apps-engine/definition/messages/IMessage.ts'; -import type { IMessageAttachment } from '@rocket.chat/apps-engine/definition/messages/IMessageAttachment.ts'; -import type { IUser } from '@rocket.chat/apps-engine/definition/users/IUser.ts'; -import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms/IRoom.ts'; -import type { IBlock } from '@rocket.chat/apps-engine/definition/uikit/blocks/Blocks.ts'; +import type { IMessageBuilder } from '@rocket.chat/apps-engine/definition/accessors/IMessageBuilder'; +import type { RocketChatAssociationModel as _RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations'; +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages/IMessage'; +import type { IMessageAttachment } from '@rocket.chat/apps-engine/definition/messages/IMessageAttachment'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users/IUser'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms/IRoom'; +import type { IBlock } from '@rocket.chat/apps-engine/definition/uikit/blocks/Blocks'; import { BlockBuilder } from './BlockBuilder.ts'; import { require } from '../../../lib/require.ts'; diff --git a/packages/apps-engine/deno-runtime/lib/accessors/builders/RoomBuilder.ts b/packages/apps/deno-runtime/lib/accessors/builders/RoomBuilder.ts similarity index 97% rename from packages/apps-engine/deno-runtime/lib/accessors/builders/RoomBuilder.ts rename to packages/apps/deno-runtime/lib/accessors/builders/RoomBuilder.ts index 208d476d32162..a2912e44913dd 100644 --- a/packages/apps-engine/deno-runtime/lib/accessors/builders/RoomBuilder.ts +++ b/packages/apps/deno-runtime/lib/accessors/builders/RoomBuilder.ts @@ -1,9 +1,9 @@ -import type { IRoomBuilder } from '@rocket.chat/apps-engine/definition/accessors/IRoomBuilder.ts'; -import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms/IRoom.ts'; -import type { IUser } from '@rocket.chat/apps-engine/definition/users/IUser.ts'; +import type { IRoomBuilder } from '@rocket.chat/apps-engine/definition/accessors/IRoomBuilder'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms/IRoom'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users/IUser'; -import type { RoomType } from '@rocket.chat/apps-engine/definition/rooms/RoomType.ts'; -import type { RocketChatAssociationModel as _RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations.ts'; +import type { RoomType } from '@rocket.chat/apps-engine/definition/rooms/RoomType'; +import type { RocketChatAssociationModel as _RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations'; import { require } from '../../../lib/require.ts'; diff --git a/packages/apps-engine/deno-runtime/lib/accessors/builders/UserBuilder.ts b/packages/apps/deno-runtime/lib/accessors/builders/UserBuilder.ts similarity index 93% rename from packages/apps-engine/deno-runtime/lib/accessors/builders/UserBuilder.ts rename to packages/apps/deno-runtime/lib/accessors/builders/UserBuilder.ts index caaf9a69d5941..079607b4ecfd0 100644 --- a/packages/apps-engine/deno-runtime/lib/accessors/builders/UserBuilder.ts +++ b/packages/apps/deno-runtime/lib/accessors/builders/UserBuilder.ts @@ -1,8 +1,8 @@ -import type { IUserBuilder } from '@rocket.chat/apps-engine/definition/accessors/IUserBuilder.ts'; -import type { IUser } from '@rocket.chat/apps-engine/definition/users/IUser.ts'; -import type { IUserSettings } from '@rocket.chat/apps-engine/definition/users/IUserSettings.ts'; -import type { IUserEmail } from '@rocket.chat/apps-engine/definition/users/IUserEmail.ts'; -import type { RocketChatAssociationModel as _RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations.ts'; +import type { IUserBuilder } from '@rocket.chat/apps-engine/definition/accessors/IUserBuilder'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users/IUser'; +import type { IUserSettings } from '@rocket.chat/apps-engine/definition/users/IUserSettings'; +import type { IUserEmail } from '@rocket.chat/apps-engine/definition/users/IUserEmail'; +import type { RocketChatAssociationModel as _RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations'; import { require } from '../../../lib/require.ts'; diff --git a/packages/apps-engine/deno-runtime/lib/accessors/builders/VideoConferenceBuilder.ts b/packages/apps/deno-runtime/lib/accessors/builders/VideoConferenceBuilder.ts similarity index 94% rename from packages/apps-engine/deno-runtime/lib/accessors/builders/VideoConferenceBuilder.ts rename to packages/apps/deno-runtime/lib/accessors/builders/VideoConferenceBuilder.ts index e1bc3f3cf5b24..2ab47745d4b64 100644 --- a/packages/apps-engine/deno-runtime/lib/accessors/builders/VideoConferenceBuilder.ts +++ b/packages/apps/deno-runtime/lib/accessors/builders/VideoConferenceBuilder.ts @@ -1,7 +1,7 @@ -import type { IVideoConferenceBuilder } from '@rocket.chat/apps-engine/definition/accessors/IVideoConferenceBuilder.ts'; -import type { IGroupVideoConference } from '@rocket.chat/apps-engine/definition/videoConferences/IVideoConference.ts'; +import type { IVideoConferenceBuilder } from '@rocket.chat/apps-engine/definition/accessors/IVideoConferenceBuilder'; +import type { IGroupVideoConference } from '@rocket.chat/apps-engine/definition/videoConferences/IVideoConference'; -import type { RocketChatAssociationModel as _RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations.ts'; +import type { RocketChatAssociationModel as _RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations'; import { require } from '../../../lib/require.ts'; diff --git a/packages/apps-engine/deno-runtime/lib/accessors/extenders/HttpExtender.ts b/packages/apps/deno-runtime/lib/accessors/extenders/HttpExtender.ts similarity index 99% rename from packages/apps-engine/deno-runtime/lib/accessors/extenders/HttpExtender.ts rename to packages/apps/deno-runtime/lib/accessors/extenders/HttpExtender.ts index 8342850975017..03a39ff1fedc2 100644 --- a/packages/apps-engine/deno-runtime/lib/accessors/extenders/HttpExtender.ts +++ b/packages/apps/deno-runtime/lib/accessors/extenders/HttpExtender.ts @@ -1,4 +1,4 @@ -import type { IHttpExtend, IHttpPreRequestHandler, IHttpPreResponseHandler } from '@rocket.chat/apps-engine/definition/accessors/IHttp.ts'; +import type { IHttpExtend, IHttpPreRequestHandler, IHttpPreResponseHandler } from '@rocket.chat/apps-engine/definition/accessors/IHttp'; export class HttpExtend implements IHttpExtend { private headers: Map; diff --git a/packages/apps-engine/deno-runtime/lib/accessors/extenders/MessageExtender.ts b/packages/apps/deno-runtime/lib/accessors/extenders/MessageExtender.ts similarity index 93% rename from packages/apps-engine/deno-runtime/lib/accessors/extenders/MessageExtender.ts rename to packages/apps/deno-runtime/lib/accessors/extenders/MessageExtender.ts index 1f45137e15d4b..0364202b0f320 100644 --- a/packages/apps-engine/deno-runtime/lib/accessors/extenders/MessageExtender.ts +++ b/packages/apps/deno-runtime/lib/accessors/extenders/MessageExtender.ts @@ -1,7 +1,7 @@ -import type { IMessageExtender } from '@rocket.chat/apps-engine/definition/accessors/IMessageExtender.ts'; -import type { RocketChatAssociationModel as _RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations.ts'; -import type { IMessage } from '@rocket.chat/apps-engine/definition/messages/IMessage.ts'; -import type { IMessageAttachment } from '@rocket.chat/apps-engine/definition/messages/IMessageAttachment.ts'; +import type { IMessageExtender } from '@rocket.chat/apps-engine/definition/accessors/IMessageExtender'; +import type { RocketChatAssociationModel as _RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations'; +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages/IMessage'; +import type { IMessageAttachment } from '@rocket.chat/apps-engine/definition/messages/IMessageAttachment'; import { require } from '../../../lib/require.ts'; diff --git a/packages/apps-engine/deno-runtime/lib/accessors/extenders/RoomExtender.ts b/packages/apps/deno-runtime/lib/accessors/extenders/RoomExtender.ts similarity index 94% rename from packages/apps-engine/deno-runtime/lib/accessors/extenders/RoomExtender.ts rename to packages/apps/deno-runtime/lib/accessors/extenders/RoomExtender.ts index a138e08d2d28e..ae3ebeaf34f9e 100644 --- a/packages/apps-engine/deno-runtime/lib/accessors/extenders/RoomExtender.ts +++ b/packages/apps/deno-runtime/lib/accessors/extenders/RoomExtender.ts @@ -1,7 +1,7 @@ -import type { IRoomExtender } from '@rocket.chat/apps-engine/definition/accessors/IRoomExtender.ts'; -import type { RocketChatAssociationModel as _RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations.ts'; -import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms/IRoom.ts'; -import type { IUser } from '@rocket.chat/apps-engine/definition/users/IUser.ts'; +import type { IRoomExtender } from '@rocket.chat/apps-engine/definition/accessors/IRoomExtender'; +import type { RocketChatAssociationModel as _RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms/IRoom'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users/IUser'; import { require } from '../../../lib/require.ts'; diff --git a/packages/apps-engine/deno-runtime/lib/accessors/extenders/VideoConferenceExtend.ts b/packages/apps/deno-runtime/lib/accessors/extenders/VideoConferenceExtend.ts similarity index 93% rename from packages/apps-engine/deno-runtime/lib/accessors/extenders/VideoConferenceExtend.ts rename to packages/apps/deno-runtime/lib/accessors/extenders/VideoConferenceExtend.ts index c4b154f46cb32..de4e4a0121af2 100644 --- a/packages/apps-engine/deno-runtime/lib/accessors/extenders/VideoConferenceExtend.ts +++ b/packages/apps/deno-runtime/lib/accessors/extenders/VideoConferenceExtend.ts @@ -1,7 +1,7 @@ -import type { IVideoConferenceExtender } from '@rocket.chat/apps-engine/definition/accessors/IVideoConferenceExtend.ts'; -import type { VideoConference, VideoConferenceMember } from '@rocket.chat/apps-engine/definition/videoConferences/IVideoConference.ts'; -import type { IVideoConferenceUser } from '@rocket.chat/apps-engine/definition/videoConferences/IVideoConferenceUser.ts'; -import type { RocketChatAssociationModel as _RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations.ts'; +import type { IVideoConferenceExtender } from '@rocket.chat/apps-engine/definition/accessors/IVideoConferenceExtend'; +import type { VideoConference, VideoConferenceMember } from '@rocket.chat/apps-engine/definition/videoConferences/IVideoConference'; +import type { IVideoConferenceUser } from '@rocket.chat/apps-engine/definition/videoConferences/IVideoConferenceUser'; +import type { RocketChatAssociationModel as _RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations'; import { require } from '../../../lib/require.ts'; diff --git a/packages/apps-engine/deno-runtime/lib/accessors/formatResponseErrorHandler.ts b/packages/apps/deno-runtime/lib/accessors/formatResponseErrorHandler.ts similarity index 100% rename from packages/apps-engine/deno-runtime/lib/accessors/formatResponseErrorHandler.ts rename to packages/apps/deno-runtime/lib/accessors/formatResponseErrorHandler.ts diff --git a/packages/apps-engine/deno-runtime/lib/accessors/http.ts b/packages/apps/deno-runtime/lib/accessors/http.ts similarity index 96% rename from packages/apps-engine/deno-runtime/lib/accessors/http.ts rename to packages/apps/deno-runtime/lib/accessors/http.ts index 41f1025150fdc..76a2a3ac9fc00 100644 --- a/packages/apps-engine/deno-runtime/lib/accessors/http.ts +++ b/packages/apps/deno-runtime/lib/accessors/http.ts @@ -1,6 +1,6 @@ -import type { IHttp, IHttpExtend, IHttpRequest, IHttpResponse } from '@rocket.chat/apps-engine/definition/accessors/IHttp.ts'; -import type { IPersistence } from '@rocket.chat/apps-engine/definition/accessors/IPersistence.ts'; -import type { IRead } from '@rocket.chat/apps-engine/definition/accessors/IRead.ts'; +import type { IHttp, IHttpExtend, IHttpRequest, IHttpResponse } from '@rocket.chat/apps-engine/definition/accessors/IHttp'; +import type { IPersistence } from '@rocket.chat/apps-engine/definition/accessors/IPersistence'; +import type { IRead } from '@rocket.chat/apps-engine/definition/accessors/IRead'; import * as Messenger from '../messenger.ts'; import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; diff --git a/packages/apps-engine/deno-runtime/lib/accessors/mod.ts b/packages/apps/deno-runtime/lib/accessors/mod.ts similarity index 95% rename from packages/apps-engine/deno-runtime/lib/accessors/mod.ts rename to packages/apps/deno-runtime/lib/accessors/mod.ts index fc2fb6a3f6669..cfc6bcf629316 100644 --- a/packages/apps-engine/deno-runtime/lib/accessors/mod.ts +++ b/packages/apps/deno-runtime/lib/accessors/mod.ts @@ -1,22 +1,22 @@ -import type { IAppAccessors } from '@rocket.chat/apps-engine/definition/accessors/IAppAccessors.ts'; -import type { IApiEndpointMetadata } from '@rocket.chat/apps-engine/definition/api/IApiEndpointMetadata.ts'; -import type { IEnvironmentWrite } from '@rocket.chat/apps-engine/definition/accessors/IEnvironmentWrite.ts'; -import type { IEnvironmentRead } from '@rocket.chat/apps-engine/definition/accessors/IEnvironmentRead.ts'; -import type { IConfigurationModify } from '@rocket.chat/apps-engine/definition/accessors/IConfigurationModify.ts'; -import type { IRead } from '@rocket.chat/apps-engine/definition/accessors/IRead.ts'; -import type { IModify } from '@rocket.chat/apps-engine/definition/accessors/IModify.ts'; -import type { INotifier } from '@rocket.chat/apps-engine/definition/accessors/INotifier.ts'; -import type { IPersistence } from '@rocket.chat/apps-engine/definition/accessors/IPersistence.ts'; -import type { IHttp, IHttpExtend } from '@rocket.chat/apps-engine/definition/accessors/IHttp.ts'; -import type { IConfigurationExtend } from '@rocket.chat/apps-engine/definition/accessors/IConfigurationExtend.ts'; -import type { ISlashCommand } from '@rocket.chat/apps-engine/definition/slashcommands/ISlashCommand.ts'; -import type { IProcessor } from '@rocket.chat/apps-engine/definition/scheduler/IProcessor.ts'; -import type { IApi } from '@rocket.chat/apps-engine/definition/api/IApi.ts'; -import type { IVideoConfProvider } from '@rocket.chat/apps-engine/definition/videoConfProviders/IVideoConfProvider.ts'; +import type { IAppAccessors } from '@rocket.chat/apps-engine/definition/accessors/IAppAccessors'; +import type { IApiEndpointMetadata } from '@rocket.chat/apps-engine/definition/api/IApiEndpointMetadata'; +import type { IEnvironmentWrite } from '@rocket.chat/apps-engine/definition/accessors/IEnvironmentWrite'; +import type { IEnvironmentRead } from '@rocket.chat/apps-engine/definition/accessors/IEnvironmentRead'; +import type { IConfigurationModify } from '@rocket.chat/apps-engine/definition/accessors/IConfigurationModify'; +import type { IRead } from '@rocket.chat/apps-engine/definition/accessors/IRead'; +import type { IModify } from '@rocket.chat/apps-engine/definition/accessors/IModify'; +import type { INotifier } from '@rocket.chat/apps-engine/definition/accessors/INotifier'; +import type { IPersistence } from '@rocket.chat/apps-engine/definition/accessors/IPersistence'; +import type { IHttp, IHttpExtend } from '@rocket.chat/apps-engine/definition/accessors/IHttp'; +import type { IConfigurationExtend } from '@rocket.chat/apps-engine/definition/accessors/IConfigurationExtend'; +import type { ISlashCommand } from '@rocket.chat/apps-engine/definition/slashcommands/ISlashCommand'; +import type { IProcessor } from '@rocket.chat/apps-engine/definition/scheduler/IProcessor'; +import type { IApi } from '@rocket.chat/apps-engine/definition/api/IApi'; +import type { IVideoConfProvider } from '@rocket.chat/apps-engine/definition/videoConfProviders/IVideoConfProvider'; import type { IOutboundPhoneMessageProvider, IOutboundEmailMessageProvider, -} from '@rocket.chat/apps-engine/definition/outboundCommunication/IOutboundCommsProvider.ts'; +} from '@rocket.chat/apps-engine/definition/outboundCommunication/IOutboundCommsProvider'; import { Http } from './http.ts'; import { HttpExtend } from './extenders/HttpExtender.ts'; diff --git a/packages/apps-engine/deno-runtime/lib/accessors/modify/ModifyCreator.ts b/packages/apps/deno-runtime/lib/accessors/modify/ModifyCreator.ts similarity index 93% rename from packages/apps-engine/deno-runtime/lib/accessors/modify/ModifyCreator.ts rename to packages/apps/deno-runtime/lib/accessors/modify/ModifyCreator.ts index d30e22c1be182..fea76bacddc4a 100644 --- a/packages/apps-engine/deno-runtime/lib/accessors/modify/ModifyCreator.ts +++ b/packages/apps/deno-runtime/lib/accessors/modify/ModifyCreator.ts @@ -1,23 +1,24 @@ -import type { IModifyCreator } from '@rocket.chat/apps-engine/definition/accessors/IModifyCreator.ts'; -import type { IUploadCreator } from '@rocket.chat/apps-engine/definition/accessors/IUploadCreator.ts'; -import type { IEmailCreator } from '@rocket.chat/apps-engine/definition/accessors/IEmailCreator.ts'; -import type { IContactCreator } from '@rocket.chat/apps-engine/definition/accessors/IContactCreator.ts'; -import type { ILivechatCreator } from '@rocket.chat/apps-engine/definition/accessors/ILivechatCreator.ts'; -import type { IMessage } from '@rocket.chat/apps-engine/definition/messages/IMessage.ts'; -import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms/IRoom.ts'; -import type { IBotUser } from '@rocket.chat/apps-engine/definition/users/IBotUser.ts'; -import type { UserType as _UserType } from '@rocket.chat/apps-engine/definition/users/UserType.ts'; -import type { RocketChatAssociationModel as _RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations.ts'; -import type { IMessageBuilder } from '@rocket.chat/apps-engine/definition/accessors/IMessageBuilder.ts'; -import type { IRoomBuilder } from '@rocket.chat/apps-engine/definition/accessors/IRoomBuilder.ts'; -import type { IUserBuilder } from '@rocket.chat/apps-engine/definition/accessors/IUserBuilder.ts'; -import type { IVideoConferenceBuilder } from '@rocket.chat/apps-engine/definition/accessors/IVideoConferenceBuilder.ts'; -import type { RoomType as _RoomType } from '@rocket.chat/apps-engine/definition/rooms/RoomType.ts'; -import type { ILivechatMessageBuilder } from '@rocket.chat/apps-engine/definition/accessors/ILivechatMessageBuilder.ts'; -import type { UIHelper as _UIHelper } from '@rocket.chat/apps-engine/server/misc/UIHelper.ts'; +import { randomBytes } from 'node:crypto'; + +import { UIHelper } from '@rocket.chat/apps/dist/server/misc/UIHelper'; +import type { IModifyCreator } from '@rocket.chat/apps-engine/definition/accessors/IModifyCreator'; +import type { IUploadCreator } from '@rocket.chat/apps-engine/definition/accessors/IUploadCreator'; +import type { IEmailCreator } from '@rocket.chat/apps-engine/definition/accessors/IEmailCreator'; +import type { IContactCreator } from '@rocket.chat/apps-engine/definition/accessors/IContactCreator'; +import type { ILivechatCreator } from '@rocket.chat/apps-engine/definition/accessors/ILivechatCreator'; +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages/IMessage'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms/IRoom'; +import type { IBotUser } from '@rocket.chat/apps-engine/definition/users/IBotUser'; +import type { UserType as _UserType } from '@rocket.chat/apps-engine/definition/users/UserType'; +import type { RocketChatAssociationModel as _RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations'; +import type { IMessageBuilder } from '@rocket.chat/apps-engine/definition/accessors/IMessageBuilder'; +import type { IRoomBuilder } from '@rocket.chat/apps-engine/definition/accessors/IRoomBuilder'; +import type { IUserBuilder } from '@rocket.chat/apps-engine/definition/accessors/IUserBuilder'; +import type { IVideoConferenceBuilder } from '@rocket.chat/apps-engine/definition/accessors/IVideoConferenceBuilder'; +import type { RoomType as _RoomType } from '@rocket.chat/apps-engine/definition/rooms/RoomType'; +import type { ILivechatMessageBuilder } from '@rocket.chat/apps-engine/definition/accessors/ILivechatMessageBuilder'; import * as Messenger from '../../messenger.ts'; -import { randomBytes } from 'node:crypto'; import { BlockBuilder } from '../builders/BlockBuilder.ts'; import { MessageBuilder } from '../builders/MessageBuilder.ts'; @@ -30,7 +31,6 @@ import { AppObjectRegistry } from '../../../AppObjectRegistry.ts'; import { require } from '../../../lib/require.ts'; import { formatErrorResponse } from '../formatResponseErrorHandler.ts'; -const { UIHelper } = require('@rocket.chat/apps-engine/server/misc/UIHelper.js') as { UIHelper: typeof _UIHelper }; const { RoomType } = require('@rocket.chat/apps-engine/definition/rooms/RoomType.js') as { RoomType: typeof _RoomType }; const { UserType } = require('@rocket.chat/apps-engine/definition/users/UserType.js') as { UserType: typeof _UserType }; const { RocketChatAssociationModel } = require('@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations.js') as { @@ -107,7 +107,7 @@ export class ModifyCreator implements IModifyCreator { throw formatErrorResponse(err); }), }, - ); + ) as IEmailCreator; } getContactCreator(): IContactCreator { @@ -128,7 +128,7 @@ export class ModifyCreator implements IModifyCreator { throw formatErrorResponse(err); }), }, - ); + ) as IContactCreator; } getBlockBuilder() { diff --git a/packages/apps-engine/deno-runtime/lib/accessors/modify/ModifyExtender.ts b/packages/apps/deno-runtime/lib/accessors/modify/ModifyExtender.ts similarity index 92% rename from packages/apps-engine/deno-runtime/lib/accessors/modify/ModifyExtender.ts rename to packages/apps/deno-runtime/lib/accessors/modify/ModifyExtender.ts index 5f8e0c53ec04a..01bbca2ab0ee0 100644 --- a/packages/apps-engine/deno-runtime/lib/accessors/modify/ModifyExtender.ts +++ b/packages/apps/deno-runtime/lib/accessors/modify/ModifyExtender.ts @@ -1,12 +1,12 @@ -import type { IModifyExtender } from '@rocket.chat/apps-engine/definition/accessors/IModifyExtender.ts'; -import type { IMessage } from '@rocket.chat/apps-engine/definition/messages/IMessage.ts'; -import type { IMessageExtender } from '@rocket.chat/apps-engine/definition/accessors/IMessageExtender.ts'; -import type { IRoomExtender } from '@rocket.chat/apps-engine/definition/accessors/IRoomExtender.ts'; -import type { IVideoConferenceExtender } from '@rocket.chat/apps-engine/definition/accessors/IVideoConferenceExtend.ts'; -import type { IUser } from '@rocket.chat/apps-engine/definition/users/IUser.ts'; -import type { VideoConference } from '@rocket.chat/apps-engine/definition/videoConferences/IVideoConference.ts'; -import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms/IRoom.ts'; -import type { RocketChatAssociationModel as _RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations.ts'; +import type { IModifyExtender } from '@rocket.chat/apps-engine/definition/accessors/IModifyExtender'; +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages/IMessage'; +import type { IMessageExtender } from '@rocket.chat/apps-engine/definition/accessors/IMessageExtender'; +import type { IRoomExtender } from '@rocket.chat/apps-engine/definition/accessors/IRoomExtender'; +import type { IVideoConferenceExtender } from '@rocket.chat/apps-engine/definition/accessors/IVideoConferenceExtend'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users/IUser'; +import type { VideoConference } from '@rocket.chat/apps-engine/definition/videoConferences/IVideoConference'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms/IRoom'; +import type { RocketChatAssociationModel as _RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations'; import * as Messenger from '../../messenger.ts'; import { AppObjectRegistry } from '../../../AppObjectRegistry.ts'; diff --git a/packages/apps-engine/deno-runtime/lib/accessors/modify/ModifyUpdater.ts b/packages/apps/deno-runtime/lib/accessors/modify/ModifyUpdater.ts similarity index 90% rename from packages/apps-engine/deno-runtime/lib/accessors/modify/ModifyUpdater.ts rename to packages/apps/deno-runtime/lib/accessors/modify/ModifyUpdater.ts index 301437627de18..06bcb07f8765e 100644 --- a/packages/apps-engine/deno-runtime/lib/accessors/modify/ModifyUpdater.ts +++ b/packages/apps/deno-runtime/lib/accessors/modify/ModifyUpdater.ts @@ -1,16 +1,16 @@ -import type { IModifyUpdater } from '@rocket.chat/apps-engine/definition/accessors/IModifyUpdater.ts'; -import type { ILivechatUpdater } from '@rocket.chat/apps-engine/definition/accessors/ILivechatUpdater.ts'; -import type { IUserUpdater } from '@rocket.chat/apps-engine/definition/accessors/IUserUpdater.ts'; -import type { IMessageUpdater } from '@rocket.chat/apps-engine/definition/accessors/IMessageUpdater.ts'; -import type { IMessageBuilder } from '@rocket.chat/apps-engine/definition/accessors/IMessageBuilder.ts'; -import type { IRoomBuilder } from '@rocket.chat/apps-engine/definition/accessors/IRoomBuilder.ts'; -import type { IUser } from '@rocket.chat/apps-engine/definition/users/IUser.ts'; -import type { IMessage } from '@rocket.chat/apps-engine/definition/messages/IMessage.ts'; -import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms/IRoom.ts'; - -import type { UIHelper as _UIHelper } from '@rocket.chat/apps-engine/server/misc/UIHelper.ts'; -import type { RoomType as _RoomType } from '@rocket.chat/apps-engine/definition/rooms/RoomType.ts'; -import type { RocketChatAssociationModel as _RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations.ts'; +import { UIHelper } from '@rocket.chat/apps/dist/server/misc/UIHelper'; +import type { IModifyUpdater } from '@rocket.chat/apps-engine/definition/accessors/IModifyUpdater'; +import type { ILivechatUpdater } from '@rocket.chat/apps-engine/definition/accessors/ILivechatUpdater'; +import type { IUserUpdater } from '@rocket.chat/apps-engine/definition/accessors/IUserUpdater'; +import type { IMessageUpdater } from '@rocket.chat/apps-engine/definition/accessors/IMessageUpdater'; +import type { IMessageBuilder } from '@rocket.chat/apps-engine/definition/accessors/IMessageBuilder'; +import type { IRoomBuilder } from '@rocket.chat/apps-engine/definition/accessors/IRoomBuilder'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users/IUser'; +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages/IMessage'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms/IRoom'; + +import type { RoomType as _RoomType } from '@rocket.chat/apps-engine/definition/rooms/RoomType'; +import type { RocketChatAssociationModel as _RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations'; import * as Messenger from '../../messenger.ts'; @@ -21,7 +21,6 @@ import { AppObjectRegistry } from '../../../AppObjectRegistry.ts'; import { require } from '../../../lib/require.ts'; import { formatErrorResponse } from '../formatResponseErrorHandler.ts'; -const { UIHelper } = require('@rocket.chat/apps-engine/server/misc/UIHelper.js') as { UIHelper: typeof _UIHelper }; const { RoomType } = require('@rocket.chat/apps-engine/definition/rooms/RoomType.js') as { RoomType: typeof _RoomType }; const { RocketChatAssociationModel } = require('@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations.js') as { RocketChatAssociationModel: typeof _RocketChatAssociationModel; diff --git a/packages/apps-engine/deno-runtime/lib/accessors/notifier.ts b/packages/apps/deno-runtime/lib/accessors/notifier.ts similarity index 97% rename from packages/apps-engine/deno-runtime/lib/accessors/notifier.ts rename to packages/apps/deno-runtime/lib/accessors/notifier.ts index 1a85cc12b579f..3a6ac012a2797 100644 --- a/packages/apps-engine/deno-runtime/lib/accessors/notifier.ts +++ b/packages/apps/deno-runtime/lib/accessors/notifier.ts @@ -1,6 +1,6 @@ import type { IMessageBuilder, INotifier } from '@rocket.chat/apps-engine/definition/accessors'; -import type { ITypingOptions } from '@rocket.chat/apps-engine/definition/accessors/INotifier.ts'; -import type { _TypingScope } from '@rocket.chat/apps-engine/definition/accessors/INotifier.ts'; +import type { ITypingOptions } from '@rocket.chat/apps-engine/definition/accessors/INotifier'; +import type { _TypingScope } from '@rocket.chat/apps-engine/definition/accessors/INotifier'; import type { IMessage } from '@rocket.chat/apps-engine/definition/messages'; import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms'; import type { IUser } from '@rocket.chat/apps-engine/definition/users'; diff --git a/packages/apps-engine/deno-runtime/lib/accessors/tests/AppAccessors.test.ts b/packages/apps/deno-runtime/lib/accessors/tests/AppAccessors.test.ts similarity index 100% rename from packages/apps-engine/deno-runtime/lib/accessors/tests/AppAccessors.test.ts rename to packages/apps/deno-runtime/lib/accessors/tests/AppAccessors.test.ts diff --git a/packages/apps-engine/deno-runtime/lib/accessors/tests/ModifyCreator.test.ts b/packages/apps/deno-runtime/lib/accessors/tests/ModifyCreator.test.ts similarity index 100% rename from packages/apps-engine/deno-runtime/lib/accessors/tests/ModifyCreator.test.ts rename to packages/apps/deno-runtime/lib/accessors/tests/ModifyCreator.test.ts diff --git a/packages/apps-engine/deno-runtime/lib/accessors/tests/ModifyExtender.test.ts b/packages/apps/deno-runtime/lib/accessors/tests/ModifyExtender.test.ts similarity index 100% rename from packages/apps-engine/deno-runtime/lib/accessors/tests/ModifyExtender.test.ts rename to packages/apps/deno-runtime/lib/accessors/tests/ModifyExtender.test.ts diff --git a/packages/apps-engine/deno-runtime/lib/accessors/tests/ModifyUpdater.test.ts b/packages/apps/deno-runtime/lib/accessors/tests/ModifyUpdater.test.ts similarity index 100% rename from packages/apps-engine/deno-runtime/lib/accessors/tests/ModifyUpdater.test.ts rename to packages/apps/deno-runtime/lib/accessors/tests/ModifyUpdater.test.ts diff --git a/packages/apps-engine/deno-runtime/lib/accessors/tests/formatResponseErrorHandler.test.ts b/packages/apps/deno-runtime/lib/accessors/tests/formatResponseErrorHandler.test.ts similarity index 100% rename from packages/apps-engine/deno-runtime/lib/accessors/tests/formatResponseErrorHandler.test.ts rename to packages/apps/deno-runtime/lib/accessors/tests/formatResponseErrorHandler.test.ts diff --git a/packages/apps-engine/deno-runtime/lib/accessors/tests/http.test.ts b/packages/apps/deno-runtime/lib/accessors/tests/http.test.ts similarity index 100% rename from packages/apps-engine/deno-runtime/lib/accessors/tests/http.test.ts rename to packages/apps/deno-runtime/lib/accessors/tests/http.test.ts diff --git a/packages/apps-engine/deno-runtime/lib/ast/mod.ts b/packages/apps/deno-runtime/lib/ast/mod.ts similarity index 100% rename from packages/apps-engine/deno-runtime/lib/ast/mod.ts rename to packages/apps/deno-runtime/lib/ast/mod.ts diff --git a/packages/apps-engine/deno-runtime/lib/ast/operations.ts b/packages/apps/deno-runtime/lib/ast/operations.ts similarity index 100% rename from packages/apps-engine/deno-runtime/lib/ast/operations.ts rename to packages/apps/deno-runtime/lib/ast/operations.ts diff --git a/packages/apps-engine/deno-runtime/lib/ast/tests/data/ast_blocks.ts b/packages/apps/deno-runtime/lib/ast/tests/data/ast_blocks.ts similarity index 100% rename from packages/apps-engine/deno-runtime/lib/ast/tests/data/ast_blocks.ts rename to packages/apps/deno-runtime/lib/ast/tests/data/ast_blocks.ts diff --git a/packages/apps-engine/deno-runtime/lib/ast/tests/operations.test.ts b/packages/apps/deno-runtime/lib/ast/tests/operations.test.ts similarity index 100% rename from packages/apps-engine/deno-runtime/lib/ast/tests/operations.test.ts rename to packages/apps/deno-runtime/lib/ast/tests/operations.test.ts diff --git a/packages/apps-engine/deno-runtime/lib/codec.ts b/packages/apps/deno-runtime/lib/codec.ts similarity index 98% rename from packages/apps-engine/deno-runtime/lib/codec.ts rename to packages/apps/deno-runtime/lib/codec.ts index 95bbfa1a2aa26..a1da020799982 100644 --- a/packages/apps-engine/deno-runtime/lib/codec.ts +++ b/packages/apps/deno-runtime/lib/codec.ts @@ -1,7 +1,7 @@ import { Buffer } from 'node:buffer'; import { Decoder, Encoder, ExtensionCodec } from '@msgpack/msgpack'; -import type { App as _App } from '@rocket.chat/apps-engine/definition/App.ts'; +import type { App as _App } from '@rocket.chat/apps-engine/definition/App'; import { require } from './require.ts'; const { App } = require('@rocket.chat/apps-engine/definition/App.js') as { diff --git a/packages/apps-engine/deno-runtime/lib/logger.ts b/packages/apps/deno-runtime/lib/logger.ts similarity index 100% rename from packages/apps-engine/deno-runtime/lib/logger.ts rename to packages/apps/deno-runtime/lib/logger.ts diff --git a/packages/apps-engine/deno-runtime/lib/messenger.ts b/packages/apps/deno-runtime/lib/messenger.ts similarity index 100% rename from packages/apps-engine/deno-runtime/lib/messenger.ts rename to packages/apps/deno-runtime/lib/messenger.ts diff --git a/packages/apps-engine/deno-runtime/lib/metricsCollector.ts b/packages/apps/deno-runtime/lib/metricsCollector.ts similarity index 100% rename from packages/apps-engine/deno-runtime/lib/metricsCollector.ts rename to packages/apps/deno-runtime/lib/metricsCollector.ts diff --git a/packages/apps-engine/deno-runtime/lib/parseArgs.ts b/packages/apps/deno-runtime/lib/parseArgs.ts similarity index 100% rename from packages/apps-engine/deno-runtime/lib/parseArgs.ts rename to packages/apps/deno-runtime/lib/parseArgs.ts diff --git a/packages/apps-engine/deno-runtime/lib/requestContext.ts b/packages/apps/deno-runtime/lib/requestContext.ts similarity index 100% rename from packages/apps-engine/deno-runtime/lib/requestContext.ts rename to packages/apps/deno-runtime/lib/requestContext.ts diff --git a/packages/apps-engine/deno-runtime/lib/require.ts b/packages/apps/deno-runtime/lib/require.ts similarity index 100% rename from packages/apps-engine/deno-runtime/lib/require.ts rename to packages/apps/deno-runtime/lib/require.ts diff --git a/packages/apps-engine/deno-runtime/lib/room.ts b/packages/apps/deno-runtime/lib/room.ts similarity index 83% rename from packages/apps-engine/deno-runtime/lib/room.ts rename to packages/apps/deno-runtime/lib/room.ts index 282ded4a90457..437f091c3cbf1 100644 --- a/packages/apps-engine/deno-runtime/lib/room.ts +++ b/packages/apps/deno-runtime/lib/room.ts @@ -1,7 +1,15 @@ -import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms/IRoom.ts'; -import type { RoomType } from '@rocket.chat/apps-engine/definition/rooms/RoomType.ts'; -import type { IUser } from '@rocket.chat/apps-engine/definition/users/IUser.ts'; -import type { AppManager } from '@rocket.chat/apps-engine/server/AppManager.ts'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms/IRoom'; +import type { RoomType } from '@rocket.chat/apps-engine/definition/rooms/RoomType'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users/IUser'; + +/** Minimal interface covering the only AppManager capability used by Room */ +interface IRoomManager { + getBridges(): { + getInternalBridge(): { + doGetUsernamesOfRoomById(id: string): Promise>; + }; + }; +} const PrivateManager = Symbol('RoomPrivateManager'); @@ -36,12 +44,14 @@ export class Room { private _USERNAMES: Promise> | undefined; - private [PrivateManager]: AppManager | undefined; + private [PrivateManager]: IRoomManager | undefined; /** * @deprecated */ public get usernames(): Promise> { + if (!this.id) return Promise.resolve([]); + if (!this._USERNAMES) { this._USERNAMES = this[PrivateManager]?.getBridges().getInternalBridge().doGetUsernamesOfRoomById(this.id); } @@ -51,7 +61,7 @@ export class Room { public set usernames(usernames) {} - public constructor(room: IRoom, manager: AppManager) { + public constructor(room: IRoom, manager: IRoomManager) { Object.assign(this, room); Object.defineProperty(this, PrivateManager, { diff --git a/packages/apps-engine/deno-runtime/lib/roomFactory.ts b/packages/apps/deno-runtime/lib/roomFactory.ts similarity index 89% rename from packages/apps-engine/deno-runtime/lib/roomFactory.ts rename to packages/apps/deno-runtime/lib/roomFactory.ts index e0c2b9f1c4c80..5f7f71a5e7852 100644 --- a/packages/apps-engine/deno-runtime/lib/roomFactory.ts +++ b/packages/apps/deno-runtime/lib/roomFactory.ts @@ -1,9 +1,9 @@ -import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms/IRoom.ts'; -import type { AppManager } from '@rocket.chat/apps-engine/server/AppManager.ts'; +import type { AppManager } from '@rocket.chat/apps/dist/server/AppManager'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms/IRoom'; import { AppAccessors } from './accessors/mod.ts'; -import { Room } from './room.ts'; import { formatErrorResponse } from './accessors/formatResponseErrorHandler.ts'; +import { Room } from './room.ts'; const getMockAppManager = (senderFn: AppAccessors['senderFn']) => ({ getBridges: () => ({ diff --git a/packages/apps-engine/deno-runtime/lib/sanitizeDeprecatedUsage.ts b/packages/apps/deno-runtime/lib/sanitizeDeprecatedUsage.ts similarity index 100% rename from packages/apps-engine/deno-runtime/lib/sanitizeDeprecatedUsage.ts rename to packages/apps/deno-runtime/lib/sanitizeDeprecatedUsage.ts diff --git a/packages/apps-engine/deno-runtime/lib/tests/logger.test.ts b/packages/apps/deno-runtime/lib/tests/logger.test.ts similarity index 100% rename from packages/apps-engine/deno-runtime/lib/tests/logger.test.ts rename to packages/apps/deno-runtime/lib/tests/logger.test.ts diff --git a/packages/apps-engine/deno-runtime/lib/tests/messenger.test.ts b/packages/apps/deno-runtime/lib/tests/messenger.test.ts similarity index 100% rename from packages/apps-engine/deno-runtime/lib/tests/messenger.test.ts rename to packages/apps/deno-runtime/lib/tests/messenger.test.ts diff --git a/packages/apps-engine/deno-runtime/lib/wrapAppForRequest.ts b/packages/apps/deno-runtime/lib/wrapAppForRequest.ts similarity index 99% rename from packages/apps-engine/deno-runtime/lib/wrapAppForRequest.ts rename to packages/apps/deno-runtime/lib/wrapAppForRequest.ts index e9643c2c0274a..40bc49eca744c 100644 --- a/packages/apps-engine/deno-runtime/lib/wrapAppForRequest.ts +++ b/packages/apps/deno-runtime/lib/wrapAppForRequest.ts @@ -1,4 +1,4 @@ -import type { App } from '@rocket.chat/apps-engine/definition/App.ts'; +import type { App } from '@rocket.chat/apps-engine/definition/App'; import { RequestContext } from './requestContext.ts'; import { isApp, isRecord } from '../handlers/lib/assertions.ts'; diff --git a/packages/apps-engine/deno-runtime/main.ts b/packages/apps/deno-runtime/main.ts similarity index 100% rename from packages/apps-engine/deno-runtime/main.ts rename to packages/apps/deno-runtime/main.ts diff --git a/packages/apps/package.json b/packages/apps/package.json index 2ac4c89d94f7a..20aacfec4cea8 100644 --- a/packages/apps/package.json +++ b/packages/apps/package.json @@ -3,27 +3,59 @@ "version": "0.6.9", "private": true, "main": "./dist/index.js", - "typings": "./dist/index.d.ts", + "types": "./dist/index.d.ts", "files": [ - "/dist" + "dist/", + "deno-runtime/", + ".deno-cache/" ], "scripts": { - "build": "rm -rf dist && tsc -p tsconfig.json", + "build": "run-s build:clean build:default build:deno-cache", + "build:clean": "rimraf dist", + "build:default": "tsc -p tsconfig.json", + "build:deno-cache": "node scripts/deno-cache.js", "dev": "tsc -p tsconfig.json --watch --preserveWatchOutput", "lint": "eslint .", - "lint:fix": "eslint --fix ." + "test:deno": "deno task --config=deno-runtime/deno.jsonc test", + "test:node": "NODE_ENV=test node --require ts-node/register/transpile-only --test-reporter spec --test \"tests/**/*.test.ts\"", + "testunit": "yarn test:node && yarn test:deno", + "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { + "@msgpack/msgpack": "3.0.0-beta2", "@rocket.chat/apps-engine": "workspace:^", "@rocket.chat/core-typings": "workspace:^", - "@rocket.chat/model-typings": "workspace:^" + "@rocket.chat/model-typings": "workspace:^", + "adm-zip": "^0.5.16", + "debug": "^4.3.7", + "esbuild": "~0.27.3", + "jose": "^4.15.9", + "jsonrpc-lite": "^2.2.0", + "lodash.clonedeep": "^4.5.0", + "semver": "^7.6.3", + "stack-trace": "0.0.10", + "uuid": "~11.0.5" }, "devDependencies": { "@rocket.chat/tsconfig": "workspace:*", + "@seald-io/nedb": "^4.1.2", + "@types/adm-zip": "^0.5.7", + "@types/debug": "^4.1.12", + "@types/lodash.clonedeep": "^4.5.9", + "@types/node": "~22.16.5", + "@types/semver": "^7.5.8", + "@types/stack-trace": "0.0.33", + "@types/uuid": "~10.0.0", "eslint": "~9.39.4", + "npm-run-all": "^4.1.5", + "rimraf": "^6.0.1", + "ts-node": "^6.2.0", "typescript": "~5.9.3" }, "volta": { "extends": "../../package.json" + }, + "installConfig": { + "hoistingLimits": "workspaces" } } diff --git a/packages/apps-engine/scripts/deno-cache.js b/packages/apps/scripts/deno-cache.js similarity index 100% rename from packages/apps-engine/scripts/deno-cache.js rename to packages/apps/scripts/deno-cache.js diff --git a/packages/apps/src/AppsEngine.ts b/packages/apps/src/AppsEngine.ts index 4bffbbbc810fb..1184c237b060d 100644 --- a/packages/apps/src/AppsEngine.ts +++ b/packages/apps/src/AppsEngine.ts @@ -20,6 +20,6 @@ export type { IVideoConference as IAppsVideoConference, VideoConference as AppsVideoConference, } from '@rocket.chat/apps-engine/definition/videoConferences'; -export { AppManager } from '@rocket.chat/apps-engine/server/AppManager'; -export { AppBridges } from '@rocket.chat/apps-engine/server/bridges'; -export { AppMetadataStorage } from '@rocket.chat/apps-engine/server/storage'; +export { AppManager } from './server/AppManager'; +export { AppBridges } from './server/bridges'; +export { AppMetadataStorage } from './server/storage'; diff --git a/packages/apps/src/IAppServerOrchestrator.ts b/packages/apps/src/IAppServerOrchestrator.ts index 2f1f7db5d4b50..aabfb0078750c 100644 --- a/packages/apps/src/IAppServerOrchestrator.ts +++ b/packages/apps/src/IAppServerOrchestrator.ts @@ -1,11 +1,11 @@ -import type { AppManager } from '@rocket.chat/apps-engine/server/AppManager'; -import type { AppSourceStorage } from '@rocket.chat/apps-engine/server/storage'; import type { Logger } from '@rocket.chat/logger'; import type { IAppsPersistenceModel } from '@rocket.chat/model-typings'; import type { AppBridges, AppEvents, AppMetadataStorage } from './AppsEngine'; import type { IAppServerNotifier } from './IAppServerNotifier'; import type { IAppConvertersMap } from './converters'; +import type { AppManager } from './server/AppManager'; +import type { AppSourceStorage } from './server/storage'; export interface IAppServerOrchestrator { initialize(): void; diff --git a/packages/apps/src/bridges/IListenerBridge.ts b/packages/apps/src/bridges/IListenerBridge.ts deleted file mode 100644 index 83c3910d152cc..0000000000000 --- a/packages/apps/src/bridges/IListenerBridge.ts +++ /dev/null @@ -1,55 +0,0 @@ -import type { IMessage, IRoom, IUser, ILivechatDepartment, ILivechatVisitor, IOmnichannelRoom } from '@rocket.chat/core-typings'; - -import type { AppEvents } from '../AppsEngine'; - -declare module '@rocket.chat/apps-engine/server/bridges' { - interface IListenerBridge { - messageEvent(int: 'IPostMessageDeleted', message: IMessage, userDeleted: IUser): Promise; - messageEvent(int: 'IPostMessageReacted', message: IMessage, userReacted: IUser, reaction: string, isReacted: boolean): Promise; - messageEvent(int: 'IPostMessageFollowed', message: IMessage, userFollowed: IUser, isFollowed: boolean): Promise; - messageEvent(int: 'IPostMessagePinned', message: IMessage, userPinned: IUser, isPinned: boolean): Promise; - messageEvent(int: 'IPostMessageStarred', message: IMessage, userStarred: IUser, isStarred: boolean): Promise; - messageEvent(int: 'IPostMessageReported', message: IMessage, userReported: IUser, reason: boolean): Promise; - - messageEvent( - int: 'IPreMessageSentPrevent' | 'IPreMessageDeletePrevent' | 'IPreMessageUpdatedPrevent', - message: IMessage, - ): Promise; - messageEvent( - int: 'IPreMessageSentExtend' | 'IPreMessageSentModify' | 'IPreMessageUpdatedExtend' | 'IPreMessageUpdatedModify', - message: IMessage, - ): Promise; - messageEvent(int: 'IPostMessageSent' | 'IPostMessageUpdated' | 'IPostSystemMessageSent', message: IMessage): Promise; - - roomEvent(int: 'IPreRoomUserJoined' | 'IPostRoomUserJoined', room: IRoom, joiningUser: IUser, invitingUser?: IUser): Promise; - roomEvent(int: 'IPreRoomUserLeave' | 'IPostRoomUserLeave', room: IRoom, leavingUser: IUser): Promise; - - roomEvent(int: 'IPreRoomCreatePrevent' | 'IPreRoomDeletePrevent', room: IRoom): Promise; - roomEvent(int: 'IPreRoomCreateExtend' | 'IPreRoomCreateModify', room: IRoom): Promise; - roomEvent(int: 'IPostRoomCreate' | 'IPostRoomDeleted', room: IRoom): Promise; - - livechatEvent( - int: - | 'IPostLivechatAgentAssigned' - | 'IPostLivechatAgentUnassigned' - | 'IPostLivechatDepartmentRemoved' - | 'IPostLivechatDepartmentDisabled', - data: { user: IUser; room: IOmnichannelRoom }, - ): Promise; - livechatEvent( - int: 'IPostLivechatRoomTransferred', - data: { type: 'agent'; room: IRoom['_id']; from: IUser['_id']; to: IUser['_id'] }, - ): Promise; - livechatEvent( - int: 'IPostLivechatRoomTransferred', - data: { type: 'department'; room: IRoom['_id']; from: ILivechatDepartment['_id']; to: ILivechatDepartment['_id'] }, - ): Promise; - livechatEvent(int: 'IPostLivechatGuestSaved', data: ILivechatVisitor['_id']): Promise; - livechatEvent(int: 'IPostLivechatRoomSaved', data: IRoom['_id']): Promise; - livechatEvent( - int: 'ILivechatRoomClosedHandler' | 'IPostLivechatRoomStarted' | 'IPostLivechatRoomClosed' | 'IPreLivechatRoomCreatePrevent', - data: IRoom, - ): Promise; - livechatEvent(int: AppEvents | AppEvents[keyof AppEvents], data: any): Promise; - } -} diff --git a/packages/apps-engine/src/client/AppClientManager.ts b/packages/apps/src/client/AppClientManager.ts similarity index 91% rename from packages/apps-engine/src/client/AppClientManager.ts rename to packages/apps/src/client/AppClientManager.ts index 8d2cb55420eb3..6f3c2f4978dba 100644 --- a/packages/apps-engine/src/client/AppClientManager.ts +++ b/packages/apps/src/client/AppClientManager.ts @@ -1,6 +1,7 @@ +import type { IAppInfo } from '@rocket.chat/apps-engine/definition/metadata'; + import { AppServerCommunicator } from './AppServerCommunicator'; import { AppsEngineUIHost } from './AppsEngineUIHost'; -import type { IAppInfo } from '../definition/metadata'; export class AppClientManager { private apps: Array; diff --git a/packages/apps-engine/src/client/AppServerCommunicator.ts b/packages/apps/src/client/AppServerCommunicator.ts similarity index 87% rename from packages/apps-engine/src/client/AppServerCommunicator.ts rename to packages/apps/src/client/AppServerCommunicator.ts index bb4a0538f1d03..c40e139fc4f0f 100644 --- a/packages/apps-engine/src/client/AppServerCommunicator.ts +++ b/packages/apps/src/client/AppServerCommunicator.ts @@ -1,4 +1,4 @@ -import type { IAppInfo } from '../definition/metadata'; +import type { IAppInfo } from '@rocket.chat/apps-engine/definition/metadata'; export abstract class AppServerCommunicator { public abstract getEnabledApps(): Promise>; diff --git a/packages/apps-engine/src/client/AppsEngineUIClient.ts b/packages/apps/src/client/AppsEngineUIClient.ts similarity index 100% rename from packages/apps-engine/src/client/AppsEngineUIClient.ts rename to packages/apps/src/client/AppsEngineUIClient.ts diff --git a/packages/apps-engine/src/client/AppsEngineUIHost.ts b/packages/apps/src/client/AppsEngineUIHost.ts similarity index 100% rename from packages/apps-engine/src/client/AppsEngineUIHost.ts rename to packages/apps/src/client/AppsEngineUIHost.ts diff --git a/packages/apps-engine/src/client/constants/index.ts b/packages/apps/src/client/constants/index.ts similarity index 100% rename from packages/apps-engine/src/client/constants/index.ts rename to packages/apps/src/client/constants/index.ts diff --git a/packages/apps-engine/src/client/definition/AppsEngineUIMethods.ts b/packages/apps/src/client/definition/AppsEngineUIMethods.ts similarity index 100% rename from packages/apps-engine/src/client/definition/AppsEngineUIMethods.ts rename to packages/apps/src/client/definition/AppsEngineUIMethods.ts diff --git a/packages/apps-engine/src/client/definition/IAppsEngineUIResponse.ts b/packages/apps/src/client/definition/IAppsEngineUIResponse.ts similarity index 100% rename from packages/apps-engine/src/client/definition/IAppsEngineUIResponse.ts rename to packages/apps/src/client/definition/IAppsEngineUIResponse.ts diff --git a/packages/apps/src/client/definition/IExternalComponentRoomInfo.ts b/packages/apps/src/client/definition/IExternalComponentRoomInfo.ts new file mode 100644 index 0000000000000..334ebb12de5fd --- /dev/null +++ b/packages/apps/src/client/definition/IExternalComponentRoomInfo.ts @@ -0,0 +1,17 @@ +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms'; + +import type { IExternalComponentUserInfo } from './IExternalComponentUserInfo'; + +type ClientRoomInfo = Pick; + +/** + * Represents the room's information returned to the + * external component. + */ +export interface IExternalComponentRoomInfo extends ClientRoomInfo { + /** + * the list that contains all the users belonging + * to this room. + */ + members: Array; +} diff --git a/packages/apps/src/client/definition/IExternalComponentUserInfo.ts b/packages/apps/src/client/definition/IExternalComponentUserInfo.ts new file mode 100644 index 0000000000000..aca1be1405aa3 --- /dev/null +++ b/packages/apps/src/client/definition/IExternalComponentUserInfo.ts @@ -0,0 +1,14 @@ +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; + +type ClientUserInfo = Pick; + +/** + * Represents the user's information returned to + * the external component. + */ +export interface IExternalComponentUserInfo extends ClientUserInfo { + /** + * the avatar URL of the Rocket.Chat user + */ + avatarUrl: string; +} diff --git a/packages/apps-engine/src/client/definition/index.ts b/packages/apps/src/client/definition/index.ts similarity index 100% rename from packages/apps-engine/src/client/definition/index.ts rename to packages/apps/src/client/definition/index.ts diff --git a/packages/apps-engine/src/client/index.ts b/packages/apps/src/client/index.ts similarity index 100% rename from packages/apps-engine/src/client/index.ts rename to packages/apps/src/client/index.ts diff --git a/packages/apps-engine/src/client/utils/index.ts b/packages/apps/src/client/utils/index.ts similarity index 100% rename from packages/apps-engine/src/client/utils/index.ts rename to packages/apps/src/client/utils/index.ts diff --git a/packages/apps/src/converters/IAppMessagesConverter.ts b/packages/apps/src/converters/IAppMessagesConverter.ts index 8c10114304d09..5a2a025b86206 100644 --- a/packages/apps/src/converters/IAppMessagesConverter.ts +++ b/packages/apps/src/converters/IAppMessagesConverter.ts @@ -5,8 +5,8 @@ import type { IAppsMessage, IAppsMesssageRaw } from '../AppsEngine'; export interface IAppMessagesConverter { convertById(messageId: IMessage['_id']): Promise; convertMessage(message: undefined | null): Promise; - convertMessage(message: IMessage): Promise; - convertMessage(message: IMessage | undefined | null): Promise; + convertMessage(message: IMessage, cacheKey?: object): Promise; + convertMessage(message: IMessage | undefined | null, cacheKey?: object): Promise; convertAppMessage(message: undefined | null): Promise; convertAppMessage(message: IAppsMessage): Promise; convertAppMessage(message: IAppsMessage, isPartial: boolean): Promise>; diff --git a/packages/apps/src/index.ts b/packages/apps/src/index.ts index 31a44b6ce0578..89f846217284a 100644 --- a/packages/apps/src/index.ts +++ b/packages/apps/src/index.ts @@ -1,5 +1,3 @@ -import './bridges/IListenerBridge'; - export type * from './converters'; export * from './AppsEngine'; export type * from './IAppServerNotifier'; diff --git a/packages/apps-engine/src/server/AppManager.ts b/packages/apps/src/server/AppManager.ts similarity index 98% rename from packages/apps-engine/src/server/AppManager.ts rename to packages/apps/src/server/AppManager.ts index ec9a87eb17b33..d24931c7be431 100644 --- a/packages/apps-engine/src/server/AppManager.ts +++ b/packages/apps/src/server/AppManager.ts @@ -1,15 +1,16 @@ import { Buffer } from 'buffer'; +import { AppStatus, AppStatusUtils } from '@rocket.chat/apps-engine/definition/AppStatus'; +import type { IAppInfo } from '@rocket.chat/apps-engine/definition/metadata'; +import { AppMethod } from '@rocket.chat/apps-engine/definition/metadata'; +import type { IPermission } from '@rocket.chat/apps-engine/definition/permissions/IPermission'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; +import { UserType } from '@rocket.chat/apps-engine/definition/users'; + import type { IGetAppsFilter } from './IGetAppsFilter'; import { ProxiedApp } from './ProxiedApp'; -import type { PersistenceBridge, UserBridge } from './bridges'; import { AppBridges } from './bridges'; -import { AppStatus, AppStatusUtils } from '../definition/AppStatus'; -import type { IAppInfo } from '../definition/metadata'; -import { AppMethod } from '../definition/metadata'; -import type { IPermission } from '../definition/permissions/IPermission'; -import type { IUser } from '../definition/users'; -import { UserType } from '../definition/users'; +import type { PersistenceBridge, UserBridge } from './bridges'; import type { IInternalPersistenceBridge } from './bridges/IInternalPersistenceBridge'; import type { IInternalUserBridge } from './bridges/IInternalUserBridge'; import { AppCompiler, AppFabricationFulfillment, AppPackageParser } from './compiler'; diff --git a/packages/apps-engine/src/server/IGetAppsFilter.ts b/packages/apps/src/server/IGetAppsFilter.ts similarity index 100% rename from packages/apps-engine/src/server/IGetAppsFilter.ts rename to packages/apps/src/server/IGetAppsFilter.ts diff --git a/packages/apps-engine/src/server/ProxiedApp.ts b/packages/apps/src/server/ProxiedApp.ts similarity index 92% rename from packages/apps-engine/src/server/ProxiedApp.ts rename to packages/apps/src/server/ProxiedApp.ts index d4eb00bbb6666..273b774721ffd 100644 --- a/packages/apps-engine/src/server/ProxiedApp.ts +++ b/packages/apps/src/server/ProxiedApp.ts @@ -1,12 +1,12 @@ import { inspect } from 'util'; -import * as mem from 'mem'; +import { AppStatus } from '@rocket.chat/apps-engine/definition/AppStatus'; +import { AppsEngineException } from '@rocket.chat/apps-engine/definition/exceptions'; +import type { IAppAuthorInfo, IAppInfo } from '@rocket.chat/apps-engine/definition/metadata'; +import { AppMethod } from '@rocket.chat/apps-engine/definition/metadata'; +import mem from 'mem'; import type { AppManager } from './AppManager'; -import { AppStatus } from '../definition/AppStatus'; -import { AppsEngineException } from '../definition/exceptions'; -import type { IAppAuthorInfo, IAppInfo } from '../definition/metadata'; -import { AppMethod } from '../definition/metadata'; import { InvalidInstallationError } from './errors/InvalidInstallationError'; import { AppConsole } from './logging'; import { AppLicenseValidationResult } from './marketplace/license'; diff --git a/packages/apps-engine/src/server/accessors/ApiExtend.ts b/packages/apps/src/server/accessors/ApiExtend.ts similarity index 68% rename from packages/apps-engine/src/server/accessors/ApiExtend.ts rename to packages/apps/src/server/accessors/ApiExtend.ts index 2dc4a9c99c71a..46e9eeab782bc 100644 --- a/packages/apps-engine/src/server/accessors/ApiExtend.ts +++ b/packages/apps/src/server/accessors/ApiExtend.ts @@ -1,5 +1,6 @@ -import type { IApiExtend } from '../../definition/accessors'; -import type { IApi } from '../../definition/api'; +import type { IApiExtend } from '@rocket.chat/apps-engine/definition/accessors'; +import type { IApi } from '@rocket.chat/apps-engine/definition/api'; + import type { AppApiManager } from '../managers/AppApiManager'; export class ApiExtend implements IApiExtend { diff --git a/packages/apps-engine/src/server/accessors/AppAccessors.ts b/packages/apps/src/server/accessors/AppAccessors.ts similarity index 87% rename from packages/apps-engine/src/server/accessors/AppAccessors.ts rename to packages/apps/src/server/accessors/AppAccessors.ts index 965b93c189173..0959de4db4fea 100644 --- a/packages/apps-engine/src/server/accessors/AppAccessors.ts +++ b/packages/apps/src/server/accessors/AppAccessors.ts @@ -1,5 +1,6 @@ -import type { IAppAccessors, IEnvironmentRead, IEnvironmentWrite, IHttp, IRead } from '../../definition/accessors'; -import type { IApiEndpointMetadata } from '../../definition/api'; +import type { IAppAccessors, IEnvironmentRead, IEnvironmentWrite, IHttp, IRead } from '@rocket.chat/apps-engine/definition/accessors'; +import type { IApiEndpointMetadata } from '@rocket.chat/apps-engine/definition/api'; + import type { AppManager } from '../AppManager'; import type { AppAccessorManager } from '../managers/AppAccessorManager'; import type { AppApiManager } from '../managers/AppApiManager'; diff --git a/packages/apps-engine/src/server/accessors/CloudWorkspaceRead.ts b/packages/apps/src/server/accessors/CloudWorkspaceRead.ts similarity index 65% rename from packages/apps-engine/src/server/accessors/CloudWorkspaceRead.ts rename to packages/apps/src/server/accessors/CloudWorkspaceRead.ts index 0ae0648718b88..999ec62a9110a 100644 --- a/packages/apps-engine/src/server/accessors/CloudWorkspaceRead.ts +++ b/packages/apps/src/server/accessors/CloudWorkspaceRead.ts @@ -1,5 +1,6 @@ -import type { ICloudWorkspaceRead } from '../../definition/accessors/ICloudWorkspaceRead'; -import type { IWorkspaceToken } from '../../definition/cloud/IWorkspaceToken'; +import type { ICloudWorkspaceRead } from '@rocket.chat/apps-engine/definition/accessors/ICloudWorkspaceRead'; +import type { IWorkspaceToken } from '@rocket.chat/apps-engine/definition/cloud/IWorkspaceToken'; + import type { CloudWorkspaceBridge } from '../bridges/CloudWorkspaceBridge'; export class CloudWorkspaceRead implements ICloudWorkspaceRead { diff --git a/packages/apps-engine/src/server/accessors/ConfigurationExtend.ts b/packages/apps/src/server/accessors/ConfigurationExtend.ts similarity index 93% rename from packages/apps-engine/src/server/accessors/ConfigurationExtend.ts rename to packages/apps/src/server/accessors/ConfigurationExtend.ts index 92bbb2a69acb8..a1629114efd20 100644 --- a/packages/apps-engine/src/server/accessors/ConfigurationExtend.ts +++ b/packages/apps/src/server/accessors/ConfigurationExtend.ts @@ -9,7 +9,7 @@ import type { IUIExtend, IVideoConfProvidersExtend, IOutboundCommunicationProviderExtend, -} from '../../definition/accessors'; +} from '@rocket.chat/apps-engine/definition/accessors'; export class ConfigurationExtend implements IConfigurationExtend { constructor( diff --git a/packages/apps-engine/src/server/accessors/ConfigurationModify.ts b/packages/apps/src/server/accessors/ConfigurationModify.ts similarity index 61% rename from packages/apps-engine/src/server/accessors/ConfigurationModify.ts rename to packages/apps/src/server/accessors/ConfigurationModify.ts index a7f1a4511fd7e..66de60bb0d93a 100644 --- a/packages/apps-engine/src/server/accessors/ConfigurationModify.ts +++ b/packages/apps/src/server/accessors/ConfigurationModify.ts @@ -1,4 +1,9 @@ -import type { IConfigurationModify, ISchedulerModify, IServerSettingsModify, ISlashCommandsModify } from '../../definition/accessors'; +import type { + IConfigurationModify, + ISchedulerModify, + IServerSettingsModify, + ISlashCommandsModify, +} from '@rocket.chat/apps-engine/definition/accessors'; export class ConfigurationModify implements IConfigurationModify { constructor( diff --git a/packages/apps-engine/src/server/accessors/ContactCreator.ts b/packages/apps/src/server/accessors/ContactCreator.ts similarity index 77% rename from packages/apps-engine/src/server/accessors/ContactCreator.ts rename to packages/apps/src/server/accessors/ContactCreator.ts index 614f0c07d5d4e..26d66414052d9 100644 --- a/packages/apps-engine/src/server/accessors/ContactCreator.ts +++ b/packages/apps/src/server/accessors/ContactCreator.ts @@ -1,5 +1,6 @@ -import type { IContactCreator } from '../../definition/accessors/IContactCreator'; -import type { ILivechatContact } from '../../definition/livechat'; +import type { IContactCreator } from '@rocket.chat/apps-engine/definition/accessors/IContactCreator'; +import type { ILivechatContact } from '@rocket.chat/apps-engine/definition/livechat'; + import type { AppBridges } from '../bridges'; export class ContactCreator implements IContactCreator { diff --git a/packages/apps-engine/src/server/accessors/ContactRead.ts b/packages/apps/src/server/accessors/ContactRead.ts similarity index 66% rename from packages/apps-engine/src/server/accessors/ContactRead.ts rename to packages/apps/src/server/accessors/ContactRead.ts index 64ec48bf28e74..c950bca5d1327 100644 --- a/packages/apps-engine/src/server/accessors/ContactRead.ts +++ b/packages/apps/src/server/accessors/ContactRead.ts @@ -1,5 +1,6 @@ -import type { IContactRead } from '../../definition/accessors/IContactRead'; -import type { ILivechatContact } from '../../definition/livechat'; +import type { IContactRead } from '@rocket.chat/apps-engine/definition/accessors/IContactRead'; +import type { ILivechatContact } from '@rocket.chat/apps-engine/definition/livechat'; + import type { AppBridges } from '../bridges'; export class ContactRead implements IContactRead { diff --git a/packages/apps-engine/src/server/accessors/DiscussionBuilder.ts b/packages/apps/src/server/accessors/DiscussionBuilder.ts similarity index 69% rename from packages/apps-engine/src/server/accessors/DiscussionBuilder.ts rename to packages/apps/src/server/accessors/DiscussionBuilder.ts index fa1a903168700..4c65baa6c3f04 100644 --- a/packages/apps-engine/src/server/accessors/DiscussionBuilder.ts +++ b/packages/apps/src/server/accessors/DiscussionBuilder.ts @@ -1,9 +1,10 @@ +import type { IDiscussionBuilder } from '@rocket.chat/apps-engine/definition/accessors'; +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages'; +import { RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata'; +import { RoomType } from '@rocket.chat/apps-engine/definition/rooms'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms/IRoom'; + import { RoomBuilder } from './RoomBuilder'; -import type { IDiscussionBuilder } from '../../definition/accessors'; -import type { IMessage } from '../../definition/messages'; -import { RocketChatAssociationModel } from '../../definition/metadata'; -import { RoomType } from '../../definition/rooms'; -import type { IRoom } from '../../definition/rooms/IRoom'; export class DiscussionBuilder extends RoomBuilder implements IDiscussionBuilder { public kind: RocketChatAssociationModel.DISCUSSION; diff --git a/packages/apps-engine/src/server/accessors/EmailCreator.ts b/packages/apps/src/server/accessors/EmailCreator.ts similarity index 65% rename from packages/apps-engine/src/server/accessors/EmailCreator.ts rename to packages/apps/src/server/accessors/EmailCreator.ts index b0d5e136b72f2..921378ed8504d 100644 --- a/packages/apps-engine/src/server/accessors/EmailCreator.ts +++ b/packages/apps/src/server/accessors/EmailCreator.ts @@ -1,5 +1,6 @@ -import type { IEmailCreator } from '../../definition/accessors/IEmailCreator'; -import type { IEmail } from '../../definition/email'; +import type { IEmailCreator } from '@rocket.chat/apps-engine/definition/accessors/IEmailCreator'; +import type { IEmail } from '@rocket.chat/apps-engine/definition/email'; + import type { AppBridges } from '../bridges'; export class EmailCreator implements IEmailCreator { diff --git a/packages/apps-engine/src/server/accessors/EnvironmentRead.ts b/packages/apps/src/server/accessors/EnvironmentRead.ts similarity index 75% rename from packages/apps-engine/src/server/accessors/EnvironmentRead.ts rename to packages/apps/src/server/accessors/EnvironmentRead.ts index 563499f9f0a0f..8400a2c79a4de 100644 --- a/packages/apps-engine/src/server/accessors/EnvironmentRead.ts +++ b/packages/apps/src/server/accessors/EnvironmentRead.ts @@ -1,4 +1,9 @@ -import type { IEnvironmentalVariableRead, IEnvironmentRead, IServerSettingRead, ISettingRead } from '../../definition/accessors'; +import type { + IEnvironmentalVariableRead, + IEnvironmentRead, + IServerSettingRead, + ISettingRead, +} from '@rocket.chat/apps-engine/definition/accessors'; export class EnvironmentRead implements IEnvironmentRead { constructor( diff --git a/packages/apps-engine/src/server/accessors/EnvironmentWrite.ts b/packages/apps/src/server/accessors/EnvironmentWrite.ts similarity index 86% rename from packages/apps-engine/src/server/accessors/EnvironmentWrite.ts rename to packages/apps/src/server/accessors/EnvironmentWrite.ts index 9f31805c1b543..d13bc5b834f64 100644 --- a/packages/apps-engine/src/server/accessors/EnvironmentWrite.ts +++ b/packages/apps/src/server/accessors/EnvironmentWrite.ts @@ -1,4 +1,4 @@ -import type { IEnvironmentWrite, IServerSettingUpdater, ISettingUpdater } from '../../definition/accessors'; +import type { IEnvironmentWrite, IServerSettingUpdater, ISettingUpdater } from '@rocket.chat/apps-engine/definition/accessors'; export class EnvironmentWrite implements IEnvironmentWrite { constructor( diff --git a/packages/apps-engine/src/server/accessors/EnvironmentalVariableRead.ts b/packages/apps/src/server/accessors/EnvironmentalVariableRead.ts similarity index 86% rename from packages/apps-engine/src/server/accessors/EnvironmentalVariableRead.ts rename to packages/apps/src/server/accessors/EnvironmentalVariableRead.ts index 4ac5af3f878aa..c8e45f936b6f6 100644 --- a/packages/apps-engine/src/server/accessors/EnvironmentalVariableRead.ts +++ b/packages/apps/src/server/accessors/EnvironmentalVariableRead.ts @@ -1,4 +1,5 @@ -import type { IEnvironmentalVariableRead } from '../../definition/accessors'; +import type { IEnvironmentalVariableRead } from '@rocket.chat/apps-engine/definition/accessors'; + import type { EnvironmentalVariableBridge } from '../bridges'; export class EnvironmentalVariableRead implements IEnvironmentalVariableRead { diff --git a/packages/apps-engine/src/server/accessors/ExperimentalRead.ts b/packages/apps/src/server/accessors/ExperimentalRead.ts similarity index 72% rename from packages/apps-engine/src/server/accessors/ExperimentalRead.ts rename to packages/apps/src/server/accessors/ExperimentalRead.ts index 20922502163ec..0b76281d9e405 100644 --- a/packages/apps-engine/src/server/accessors/ExperimentalRead.ts +++ b/packages/apps/src/server/accessors/ExperimentalRead.ts @@ -1,4 +1,5 @@ -import type { IExperimentalRead } from '../../definition/accessors'; +import type { IExperimentalRead } from '@rocket.chat/apps-engine/definition/accessors'; + import type { ExperimentalBridge } from '../bridges'; export class ExperimentalRead implements IExperimentalRead { diff --git a/packages/apps-engine/src/server/accessors/ExternalComponentsExtend.ts b/packages/apps/src/server/accessors/ExternalComponentsExtend.ts similarity index 68% rename from packages/apps-engine/src/server/accessors/ExternalComponentsExtend.ts rename to packages/apps/src/server/accessors/ExternalComponentsExtend.ts index c4c7c61fe3fde..8acfdff1d3317 100644 --- a/packages/apps-engine/src/server/accessors/ExternalComponentsExtend.ts +++ b/packages/apps/src/server/accessors/ExternalComponentsExtend.ts @@ -1,5 +1,6 @@ -import type { IExternalComponentsExtend } from '../../definition/accessors'; -import type { IExternalComponent } from '../../definition/externalComponent/IExternalComponent'; +import type { IExternalComponentsExtend } from '@rocket.chat/apps-engine/definition/accessors'; +import type { IExternalComponent } from '@rocket.chat/apps-engine/definition/externalComponent/IExternalComponent'; + import type { AppExternalComponentManager } from '../managers/AppExternalComponentManager'; export class ExternalComponentsExtend implements IExternalComponentsExtend { diff --git a/packages/apps-engine/src/server/accessors/Http.ts b/packages/apps/src/server/accessors/Http.ts similarity index 94% rename from packages/apps-engine/src/server/accessors/Http.ts rename to packages/apps/src/server/accessors/Http.ts index a10ac6082417b..aa9bcf403cd9b 100644 --- a/packages/apps-engine/src/server/accessors/Http.ts +++ b/packages/apps/src/server/accessors/Http.ts @@ -1,5 +1,6 @@ -import type { IHttp, IHttpExtend, IHttpRequest, IHttpResponse } from '../../definition/accessors'; -import { RequestMethod } from '../../definition/accessors'; +import type { IHttp, IHttpExtend, IHttpRequest, IHttpResponse } from '@rocket.chat/apps-engine/definition/accessors'; +import { RequestMethod } from '@rocket.chat/apps-engine/definition/accessors'; + import type { AppBridges } from '../bridges/AppBridges'; import type { AppAccessorManager } from '../managers/AppAccessorManager'; diff --git a/packages/apps-engine/src/server/accessors/HttpExtend.ts b/packages/apps/src/server/accessors/HttpExtend.ts similarity index 95% rename from packages/apps-engine/src/server/accessors/HttpExtend.ts rename to packages/apps/src/server/accessors/HttpExtend.ts index d25aa7ba1454c..98311a633577b 100644 --- a/packages/apps-engine/src/server/accessors/HttpExtend.ts +++ b/packages/apps/src/server/accessors/HttpExtend.ts @@ -1,4 +1,4 @@ -import type { IHttpExtend, IHttpPreRequestHandler, IHttpPreResponseHandler } from '../../definition/accessors'; +import type { IHttpExtend, IHttpPreRequestHandler, IHttpPreResponseHandler } from '@rocket.chat/apps-engine/definition/accessors'; export class HttpExtend implements IHttpExtend { private headers: Map; diff --git a/packages/apps-engine/src/server/accessors/LivechatCreator.ts b/packages/apps/src/server/accessors/LivechatCreator.ts similarity index 70% rename from packages/apps-engine/src/server/accessors/LivechatCreator.ts rename to packages/apps/src/server/accessors/LivechatCreator.ts index d03376d7185b0..a40b2e416affe 100644 --- a/packages/apps-engine/src/server/accessors/LivechatCreator.ts +++ b/packages/apps/src/server/accessors/LivechatCreator.ts @@ -1,10 +1,15 @@ import { randomBytes } from 'crypto'; -import type { ILivechatCreator } from '../../definition/accessors'; -import type { IExtraRoomParams } from '../../definition/accessors/ILivechatCreator'; -import type { ILivechatRoom } from '../../definition/livechat/ILivechatRoom'; -import type { IVisitorExternalIdentifier, IVisitor, ResolveVisitorContactData } from '../../definition/livechat/IVisitor'; -import type { IUser } from '../../definition/users'; +import type { ILivechatCreator } from '@rocket.chat/apps-engine/definition/accessors'; +import type { IExtraRoomParams } from '@rocket.chat/apps-engine/definition/accessors/ILivechatCreator'; +import type { ILivechatRoom } from '@rocket.chat/apps-engine/definition/livechat/ILivechatRoom'; +import type { + IVisitorExternalIdentifier, + IVisitor, + ResolveVisitorContactData, +} from '@rocket.chat/apps-engine/definition/livechat/IVisitor'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; + import type { AppBridges } from '../bridges'; export class LivechatCreator implements ILivechatCreator { diff --git a/packages/apps-engine/src/server/accessors/LivechatMessageBuilder.ts b/packages/apps/src/server/accessors/LivechatMessageBuilder.ts similarity index 84% rename from packages/apps-engine/src/server/accessors/LivechatMessageBuilder.ts rename to packages/apps/src/server/accessors/LivechatMessageBuilder.ts index d7e68bc698d31..ffe02e3ed0997 100644 --- a/packages/apps-engine/src/server/accessors/LivechatMessageBuilder.ts +++ b/packages/apps/src/server/accessors/LivechatMessageBuilder.ts @@ -1,12 +1,13 @@ +import type { ILivechatMessageBuilder, IMessageBuilder } from '@rocket.chat/apps-engine/definition/accessors'; +import type { ILivechatMessage } from '@rocket.chat/apps-engine/definition/livechat/ILivechatMessage'; +import type { IVisitor } from '@rocket.chat/apps-engine/definition/livechat/IVisitor'; +import type { IMessage, IMessageAttachment } from '@rocket.chat/apps-engine/definition/messages'; +import { RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms'; +import { RoomType } from '@rocket.chat/apps-engine/definition/rooms'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; + import { MessageBuilder } from './MessageBuilder'; -import type { ILivechatMessageBuilder, IMessageBuilder } from '../../definition/accessors'; -import type { ILivechatMessage } from '../../definition/livechat/ILivechatMessage'; -import type { IVisitor } from '../../definition/livechat/IVisitor'; -import type { IMessage, IMessageAttachment } from '../../definition/messages'; -import { RocketChatAssociationModel } from '../../definition/metadata'; -import type { IRoom } from '../../definition/rooms'; -import { RoomType } from '../../definition/rooms'; -import type { IUser } from '../../definition/users'; export class LivechatMessageBuilder implements ILivechatMessageBuilder { public kind: RocketChatAssociationModel.LIVECHAT_MESSAGE; diff --git a/packages/apps-engine/src/server/accessors/LivechatRead.ts b/packages/apps/src/server/accessors/LivechatRead.ts similarity index 86% rename from packages/apps-engine/src/server/accessors/LivechatRead.ts rename to packages/apps/src/server/accessors/LivechatRead.ts index 3ee3b6925e154..6e5d5cd443163 100644 --- a/packages/apps-engine/src/server/accessors/LivechatRead.ts +++ b/packages/apps/src/server/accessors/LivechatRead.ts @@ -1,8 +1,9 @@ -import type { ILivechatRead } from '../../definition/accessors/ILivechatRead'; -import type { IDepartment } from '../../definition/livechat'; -import type { ILivechatRoom } from '../../definition/livechat/ILivechatRoom'; -import type { IVisitor } from '../../definition/livechat/IVisitor'; -import type { IMessage } from '../../definition/messages'; +import type { ILivechatRead } from '@rocket.chat/apps-engine/definition/accessors/ILivechatRead'; +import type { IDepartment } from '@rocket.chat/apps-engine/definition/livechat'; +import type { ILivechatRoom } from '@rocket.chat/apps-engine/definition/livechat/ILivechatRoom'; +import type { IVisitor } from '@rocket.chat/apps-engine/definition/livechat/IVisitor'; +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages'; + import type { LivechatBridge } from '../bridges/LivechatBridge'; export class LivechatRead implements ILivechatRead { diff --git a/packages/apps-engine/src/server/accessors/LivechatUpdater.ts b/packages/apps/src/server/accessors/LivechatUpdater.ts similarity index 78% rename from packages/apps-engine/src/server/accessors/LivechatUpdater.ts rename to packages/apps/src/server/accessors/LivechatUpdater.ts index 8386732d99b45..cc222bdc5a10b 100644 --- a/packages/apps-engine/src/server/accessors/LivechatUpdater.ts +++ b/packages/apps/src/server/accessors/LivechatUpdater.ts @@ -1,6 +1,12 @@ -import type { ILivechatUpdater } from '../../definition/accessors'; -import type { ILivechatRoom, ILivechatTransferData, IVisitor, IVisitorExternalIdentifier } from '../../definition/livechat'; -import type { IUser } from '../../definition/users'; +import type { ILivechatUpdater } from '@rocket.chat/apps-engine/definition/accessors'; +import type { + ILivechatRoom, + ILivechatTransferData, + IVisitor, + IVisitorExternalIdentifier, +} from '@rocket.chat/apps-engine/definition/livechat'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; + import type { AppBridges } from '../bridges'; export class LivechatUpdater implements ILivechatUpdater { diff --git a/packages/apps-engine/src/server/accessors/MessageBuilder.ts b/packages/apps/src/server/accessors/MessageBuilder.ts similarity index 89% rename from packages/apps-engine/src/server/accessors/MessageBuilder.ts rename to packages/apps/src/server/accessors/MessageBuilder.ts index 6130d38fd6303..9b6aaf3c1e0c6 100644 --- a/packages/apps-engine/src/server/accessors/MessageBuilder.ts +++ b/packages/apps/src/server/accessors/MessageBuilder.ts @@ -1,15 +1,14 @@ /* eslint-disable @typescript-eslint/no-non-null-assertion -- the builder works under the assumption that "gets" would only happen after the corresponding "sets" */ +import type { IMessageBuilder } from '@rocket.chat/apps-engine/definition/accessors'; +import type { IMessage, IMessageAttachment } from '@rocket.chat/apps-engine/definition/messages'; +import { RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms'; +import type { IBlock } from '@rocket.chat/apps-engine/definition/uikit'; +import { BlockBuilder } from '@rocket.chat/apps-engine/definition/uikit'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; import type { LayoutBlock } from '@rocket.chat/ui-kit'; -import type { IMessageBuilder } from '../../definition/accessors'; -import type { IMessage, IMessageAttachment } from '../../definition/messages'; -import { RocketChatAssociationModel } from '../../definition/metadata'; -import type { IRoom } from '../../definition/rooms'; -import type { IBlock } from '../../definition/uikit'; -import { BlockBuilder } from '../../definition/uikit'; -import type { IUser } from '../../definition/users'; - export class MessageBuilder implements IMessageBuilder { public kind: RocketChatAssociationModel.MESSAGE; diff --git a/packages/apps-engine/src/server/accessors/MessageExtender.ts b/packages/apps/src/server/accessors/MessageExtender.ts similarity index 80% rename from packages/apps-engine/src/server/accessors/MessageExtender.ts rename to packages/apps/src/server/accessors/MessageExtender.ts index eb1b9a267800c..fee05802d0856 100644 --- a/packages/apps-engine/src/server/accessors/MessageExtender.ts +++ b/packages/apps/src/server/accessors/MessageExtender.ts @@ -1,6 +1,7 @@ -import type { IMessageExtender } from '../../definition/accessors'; -import type { IMessage, IMessageAttachment } from '../../definition/messages'; -import { RocketChatAssociationModel } from '../../definition/metadata'; +import type { IMessageExtender } from '@rocket.chat/apps-engine/definition/accessors'; +import type { IMessage, IMessageAttachment } from '@rocket.chat/apps-engine/definition/messages'; +import { RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata'; + import { Utilities } from '../misc/Utilities'; export class MessageExtender implements IMessageExtender { diff --git a/packages/apps-engine/src/server/accessors/MessageRead.ts b/packages/apps/src/server/accessors/MessageRead.ts similarity index 69% rename from packages/apps-engine/src/server/accessors/MessageRead.ts rename to packages/apps/src/server/accessors/MessageRead.ts index 2a6528d646660..914529d07f000 100644 --- a/packages/apps-engine/src/server/accessors/MessageRead.ts +++ b/packages/apps/src/server/accessors/MessageRead.ts @@ -1,7 +1,8 @@ -import type { IMessageRead } from '../../definition/accessors'; -import type { IMessage } from '../../definition/messages'; -import type { IRoom } from '../../definition/rooms'; -import type { IUser } from '../../definition/users'; +import type { IMessageRead } from '@rocket.chat/apps-engine/definition/accessors'; +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; + import type { MessageBridge } from '../bridges/MessageBridge'; export class MessageRead implements IMessageRead { diff --git a/packages/apps-engine/src/server/accessors/MessageUpdater.ts b/packages/apps/src/server/accessors/MessageUpdater.ts similarity index 76% rename from packages/apps-engine/src/server/accessors/MessageUpdater.ts rename to packages/apps/src/server/accessors/MessageUpdater.ts index 8ca51c83ba2d7..33728a8b833e6 100644 --- a/packages/apps-engine/src/server/accessors/MessageUpdater.ts +++ b/packages/apps/src/server/accessors/MessageUpdater.ts @@ -1,5 +1,6 @@ -import type { IMessageUpdater } from '../../definition/accessors/IMessageUpdater'; -import type { Reaction } from '../../definition/messages'; +import type { IMessageUpdater } from '@rocket.chat/apps-engine/definition/accessors/IMessageUpdater'; +import type { Reaction } from '@rocket.chat/apps-engine/definition/messages'; + import type { AppBridges } from '../bridges'; export class MessageUpdater implements IMessageUpdater { diff --git a/packages/apps-engine/src/server/accessors/ModerationModify.ts b/packages/apps/src/server/accessors/ModerationModify.ts similarity index 75% rename from packages/apps-engine/src/server/accessors/ModerationModify.ts rename to packages/apps/src/server/accessors/ModerationModify.ts index 6b94cdd70425d..e74772efbac22 100644 --- a/packages/apps-engine/src/server/accessors/ModerationModify.ts +++ b/packages/apps/src/server/accessors/ModerationModify.ts @@ -1,12 +1,13 @@ -import type { IModerationModify } from '../../definition/accessors'; -import type { IMessage } from '../../definition/messages'; -import type { IUser } from '../../definition/users'; +import type { IModerationModify } from '@rocket.chat/apps-engine/definition/accessors'; +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; + import type { ModerationBridge } from '../bridges'; export class ModerationModify implements IModerationModify { constructor( private moderationBridge: ModerationBridge, - appId: string, + _appId: string, ) {} public report(messageId: string, description: string, userId: string, appId: string): Promise { diff --git a/packages/apps-engine/src/server/accessors/Modify.ts b/packages/apps/src/server/accessors/Modify.ts similarity index 93% rename from packages/apps-engine/src/server/accessors/Modify.ts rename to packages/apps/src/server/accessors/Modify.ts index 604bd5ea325a2..e982403beed47 100644 --- a/packages/apps-engine/src/server/accessors/Modify.ts +++ b/packages/apps/src/server/accessors/Modify.ts @@ -7,8 +7,9 @@ import type { INotifier, ISchedulerModify, IUIController, -} from '../../definition/accessors'; -import type { IOAuthAppsModify } from '../../definition/accessors/IOAuthAppsModify'; +} from '@rocket.chat/apps-engine/definition/accessors'; +import type { IOAuthAppsModify } from '@rocket.chat/apps-engine/definition/accessors/IOAuthAppsModify'; + import type { AppBridges } from '../bridges'; import { ModerationModify } from './ModerationModify'; import { ModifyCreator } from './ModifyCreator'; diff --git a/packages/apps-engine/src/server/accessors/ModifyCreator.ts b/packages/apps/src/server/accessors/ModifyCreator.ts similarity index 87% rename from packages/apps-engine/src/server/accessors/ModifyCreator.ts rename to packages/apps/src/server/accessors/ModifyCreator.ts index fe7bbdcb5fc8d..6971680ed4198 100644 --- a/packages/apps-engine/src/server/accessors/ModifyCreator.ts +++ b/packages/apps/src/server/accessors/ModifyCreator.ts @@ -1,13 +1,3 @@ -import { ContactCreator } from './ContactCreator'; -import { DiscussionBuilder } from './DiscussionBuilder'; -import { EmailCreator } from './EmailCreator'; -import { LivechatCreator } from './LivechatCreator'; -import { LivechatMessageBuilder } from './LivechatMessageBuilder'; -import { MessageBuilder } from './MessageBuilder'; -import { RoomBuilder } from './RoomBuilder'; -import { UploadCreator } from './UploadCreator'; -import { UserBuilder } from './UserBuilder'; -import { VideoConferenceBuilder } from './VideoConferenceBuilder'; import type { IDiscussionBuilder, ILivechatCreator, @@ -18,18 +8,29 @@ import type { IUploadCreator, IUserBuilder, IVideoConferenceBuilder, -} from '../../definition/accessors'; -import type { IContactCreator } from '../../definition/accessors/IContactCreator'; -import type { IEmailCreator } from '../../definition/accessors/IEmailCreator'; -import type { ILivechatMessage } from '../../definition/livechat/ILivechatMessage'; -import type { IMessage } from '../../definition/messages'; -import { RocketChatAssociationModel } from '../../definition/metadata'; -import type { IRoom } from '../../definition/rooms'; -import { RoomType } from '../../definition/rooms'; -import { BlockBuilder } from '../../definition/uikit'; -import type { IBotUser } from '../../definition/users/IBotUser'; -import { UserType } from '../../definition/users/UserType'; -import type { AppVideoConference } from '../../definition/videoConferences'; +} from '@rocket.chat/apps-engine/definition/accessors'; +import type { IContactCreator } from '@rocket.chat/apps-engine/definition/accessors/IContactCreator'; +import type { IEmailCreator } from '@rocket.chat/apps-engine/definition/accessors/IEmailCreator'; +import type { ILivechatMessage } from '@rocket.chat/apps-engine/definition/livechat/ILivechatMessage'; +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages'; +import { RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms'; +import { RoomType } from '@rocket.chat/apps-engine/definition/rooms'; +import { BlockBuilder } from '@rocket.chat/apps-engine/definition/uikit'; +import type { IBotUser } from '@rocket.chat/apps-engine/definition/users/IBotUser'; +import { UserType } from '@rocket.chat/apps-engine/definition/users/UserType'; +import type { AppVideoConference } from '@rocket.chat/apps-engine/definition/videoConferences'; + +import { ContactCreator } from './ContactCreator'; +import { DiscussionBuilder } from './DiscussionBuilder'; +import { EmailCreator } from './EmailCreator'; +import { LivechatCreator } from './LivechatCreator'; +import { LivechatMessageBuilder } from './LivechatMessageBuilder'; +import { MessageBuilder } from './MessageBuilder'; +import { RoomBuilder } from './RoomBuilder'; +import { UploadCreator } from './UploadCreator'; +import { UserBuilder } from './UserBuilder'; +import { VideoConferenceBuilder } from './VideoConferenceBuilder'; import type { AppBridges } from '../bridges'; import { UIHelper } from '../misc/UIHelper'; diff --git a/packages/apps-engine/src/server/accessors/ModifyDeleter.ts b/packages/apps/src/server/accessors/ModifyDeleter.ts similarity index 83% rename from packages/apps-engine/src/server/accessors/ModifyDeleter.ts rename to packages/apps/src/server/accessors/ModifyDeleter.ts index 51b2778313dbb..50c390f2d555d 100644 --- a/packages/apps-engine/src/server/accessors/ModifyDeleter.ts +++ b/packages/apps/src/server/accessors/ModifyDeleter.ts @@ -1,6 +1,7 @@ -import type { IModifyDeleter } from '../../definition/accessors'; -import type { IMessage } from '../../definition/messages'; -import type { IUser, UserType } from '../../definition/users'; +import type { IModifyDeleter } from '@rocket.chat/apps-engine/definition/accessors'; +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages'; +import type { IUser, UserType } from '@rocket.chat/apps-engine/definition/users'; + import type { AppBridges } from '../bridges'; export class ModifyDeleter implements IModifyDeleter { diff --git a/packages/apps-engine/src/server/accessors/ModifyExtender.ts b/packages/apps/src/server/accessors/ModifyExtender.ts similarity index 81% rename from packages/apps-engine/src/server/accessors/ModifyExtender.ts rename to packages/apps/src/server/accessors/ModifyExtender.ts index 1c276e6a01419..98f8dec4d0361 100644 --- a/packages/apps-engine/src/server/accessors/ModifyExtender.ts +++ b/packages/apps/src/server/accessors/ModifyExtender.ts @@ -1,9 +1,15 @@ +import type { + IMessageExtender, + IModifyExtender, + IRoomExtender, + IVideoConferenceExtender, +} from '@rocket.chat/apps-engine/definition/accessors'; +import { RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; + import { MessageExtender } from './MessageExtender'; import { RoomExtender } from './RoomExtender'; import { VideoConferenceExtender } from './VideoConferenceExtend'; -import type { IMessageExtender, IModifyExtender, IRoomExtender, IVideoConferenceExtender } from '../../definition/accessors'; -import { RocketChatAssociationModel } from '../../definition/metadata'; -import type { IUser } from '../../definition/users'; import type { AppBridges } from '../bridges/AppBridges'; export class ModifyExtender implements IModifyExtender { @@ -20,7 +26,7 @@ export class ModifyExtender implements IModifyExtender { return new MessageExtender(msg); } - public async extendRoom(roomId: string, updater: IUser): Promise { + public async extendRoom(roomId: string, _updater: IUser): Promise { const room = await this.bridges.getRoomBridge().doGetById(roomId, this.appId); room.updatedAt = new Date(); diff --git a/packages/apps-engine/src/server/accessors/ModifyUpdater.ts b/packages/apps/src/server/accessors/ModifyUpdater.ts similarity index 82% rename from packages/apps-engine/src/server/accessors/ModifyUpdater.ts rename to packages/apps/src/server/accessors/ModifyUpdater.ts index e06aad123d659..1da37395ef696 100644 --- a/packages/apps-engine/src/server/accessors/ModifyUpdater.ts +++ b/packages/apps/src/server/accessors/ModifyUpdater.ts @@ -1,13 +1,20 @@ +import type { + ILivechatUpdater, + IMessageBuilder, + IMessageUpdater, + IModifyUpdater, + IRoomBuilder, +} from '@rocket.chat/apps-engine/definition/accessors'; +import type { IUserUpdater } from '@rocket.chat/apps-engine/definition/accessors/IUserUpdater'; +import { RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata'; +import { RoomType } from '@rocket.chat/apps-engine/definition/rooms'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; + import { LivechatUpdater } from './LivechatUpdater'; import { MessageBuilder } from './MessageBuilder'; import { MessageUpdater } from './MessageUpdater'; import { RoomBuilder } from './RoomBuilder'; import { UserUpdater } from './UserUpdater'; -import type { ILivechatUpdater, IMessageBuilder, IMessageUpdater, IModifyUpdater, IRoomBuilder } from '../../definition/accessors'; -import type { IUserUpdater } from '../../definition/accessors/IUserUpdater'; -import { RocketChatAssociationModel } from '../../definition/metadata'; -import { RoomType } from '../../definition/rooms'; -import type { IUser } from '../../definition/users'; import type { AppBridges } from '../bridges'; import { UIHelper } from '../misc/UIHelper'; @@ -39,13 +46,13 @@ export class ModifyUpdater implements IModifyUpdater { return this.messageUpdater; } - public async message(messageId: string, updater: IUser): Promise { + public async message(messageId: string, _updater: IUser): Promise { const msg = await this.bridges.getMessageBridge().doGetById(messageId, this.appId); return new MessageBuilder(msg); } - public async room(roomId: string, updater: IUser): Promise { + public async room(roomId: string, _updater: IUser): Promise { const room = await this.bridges.getRoomBridge().doGetById(roomId, this.appId); return new RoomBuilder(room); diff --git a/packages/apps-engine/src/server/accessors/Notifier.ts b/packages/apps/src/server/accessors/Notifier.ts similarity index 73% rename from packages/apps-engine/src/server/accessors/Notifier.ts rename to packages/apps/src/server/accessors/Notifier.ts index c7692700f435c..ba5b46b841717 100644 --- a/packages/apps-engine/src/server/accessors/Notifier.ts +++ b/packages/apps/src/server/accessors/Notifier.ts @@ -1,9 +1,10 @@ -import type { IMessageBuilder, INotifier } from '../../definition/accessors'; -import type { ITypingOptions } from '../../definition/accessors/INotifier'; -import { TypingScope } from '../../definition/accessors/INotifier'; -import type { IMessage } from '../../definition/messages'; -import type { IRoom } from '../../definition/rooms'; -import type { IUser } from '../../definition/users'; +import type { IMessageBuilder, INotifier } from '@rocket.chat/apps-engine/definition/accessors'; +import type { ITypingOptions } from '@rocket.chat/apps-engine/definition/accessors/INotifier'; +import { TypingScope } from '@rocket.chat/apps-engine/definition/accessors/INotifier'; +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; + import type { MessageBridge, UserBridge } from '../bridges'; import { MessageBuilder } from './MessageBuilder'; diff --git a/packages/apps-engine/src/server/accessors/OAuthAppsModify.ts b/packages/apps/src/server/accessors/OAuthAppsModify.ts similarity index 76% rename from packages/apps-engine/src/server/accessors/OAuthAppsModify.ts rename to packages/apps/src/server/accessors/OAuthAppsModify.ts index 323e706c0fa1b..2946504f5b08e 100644 --- a/packages/apps-engine/src/server/accessors/OAuthAppsModify.ts +++ b/packages/apps/src/server/accessors/OAuthAppsModify.ts @@ -1,5 +1,6 @@ -import type { IOAuthAppParams } from '../../definition/accessors/IOAuthApp'; -import type { IOAuthAppsModify } from '../../definition/accessors/IOAuthAppsModify'; +import type { IOAuthAppParams } from '@rocket.chat/apps-engine/definition/accessors/IOAuthApp'; +import type { IOAuthAppsModify } from '@rocket.chat/apps-engine/definition/accessors/IOAuthAppsModify'; + import type { OAuthAppsBridge } from '../bridges/OAuthAppsBridge'; export class OAuthAppsModify implements IOAuthAppsModify { diff --git a/packages/apps-engine/src/server/accessors/OAuthAppsReader.ts b/packages/apps/src/server/accessors/OAuthAppsReader.ts similarity index 71% rename from packages/apps-engine/src/server/accessors/OAuthAppsReader.ts rename to packages/apps/src/server/accessors/OAuthAppsReader.ts index 5d82957274fe1..6de492e00a64e 100644 --- a/packages/apps-engine/src/server/accessors/OAuthAppsReader.ts +++ b/packages/apps/src/server/accessors/OAuthAppsReader.ts @@ -1,5 +1,6 @@ -import type { IOAuthApp } from '../../definition/accessors/IOAuthApp'; -import type { IOAuthAppsReader } from '../../definition/accessors/IOAuthAppsReader'; +import type { IOAuthApp } from '@rocket.chat/apps-engine/definition/accessors/IOAuthApp'; +import type { IOAuthAppsReader } from '@rocket.chat/apps-engine/definition/accessors/IOAuthAppsReader'; + import type { OAuthAppsBridge } from '../bridges/OAuthAppsBridge'; export class OAuthAppsReader implements IOAuthAppsReader { diff --git a/packages/apps-engine/src/server/accessors/OutboundCommunicationProviderExtend.ts b/packages/apps/src/server/accessors/OutboundCommunicationProviderExtend.ts similarity index 69% rename from packages/apps-engine/src/server/accessors/OutboundCommunicationProviderExtend.ts rename to packages/apps/src/server/accessors/OutboundCommunicationProviderExtend.ts index db713a6cdf3e1..d1ba5b7fdc514 100644 --- a/packages/apps-engine/src/server/accessors/OutboundCommunicationProviderExtend.ts +++ b/packages/apps/src/server/accessors/OutboundCommunicationProviderExtend.ts @@ -1,5 +1,9 @@ -import type { IOutboundCommunicationProviderExtend } from '../../definition/accessors/IOutboundCommunicationProviderExtend'; -import type { IOutboundPhoneMessageProvider, IOutboundEmailMessageProvider } from '../../definition/outboundCommunication'; +import type { IOutboundCommunicationProviderExtend } from '@rocket.chat/apps-engine/definition/accessors/IOutboundCommunicationProviderExtend'; +import type { + IOutboundPhoneMessageProvider, + IOutboundEmailMessageProvider, +} from '@rocket.chat/apps-engine/definition/outboundCommunication'; + import type { AppOutboundCommunicationProviderManager } from '../managers/AppOutboundCommunicationProviderManager'; export class OutboundMessageProviderExtend implements IOutboundCommunicationProviderExtend { diff --git a/packages/apps-engine/src/server/accessors/Persistence.ts b/packages/apps/src/server/accessors/Persistence.ts similarity index 90% rename from packages/apps-engine/src/server/accessors/Persistence.ts rename to packages/apps/src/server/accessors/Persistence.ts index cd783e891c34b..6cff70718069e 100644 --- a/packages/apps-engine/src/server/accessors/Persistence.ts +++ b/packages/apps/src/server/accessors/Persistence.ts @@ -1,5 +1,6 @@ -import type { IPersistence } from '../../definition/accessors'; -import type { RocketChatAssociationRecord } from '../../definition/metadata'; +import type { IPersistence } from '@rocket.chat/apps-engine/definition/accessors'; +import type { RocketChatAssociationRecord } from '@rocket.chat/apps-engine/definition/metadata'; + import type { PersistenceBridge } from '../bridges/PersistenceBridge'; export class Persistence implements IPersistence { diff --git a/packages/apps-engine/src/server/accessors/PersistenceRead.ts b/packages/apps/src/server/accessors/PersistenceRead.ts similarity index 78% rename from packages/apps-engine/src/server/accessors/PersistenceRead.ts rename to packages/apps/src/server/accessors/PersistenceRead.ts index c9f4f39d96596..dc8fcddc935c4 100644 --- a/packages/apps-engine/src/server/accessors/PersistenceRead.ts +++ b/packages/apps/src/server/accessors/PersistenceRead.ts @@ -1,5 +1,6 @@ -import type { IPersistenceRead } from '../../definition/accessors'; -import type { RocketChatAssociationRecord } from '../../definition/metadata'; +import type { IPersistenceRead } from '@rocket.chat/apps-engine/definition/accessors'; +import type { RocketChatAssociationRecord } from '@rocket.chat/apps-engine/definition/metadata'; + import type { PersistenceBridge } from '../bridges'; export class PersistenceRead implements IPersistenceRead { diff --git a/packages/apps-engine/src/server/accessors/Reader.ts b/packages/apps/src/server/accessors/Reader.ts similarity index 80% rename from packages/apps-engine/src/server/accessors/Reader.ts rename to packages/apps/src/server/accessors/Reader.ts index baa05b79ac331..2f73452b1af85 100644 --- a/packages/apps-engine/src/server/accessors/Reader.ts +++ b/packages/apps/src/server/accessors/Reader.ts @@ -11,11 +11,11 @@ import type { IUploadRead, IUserRead, IVideoConferenceRead, -} from '../../definition/accessors'; -import type { IContactRead } from '../../definition/accessors/IContactRead'; -import type { IOAuthAppsReader } from '../../definition/accessors/IOAuthAppsReader'; -import type { IRoleRead } from '../../definition/accessors/IRoleRead'; -import type { IThreadRead } from '../../definition/accessors/IThreadRead'; +} from '@rocket.chat/apps-engine/definition/accessors'; +import type { IContactRead } from '@rocket.chat/apps-engine/definition/accessors/IContactRead'; +import type { IOAuthAppsReader } from '@rocket.chat/apps-engine/definition/accessors/IOAuthAppsReader'; +import type { IRoleRead } from '@rocket.chat/apps-engine/definition/accessors/IRoleRead'; +import type { IThreadRead } from '@rocket.chat/apps-engine/definition/accessors/IThreadRead'; export class Reader implements IRead { constructor( diff --git a/packages/apps-engine/src/server/accessors/RoleRead.ts b/packages/apps/src/server/accessors/RoleRead.ts similarity index 72% rename from packages/apps-engine/src/server/accessors/RoleRead.ts rename to packages/apps/src/server/accessors/RoleRead.ts index 37d1a3b4350a0..a6ad18742aea5 100644 --- a/packages/apps-engine/src/server/accessors/RoleRead.ts +++ b/packages/apps/src/server/accessors/RoleRead.ts @@ -1,5 +1,6 @@ -import type { IRoleRead } from '../../definition/accessors/IRoleRead'; -import type { IRole } from '../../definition/roles'; +import type { IRoleRead } from '@rocket.chat/apps-engine/definition/accessors/IRoleRead'; +import type { IRole } from '@rocket.chat/apps-engine/definition/roles'; + import type { RoleBridge } from '../bridges'; export class RoleRead implements IRoleRead { diff --git a/packages/apps-engine/src/server/accessors/RoomBuilder.ts b/packages/apps/src/server/accessors/RoomBuilder.ts similarity index 90% rename from packages/apps-engine/src/server/accessors/RoomBuilder.ts rename to packages/apps/src/server/accessors/RoomBuilder.ts index abe36eb91d8ad..aa1e4c31d43b7 100644 --- a/packages/apps-engine/src/server/accessors/RoomBuilder.ts +++ b/packages/apps/src/server/accessors/RoomBuilder.ts @@ -1,7 +1,7 @@ -import type { IRoomBuilder } from '../../definition/accessors'; -import { RocketChatAssociationModel } from '../../definition/metadata'; -import type { IRoom, RoomType } from '../../definition/rooms'; -import type { IUser } from '../../definition/users'; +import type { IRoomBuilder } from '@rocket.chat/apps-engine/definition/accessors'; +import { RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata'; +import type { IRoom, RoomType } from '@rocket.chat/apps-engine/definition/rooms'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; export class RoomBuilder implements IRoomBuilder { public kind: RocketChatAssociationModel.ROOM | RocketChatAssociationModel.DISCUSSION; diff --git a/packages/apps-engine/src/server/accessors/RoomExtender.ts b/packages/apps/src/server/accessors/RoomExtender.ts similarity index 79% rename from packages/apps-engine/src/server/accessors/RoomExtender.ts rename to packages/apps/src/server/accessors/RoomExtender.ts index a83f3c9b28dea..05722126d6791 100644 --- a/packages/apps-engine/src/server/accessors/RoomExtender.ts +++ b/packages/apps/src/server/accessors/RoomExtender.ts @@ -1,7 +1,8 @@ -import type { IRoomExtender } from '../../definition/accessors'; -import { RocketChatAssociationModel } from '../../definition/metadata'; -import type { IRoom } from '../../definition/rooms'; -import type { IUser } from '../../definition/users'; +import type { IRoomExtender } from '@rocket.chat/apps-engine/definition/accessors'; +import { RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; + import { Utilities } from '../misc/Utilities'; export class RoomExtender implements IRoomExtender { diff --git a/packages/apps-engine/src/server/accessors/RoomRead.ts b/packages/apps/src/server/accessors/RoomRead.ts similarity index 92% rename from packages/apps-engine/src/server/accessors/RoomRead.ts rename to packages/apps/src/server/accessors/RoomRead.ts index a541fbb7d5e51..99bf71e51e913 100644 --- a/packages/apps-engine/src/server/accessors/RoomRead.ts +++ b/packages/apps/src/server/accessors/RoomRead.ts @@ -1,7 +1,8 @@ -import type { IRoomRead } from '../../definition/accessors'; -import type { IMessageRaw } from '../../definition/messages'; -import type { IRoom, IRoomRaw } from '../../definition/rooms'; -import type { IUser } from '../../definition/users'; +import type { IRoomRead } from '@rocket.chat/apps-engine/definition/accessors'; +import type { IMessageRaw } from '@rocket.chat/apps-engine/definition/messages'; +import type { IRoom, IRoomRaw } from '@rocket.chat/apps-engine/definition/rooms'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; + import type { RoomBridge } from '../bridges'; import { type GetMessagesOptions, type GetRoomsFilters, type GetRoomsOptions, GetMessagesSortableFields } from '../bridges/RoomBridge'; diff --git a/packages/apps-engine/src/server/accessors/SchedulerExtend.ts b/packages/apps/src/server/accessors/SchedulerExtend.ts similarity index 70% rename from packages/apps-engine/src/server/accessors/SchedulerExtend.ts rename to packages/apps/src/server/accessors/SchedulerExtend.ts index 29e2c1aee5704..753bd4aa14a1a 100644 --- a/packages/apps-engine/src/server/accessors/SchedulerExtend.ts +++ b/packages/apps/src/server/accessors/SchedulerExtend.ts @@ -1,5 +1,6 @@ -import type { ISchedulerExtend } from '../../definition/accessors'; -import type { IProcessor } from '../../definition/scheduler'; +import type { ISchedulerExtend } from '@rocket.chat/apps-engine/definition/accessors'; +import type { IProcessor } from '@rocket.chat/apps-engine/definition/scheduler'; + import type { AppSchedulerManager } from '../managers/AppSchedulerManager'; export class SchedulerExtend implements ISchedulerExtend { diff --git a/packages/apps-engine/src/server/accessors/SchedulerModify.ts b/packages/apps/src/server/accessors/SchedulerModify.ts similarity index 83% rename from packages/apps-engine/src/server/accessors/SchedulerModify.ts rename to packages/apps/src/server/accessors/SchedulerModify.ts index a687889759ce9..20e82909ac3eb 100644 --- a/packages/apps-engine/src/server/accessors/SchedulerModify.ts +++ b/packages/apps/src/server/accessors/SchedulerModify.ts @@ -1,5 +1,6 @@ -import type { ISchedulerModify } from '../../definition/accessors'; -import type { IOnetimeSchedule, IRecurringSchedule } from '../../definition/scheduler'; +import type { ISchedulerModify } from '@rocket.chat/apps-engine/definition/accessors'; +import type { IOnetimeSchedule, IRecurringSchedule } from '@rocket.chat/apps-engine/definition/scheduler'; + import type { SchedulerBridge } from '../bridges'; function createProcessorId(jobId: string, appId: string): string { diff --git a/packages/apps-engine/src/server/accessors/ServerSettingRead.ts b/packages/apps/src/server/accessors/ServerSettingRead.ts similarity index 85% rename from packages/apps-engine/src/server/accessors/ServerSettingRead.ts rename to packages/apps/src/server/accessors/ServerSettingRead.ts index 1fbc39c06ce35..5bfab63c4054f 100644 --- a/packages/apps-engine/src/server/accessors/ServerSettingRead.ts +++ b/packages/apps/src/server/accessors/ServerSettingRead.ts @@ -1,5 +1,6 @@ -import type { IServerSettingRead } from '../../definition/accessors'; -import type { ISetting } from '../../definition/settings'; +import type { IServerSettingRead } from '@rocket.chat/apps-engine/definition/accessors'; +import type { ISetting } from '@rocket.chat/apps-engine/definition/settings'; + import type { ServerSettingBridge } from '../bridges/ServerSettingBridge'; export class ServerSettingRead implements IServerSettingRead { diff --git a/packages/apps-engine/src/server/accessors/ServerSettingUpdater.ts b/packages/apps/src/server/accessors/ServerSettingUpdater.ts similarity index 75% rename from packages/apps-engine/src/server/accessors/ServerSettingUpdater.ts rename to packages/apps/src/server/accessors/ServerSettingUpdater.ts index 87dfff693c3f2..280aae967a819 100644 --- a/packages/apps-engine/src/server/accessors/ServerSettingUpdater.ts +++ b/packages/apps/src/server/accessors/ServerSettingUpdater.ts @@ -1,5 +1,6 @@ -import type { IServerSettingUpdater } from '../../definition/accessors'; -import type { ISetting } from '../../definition/settings'; +import type { IServerSettingUpdater } from '@rocket.chat/apps-engine/definition/accessors'; +import type { ISetting } from '@rocket.chat/apps-engine/definition/settings'; + import type { AppBridges } from '../bridges'; export class ServerSettingUpdater implements IServerSettingUpdater { diff --git a/packages/apps-engine/src/server/accessors/ServerSettingsModify.ts b/packages/apps/src/server/accessors/ServerSettingsModify.ts similarity index 81% rename from packages/apps-engine/src/server/accessors/ServerSettingsModify.ts rename to packages/apps/src/server/accessors/ServerSettingsModify.ts index 8cdc908009b73..c742ffbe5bf70 100644 --- a/packages/apps-engine/src/server/accessors/ServerSettingsModify.ts +++ b/packages/apps/src/server/accessors/ServerSettingsModify.ts @@ -1,5 +1,6 @@ -import type { IServerSettingsModify } from '../../definition/accessors'; -import type { ISetting } from '../../definition/settings'; +import type { IServerSettingsModify } from '@rocket.chat/apps-engine/definition/accessors'; +import type { ISetting } from '@rocket.chat/apps-engine/definition/settings'; + import type { ServerSettingBridge } from '../bridges/ServerSettingBridge'; export class ServerSettingsModify implements IServerSettingsModify { diff --git a/packages/apps-engine/src/server/accessors/SettingRead.ts b/packages/apps/src/server/accessors/SettingRead.ts similarity index 77% rename from packages/apps-engine/src/server/accessors/SettingRead.ts rename to packages/apps/src/server/accessors/SettingRead.ts index 7b701c249a49c..04d076fa7d323 100644 --- a/packages/apps-engine/src/server/accessors/SettingRead.ts +++ b/packages/apps/src/server/accessors/SettingRead.ts @@ -1,5 +1,6 @@ -import type { ISettingRead } from '../../definition/accessors'; -import type { ISetting } from '../../definition/settings'; +import type { ISettingRead } from '@rocket.chat/apps-engine/definition/accessors'; +import type { ISetting } from '@rocket.chat/apps-engine/definition/settings'; + import type { ProxiedApp } from '../ProxiedApp'; export class SettingRead implements ISettingRead { diff --git a/packages/apps-engine/src/server/accessors/SettingUpdater.ts b/packages/apps/src/server/accessors/SettingUpdater.ts similarity index 91% rename from packages/apps-engine/src/server/accessors/SettingUpdater.ts rename to packages/apps/src/server/accessors/SettingUpdater.ts index 02080e96e54b2..45bc4b5ecabbe 100644 --- a/packages/apps-engine/src/server/accessors/SettingUpdater.ts +++ b/packages/apps/src/server/accessors/SettingUpdater.ts @@ -1,5 +1,6 @@ -import type { ISettingUpdater } from '../../definition/accessors/ISettingUpdater'; -import type { ISetting } from '../../definition/settings'; +import type { ISettingUpdater } from '@rocket.chat/apps-engine/definition/accessors/ISettingUpdater'; +import type { ISetting } from '@rocket.chat/apps-engine/definition/settings'; + import type { ProxiedApp } from '../ProxiedApp'; import type { AppSettingsManager } from '../managers'; diff --git a/packages/apps-engine/src/server/accessors/SettingsExtend.ts b/packages/apps/src/server/accessors/SettingsExtend.ts similarity index 80% rename from packages/apps-engine/src/server/accessors/SettingsExtend.ts rename to packages/apps/src/server/accessors/SettingsExtend.ts index 654c52f385fbf..951c3f4610a83 100644 --- a/packages/apps-engine/src/server/accessors/SettingsExtend.ts +++ b/packages/apps/src/server/accessors/SettingsExtend.ts @@ -1,5 +1,6 @@ -import type { ISettingsExtend } from '../../definition/accessors'; -import type { ISetting } from '../../definition/settings'; +import type { ISettingsExtend } from '@rocket.chat/apps-engine/definition/accessors'; +import type { ISetting } from '@rocket.chat/apps-engine/definition/settings'; + import type { ProxiedApp } from '../ProxiedApp'; export class SettingsExtend implements ISettingsExtend { diff --git a/packages/apps-engine/src/server/accessors/SlashCommandsExtend.ts b/packages/apps/src/server/accessors/SlashCommandsExtend.ts similarity index 69% rename from packages/apps-engine/src/server/accessors/SlashCommandsExtend.ts rename to packages/apps/src/server/accessors/SlashCommandsExtend.ts index e540fdbee5f1c..981dc8d01ffe7 100644 --- a/packages/apps-engine/src/server/accessors/SlashCommandsExtend.ts +++ b/packages/apps/src/server/accessors/SlashCommandsExtend.ts @@ -1,5 +1,6 @@ -import type { ISlashCommandsExtend } from '../../definition/accessors'; -import type { ISlashCommand } from '../../definition/slashcommands'; +import type { ISlashCommandsExtend } from '@rocket.chat/apps-engine/definition/accessors'; +import type { ISlashCommand } from '@rocket.chat/apps-engine/definition/slashcommands'; + import type { AppSlashCommandManager } from '../managers/AppSlashCommandManager'; export class SlashCommandsExtend implements ISlashCommandsExtend { diff --git a/packages/apps-engine/src/server/accessors/SlashCommandsModify.ts b/packages/apps/src/server/accessors/SlashCommandsModify.ts similarity index 78% rename from packages/apps-engine/src/server/accessors/SlashCommandsModify.ts rename to packages/apps/src/server/accessors/SlashCommandsModify.ts index f03dba9d13690..469f9cda3c37d 100644 --- a/packages/apps-engine/src/server/accessors/SlashCommandsModify.ts +++ b/packages/apps/src/server/accessors/SlashCommandsModify.ts @@ -1,5 +1,6 @@ -import type { ISlashCommandsModify } from '../../definition/accessors'; -import type { ISlashCommand } from '../../definition/slashcommands'; +import type { ISlashCommandsModify } from '@rocket.chat/apps-engine/definition/accessors'; +import type { ISlashCommand } from '@rocket.chat/apps-engine/definition/slashcommands'; + import type { AppSlashCommandManager } from '../managers'; export class SlashCommandsModify implements ISlashCommandsModify { diff --git a/packages/apps-engine/src/server/accessors/ThreadRead.ts b/packages/apps/src/server/accessors/ThreadRead.ts similarity index 64% rename from packages/apps-engine/src/server/accessors/ThreadRead.ts rename to packages/apps/src/server/accessors/ThreadRead.ts index c979bf9a50d13..1cb6a6a66a6a9 100644 --- a/packages/apps-engine/src/server/accessors/ThreadRead.ts +++ b/packages/apps/src/server/accessors/ThreadRead.ts @@ -1,5 +1,6 @@ -import type { IThreadRead } from '../../definition/accessors/IThreadRead'; -import type { IMessage } from '../../definition/messages'; +import type { IThreadRead } from '@rocket.chat/apps-engine/definition/accessors/IThreadRead'; +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages'; + import type { ThreadBridge } from '../bridges/ThreadBridge'; export class ThreadRead implements IThreadRead { diff --git a/packages/apps-engine/src/server/accessors/UIController.ts b/packages/apps/src/server/accessors/UIController.ts similarity index 84% rename from packages/apps-engine/src/server/accessors/UIController.ts rename to packages/apps/src/server/accessors/UIController.ts index 1c3ad58e1d293..e21cf80b845f1 100644 --- a/packages/apps-engine/src/server/accessors/UIController.ts +++ b/packages/apps/src/server/accessors/UIController.ts @@ -1,13 +1,21 @@ -import type { IUIController } from '../../definition/accessors'; -import type { IUIKitErrorInteractionParam, IUIKitInteractionParam, IUIKitSurfaceViewParam } from '../../definition/accessors/IUIController'; -import { UIKitInteractionType, UIKitSurfaceType } from '../../definition/uikit'; +import type { IUIController } from '@rocket.chat/apps-engine/definition/accessors'; +import type { + IUIKitErrorInteractionParam, + IUIKitInteractionParam, + IUIKitSurfaceViewParam, +} from '@rocket.chat/apps-engine/definition/accessors/IUIController'; +import { UIKitInteractionType, UIKitSurfaceType } from '@rocket.chat/apps-engine/definition/uikit'; import { formatContextualBarInteraction, formatErrorInteraction, formatModalInteraction, -} from '../../definition/uikit/UIKitInteractionPayloadFormatter'; -import type { IUIKitContextualBarViewParam, IUIKitModalViewParam } from '../../definition/uikit/UIKitInteractionResponder'; -import type { IUser } from '../../definition/users'; +} from '@rocket.chat/apps-engine/definition/uikit/UIKitInteractionPayloadFormatter'; +import type { + IUIKitContextualBarViewParam, + IUIKitModalViewParam, +} from '@rocket.chat/apps-engine/definition/uikit/UIKitInteractionResponder'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; + import type { AppBridges, UiInteractionBridge } from '../bridges'; import { UIHelper } from '../misc/UIHelper'; diff --git a/packages/apps-engine/src/server/accessors/UIExtend.ts b/packages/apps/src/server/accessors/UIExtend.ts similarity index 67% rename from packages/apps-engine/src/server/accessors/UIExtend.ts rename to packages/apps/src/server/accessors/UIExtend.ts index 81062f2cc71f1..7369461dae569 100644 --- a/packages/apps-engine/src/server/accessors/UIExtend.ts +++ b/packages/apps/src/server/accessors/UIExtend.ts @@ -1,5 +1,6 @@ -import type { IUIExtend } from '../../definition/accessors'; -import type { IUIActionButtonDescriptor } from '../../definition/ui'; +import type { IUIExtend } from '@rocket.chat/apps-engine/definition/accessors'; +import type { IUIActionButtonDescriptor } from '@rocket.chat/apps-engine/definition/ui'; + import type { UIActionButtonManager } from '../managers/UIActionButtonManager'; export class UIExtend implements IUIExtend { diff --git a/packages/apps-engine/src/server/accessors/UploadCreator.ts b/packages/apps/src/server/accessors/UploadCreator.ts similarity index 67% rename from packages/apps-engine/src/server/accessors/UploadCreator.ts rename to packages/apps/src/server/accessors/UploadCreator.ts index dbacbdc30354f..b21c333dc5076 100644 --- a/packages/apps-engine/src/server/accessors/UploadCreator.ts +++ b/packages/apps/src/server/accessors/UploadCreator.ts @@ -1,7 +1,8 @@ -import type { IUploadCreator } from '../../definition/accessors'; -import type { IUpload } from '../../definition/uploads'; -import type { IUploadDescriptor } from '../../definition/uploads/IUploadDescriptor'; -import type { IUploadDetails } from '../../definition/uploads/IUploadDetails'; +import type { IUploadCreator } from '@rocket.chat/apps-engine/definition/accessors'; +import type { IUpload } from '@rocket.chat/apps-engine/definition/uploads'; +import type { IUploadDescriptor } from '@rocket.chat/apps-engine/definition/uploads/IUploadDescriptor'; +import type { IUploadDetails } from '@rocket.chat/apps-engine/definition/uploads/IUploadDetails'; + import type { AppBridges } from '../bridges'; export class UploadCreator implements IUploadCreator { diff --git a/packages/apps-engine/src/server/accessors/UploadRead.ts b/packages/apps/src/server/accessors/UploadRead.ts similarity index 79% rename from packages/apps-engine/src/server/accessors/UploadRead.ts rename to packages/apps/src/server/accessors/UploadRead.ts index 84ab8c47b84a1..5df4ed5b2755c 100644 --- a/packages/apps-engine/src/server/accessors/UploadRead.ts +++ b/packages/apps/src/server/accessors/UploadRead.ts @@ -1,5 +1,6 @@ -import type { IUploadRead } from '../../definition/accessors'; -import type { IUpload } from '../../definition/uploads'; +import type { IUploadRead } from '@rocket.chat/apps-engine/definition/accessors'; +import type { IUpload } from '@rocket.chat/apps-engine/definition/uploads'; + import type { UploadBridge } from '../bridges/UploadBridge'; export class UploadRead implements IUploadRead { diff --git a/packages/apps-engine/src/server/accessors/UserBuilder.ts b/packages/apps/src/server/accessors/UserBuilder.ts similarity index 79% rename from packages/apps-engine/src/server/accessors/UserBuilder.ts rename to packages/apps/src/server/accessors/UserBuilder.ts index f18482663f414..f1c891ec73bd6 100644 --- a/packages/apps-engine/src/server/accessors/UserBuilder.ts +++ b/packages/apps/src/server/accessors/UserBuilder.ts @@ -1,7 +1,7 @@ -import type { IUserBuilder } from '../../definition/accessors'; -import { RocketChatAssociationModel } from '../../definition/metadata'; -import type { IUser, IUserEmail } from '../../definition/users'; -import type { IUserSettings } from '../../definition/users/IUserSettings'; +import type { IUserBuilder } from '@rocket.chat/apps-engine/definition/accessors'; +import { RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata'; +import type { IUser, IUserEmail } from '@rocket.chat/apps-engine/definition/users'; +import type { IUserSettings } from '@rocket.chat/apps-engine/definition/users/IUserSettings'; export class UserBuilder implements IUserBuilder { public kind: RocketChatAssociationModel.USER; diff --git a/packages/apps-engine/src/server/accessors/UserRead.ts b/packages/apps/src/server/accessors/UserRead.ts similarity index 84% rename from packages/apps-engine/src/server/accessors/UserRead.ts rename to packages/apps/src/server/accessors/UserRead.ts index a147a51b3bfaa..c7dbd1d9e5c3d 100644 --- a/packages/apps-engine/src/server/accessors/UserRead.ts +++ b/packages/apps/src/server/accessors/UserRead.ts @@ -1,5 +1,6 @@ -import type { IUserRead } from '../../definition/accessors'; -import type { IUser } from '../../definition/users'; +import type { IUserRead } from '@rocket.chat/apps-engine/definition/accessors'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; + import type { UserBridge } from '../bridges/UserBridge'; export class UserRead implements IUserRead { diff --git a/packages/apps-engine/src/server/accessors/UserUpdater.ts b/packages/apps/src/server/accessors/UserUpdater.ts similarity index 79% rename from packages/apps-engine/src/server/accessors/UserUpdater.ts rename to packages/apps/src/server/accessors/UserUpdater.ts index 423a19e0f0044..bbb0252f33f8e 100644 --- a/packages/apps-engine/src/server/accessors/UserUpdater.ts +++ b/packages/apps/src/server/accessors/UserUpdater.ts @@ -1,6 +1,7 @@ -import type { IUserUpdater } from '../../definition/accessors/IUserUpdater'; -import type { UserStatusConnection } from '../../definition/users'; -import type { IUser } from '../../definition/users/IUser'; +import type { IUserUpdater } from '@rocket.chat/apps-engine/definition/accessors/IUserUpdater'; +import type { UserStatusConnection } from '@rocket.chat/apps-engine/definition/users'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users/IUser'; + import type { AppBridges } from '../bridges'; export class UserUpdater implements IUserUpdater { diff --git a/packages/apps-engine/src/server/accessors/VideoConfProviderExtend.ts b/packages/apps/src/server/accessors/VideoConfProviderExtend.ts similarity index 69% rename from packages/apps-engine/src/server/accessors/VideoConfProviderExtend.ts rename to packages/apps/src/server/accessors/VideoConfProviderExtend.ts index da9688e8104ea..45bb2b174e381 100644 --- a/packages/apps-engine/src/server/accessors/VideoConfProviderExtend.ts +++ b/packages/apps/src/server/accessors/VideoConfProviderExtend.ts @@ -1,5 +1,6 @@ -import type { IVideoConfProvidersExtend } from '../../definition/accessors'; -import type { IVideoConfProvider } from '../../definition/videoConfProviders'; +import type { IVideoConfProvidersExtend } from '@rocket.chat/apps-engine/definition/accessors'; +import type { IVideoConfProvider } from '@rocket.chat/apps-engine/definition/videoConfProviders'; + import type { AppVideoConfProviderManager } from '../managers/AppVideoConfProviderManager'; export class VideoConfProviderExtend implements IVideoConfProvidersExtend { diff --git a/packages/apps-engine/src/server/accessors/VideoConferenceBuilder.ts b/packages/apps/src/server/accessors/VideoConferenceBuilder.ts similarity index 86% rename from packages/apps-engine/src/server/accessors/VideoConferenceBuilder.ts rename to packages/apps/src/server/accessors/VideoConferenceBuilder.ts index d77254e1bcfdb..a7c101b9851e7 100644 --- a/packages/apps-engine/src/server/accessors/VideoConferenceBuilder.ts +++ b/packages/apps/src/server/accessors/VideoConferenceBuilder.ts @@ -1,6 +1,6 @@ -import type { IVideoConferenceBuilder } from '../../definition/accessors'; -import { RocketChatAssociationModel } from '../../definition/metadata'; -import type { AppVideoConference } from '../../definition/videoConferences'; +import type { IVideoConferenceBuilder } from '@rocket.chat/apps-engine/definition/accessors'; +import { RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata'; +import type { AppVideoConference } from '@rocket.chat/apps-engine/definition/videoConferences'; export class VideoConferenceBuilder implements IVideoConferenceBuilder { public kind: RocketChatAssociationModel.VIDEO_CONFERENCE = RocketChatAssociationModel.VIDEO_CONFERENCE; diff --git a/packages/apps-engine/src/server/accessors/VideoConferenceExtend.ts b/packages/apps/src/server/accessors/VideoConferenceExtend.ts similarity index 78% rename from packages/apps-engine/src/server/accessors/VideoConferenceExtend.ts rename to packages/apps/src/server/accessors/VideoConferenceExtend.ts index b95d0275527dc..01c816bf952ad 100644 --- a/packages/apps-engine/src/server/accessors/VideoConferenceExtend.ts +++ b/packages/apps/src/server/accessors/VideoConferenceExtend.ts @@ -1,7 +1,8 @@ -import type { IVideoConferenceExtender } from '../../definition/accessors'; -import { RocketChatAssociationModel } from '../../definition/metadata'; -import type { IVideoConferenceUser, VideoConference } from '../../definition/videoConferences'; -import type { VideoConferenceMember } from '../../definition/videoConferences/IVideoConference'; +import type { IVideoConferenceExtender } from '@rocket.chat/apps-engine/definition/accessors'; +import { RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata'; +import type { IVideoConferenceUser, VideoConference } from '@rocket.chat/apps-engine/definition/videoConferences'; +import type { VideoConferenceMember } from '@rocket.chat/apps-engine/definition/videoConferences/IVideoConference'; + import { Utilities } from '../misc/Utilities'; export class VideoConferenceExtender implements IVideoConferenceExtender { diff --git a/packages/apps-engine/src/server/accessors/VideoConferenceRead.ts b/packages/apps/src/server/accessors/VideoConferenceRead.ts similarity index 64% rename from packages/apps-engine/src/server/accessors/VideoConferenceRead.ts rename to packages/apps/src/server/accessors/VideoConferenceRead.ts index 2db2c2ff9908b..02dc89e356dd6 100644 --- a/packages/apps-engine/src/server/accessors/VideoConferenceRead.ts +++ b/packages/apps/src/server/accessors/VideoConferenceRead.ts @@ -1,5 +1,6 @@ -import type { IVideoConferenceRead } from '../../definition/accessors'; -import type { VideoConference } from '../../definition/videoConferences'; +import type { IVideoConferenceRead } from '@rocket.chat/apps-engine/definition/accessors'; +import type { VideoConference } from '@rocket.chat/apps-engine/definition/videoConferences'; + import type { VideoConferenceBridge } from '../bridges'; export class VideoConferenceRead implements IVideoConferenceRead { diff --git a/packages/apps-engine/src/server/accessors/index.ts b/packages/apps/src/server/accessors/index.ts similarity index 100% rename from packages/apps-engine/src/server/accessors/index.ts rename to packages/apps/src/server/accessors/index.ts diff --git a/packages/apps-engine/src/server/bridges/ApiBridge.ts b/packages/apps/src/server/bridges/ApiBridge.ts similarity index 100% rename from packages/apps-engine/src/server/bridges/ApiBridge.ts rename to packages/apps/src/server/bridges/ApiBridge.ts diff --git a/packages/apps-engine/src/server/bridges/AppActivationBridge.ts b/packages/apps/src/server/bridges/AppActivationBridge.ts similarity index 92% rename from packages/apps-engine/src/server/bridges/AppActivationBridge.ts rename to packages/apps/src/server/bridges/AppActivationBridge.ts index 099cf71800702..667444ca099e0 100644 --- a/packages/apps-engine/src/server/bridges/AppActivationBridge.ts +++ b/packages/apps/src/server/bridges/AppActivationBridge.ts @@ -1,4 +1,5 @@ -import type { AppStatus } from '../../definition/AppStatus'; +import type { AppStatus } from '@rocket.chat/apps-engine/definition/AppStatus'; + import type { ProxiedApp } from '../ProxiedApp'; import { BaseBridge } from './BaseBridge'; diff --git a/packages/apps-engine/src/server/bridges/AppBridges.ts b/packages/apps/src/server/bridges/AppBridges.ts similarity index 100% rename from packages/apps-engine/src/server/bridges/AppBridges.ts rename to packages/apps/src/server/bridges/AppBridges.ts diff --git a/packages/apps-engine/src/server/bridges/AppDetailChangesBridge.ts b/packages/apps/src/server/bridges/AppDetailChangesBridge.ts similarity index 87% rename from packages/apps-engine/src/server/bridges/AppDetailChangesBridge.ts rename to packages/apps/src/server/bridges/AppDetailChangesBridge.ts index 5d1742c55a0d2..2082b3c586d0c 100644 --- a/packages/apps-engine/src/server/bridges/AppDetailChangesBridge.ts +++ b/packages/apps/src/server/bridges/AppDetailChangesBridge.ts @@ -1,5 +1,6 @@ +import type { ISetting } from '@rocket.chat/apps-engine/definition/settings'; + import { BaseBridge } from './BaseBridge'; -import type { ISetting } from '../../definition/settings'; /** * An abstract class which will contain various methods related to Apps diff --git a/packages/apps-engine/src/server/bridges/BaseBridge.ts b/packages/apps/src/server/bridges/BaseBridge.ts similarity index 100% rename from packages/apps-engine/src/server/bridges/BaseBridge.ts rename to packages/apps/src/server/bridges/BaseBridge.ts diff --git a/packages/apps-engine/src/server/bridges/CloudWorkspaceBridge.ts b/packages/apps/src/server/bridges/CloudWorkspaceBridge.ts similarity index 90% rename from packages/apps-engine/src/server/bridges/CloudWorkspaceBridge.ts rename to packages/apps/src/server/bridges/CloudWorkspaceBridge.ts index ff14f9151aaf8..99b0480924f70 100644 --- a/packages/apps-engine/src/server/bridges/CloudWorkspaceBridge.ts +++ b/packages/apps/src/server/bridges/CloudWorkspaceBridge.ts @@ -1,5 +1,6 @@ +import type { IWorkspaceToken } from '@rocket.chat/apps-engine/definition/cloud/IWorkspaceToken'; + import { BaseBridge } from './BaseBridge'; -import type { IWorkspaceToken } from '../../definition/cloud/IWorkspaceToken'; import { PermissionDeniedError } from '../errors/PermissionDeniedError'; import { AppPermissionManager } from '../managers/AppPermissionManager'; import { AppPermissions } from '../permissions/AppPermissions'; diff --git a/packages/apps-engine/src/server/bridges/CommandBridge.ts b/packages/apps/src/server/bridges/CommandBridge.ts similarity index 97% rename from packages/apps-engine/src/server/bridges/CommandBridge.ts rename to packages/apps/src/server/bridges/CommandBridge.ts index d5c7feba20c87..df1e11a9e705a 100644 --- a/packages/apps-engine/src/server/bridges/CommandBridge.ts +++ b/packages/apps/src/server/bridges/CommandBridge.ts @@ -1,5 +1,6 @@ +import type { ISlashCommand } from '@rocket.chat/apps-engine/definition/slashcommands'; + import { BaseBridge } from './BaseBridge'; -import type { ISlashCommand } from '../../definition/slashcommands'; import { PermissionDeniedError } from '../errors/PermissionDeniedError'; import { AppPermissionManager } from '../managers/AppPermissionManager'; import { AppPermissions } from '../permissions/AppPermissions'; diff --git a/packages/apps-engine/src/server/bridges/ContactBridge.ts b/packages/apps/src/server/bridges/ContactBridge.ts similarity index 95% rename from packages/apps-engine/src/server/bridges/ContactBridge.ts rename to packages/apps/src/server/bridges/ContactBridge.ts index 71aa8ddd543fa..c2a001b10a299 100644 --- a/packages/apps-engine/src/server/bridges/ContactBridge.ts +++ b/packages/apps/src/server/bridges/ContactBridge.ts @@ -1,5 +1,6 @@ +import type { ILivechatContact } from '@rocket.chat/apps-engine/definition/livechat/ILivechatContact'; + import { BaseBridge } from './BaseBridge'; -import type { ILivechatContact } from '../../definition/livechat/ILivechatContact'; import { PermissionDeniedError } from '../errors/PermissionDeniedError'; import { AppPermissionManager } from '../managers/AppPermissionManager'; import { AppPermissions } from '../permissions/AppPermissions'; diff --git a/packages/apps-engine/src/server/bridges/EmailBridge.ts b/packages/apps/src/server/bridges/EmailBridge.ts similarity index 92% rename from packages/apps-engine/src/server/bridges/EmailBridge.ts rename to packages/apps/src/server/bridges/EmailBridge.ts index 285e9a0fe52e0..35daec8506854 100644 --- a/packages/apps-engine/src/server/bridges/EmailBridge.ts +++ b/packages/apps/src/server/bridges/EmailBridge.ts @@ -1,5 +1,6 @@ +import type { IEmail } from '@rocket.chat/apps-engine/definition/email'; + import { BaseBridge } from './BaseBridge'; -import type { IEmail } from '../../definition/email'; import { PermissionDeniedError } from '../errors/PermissionDeniedError'; import { AppPermissionManager } from '../managers/AppPermissionManager'; import { AppPermissions } from '../permissions/AppPermissions'; diff --git a/packages/apps-engine/src/server/bridges/EnvironmentalVariableBridge.ts b/packages/apps/src/server/bridges/EnvironmentalVariableBridge.ts similarity index 100% rename from packages/apps-engine/src/server/bridges/EnvironmentalVariableBridge.ts rename to packages/apps/src/server/bridges/EnvironmentalVariableBridge.ts diff --git a/packages/apps-engine/src/server/bridges/ExperimentalBridge.ts b/packages/apps/src/server/bridges/ExperimentalBridge.ts similarity index 100% rename from packages/apps-engine/src/server/bridges/ExperimentalBridge.ts rename to packages/apps/src/server/bridges/ExperimentalBridge.ts diff --git a/packages/apps-engine/src/server/bridges/HttpBridge.ts b/packages/apps/src/server/bridges/HttpBridge.ts similarity index 95% rename from packages/apps-engine/src/server/bridges/HttpBridge.ts rename to packages/apps/src/server/bridges/HttpBridge.ts index 7020b21a6317f..86499ee89f801 100644 --- a/packages/apps-engine/src/server/bridges/HttpBridge.ts +++ b/packages/apps/src/server/bridges/HttpBridge.ts @@ -1,5 +1,6 @@ +import type { IHttpRequest, IHttpResponse, RequestMethod } from '@rocket.chat/apps-engine/definition/accessors'; + import { BaseBridge } from './BaseBridge'; -import type { IHttpRequest, IHttpResponse, RequestMethod } from '../../definition/accessors'; import { PermissionDeniedError } from '../errors/PermissionDeniedError'; import { AppPermissionManager } from '../managers/AppPermissionManager'; import { AppPermissions } from '../permissions/AppPermissions'; diff --git a/packages/apps-engine/src/server/bridges/IInternalBridge.ts b/packages/apps/src/server/bridges/IInternalBridge.ts similarity index 73% rename from packages/apps-engine/src/server/bridges/IInternalBridge.ts rename to packages/apps/src/server/bridges/IInternalBridge.ts index 239fac8610998..f4b94b3111e4e 100644 --- a/packages/apps-engine/src/server/bridges/IInternalBridge.ts +++ b/packages/apps/src/server/bridges/IInternalBridge.ts @@ -1,4 +1,4 @@ -import type { ISetting } from '../../definition/settings'; +import type { ISetting } from '@rocket.chat/apps-engine/definition/settings'; export interface IInternalBridge { doGetUsernamesOfRoomById(roomId: string): Promise>; diff --git a/packages/apps-engine/src/server/bridges/IInternalFederationBridge.ts b/packages/apps/src/server/bridges/IInternalFederationBridge.ts similarity index 100% rename from packages/apps-engine/src/server/bridges/IInternalFederationBridge.ts rename to packages/apps/src/server/bridges/IInternalFederationBridge.ts diff --git a/packages/apps-engine/src/server/bridges/IInternalPersistenceBridge.ts b/packages/apps/src/server/bridges/IInternalPersistenceBridge.ts similarity index 100% rename from packages/apps-engine/src/server/bridges/IInternalPersistenceBridge.ts rename to packages/apps/src/server/bridges/IInternalPersistenceBridge.ts diff --git a/packages/apps-engine/src/server/bridges/IInternalSchedulerBridge.ts b/packages/apps/src/server/bridges/IInternalSchedulerBridge.ts similarity index 100% rename from packages/apps-engine/src/server/bridges/IInternalSchedulerBridge.ts rename to packages/apps/src/server/bridges/IInternalSchedulerBridge.ts diff --git a/packages/apps-engine/src/server/bridges/IInternalUserBridge.ts b/packages/apps/src/server/bridges/IInternalUserBridge.ts similarity index 75% rename from packages/apps-engine/src/server/bridges/IInternalUserBridge.ts rename to packages/apps/src/server/bridges/IInternalUserBridge.ts index 2bb4006d01deb..a539f8b7d23f8 100644 --- a/packages/apps-engine/src/server/bridges/IInternalUserBridge.ts +++ b/packages/apps/src/server/bridges/IInternalUserBridge.ts @@ -1,4 +1,4 @@ -import type { IUser, IUserCreationOptions } from '../../definition/users'; +import type { IUser, IUserCreationOptions } from '@rocket.chat/apps-engine/definition/users'; export interface IInternalUserBridge { create(data: Partial, appId: string, options?: IUserCreationOptions): Promise; diff --git a/packages/apps/src/server/bridges/IListenerBridge.ts b/packages/apps/src/server/bridges/IListenerBridge.ts new file mode 100644 index 0000000000000..7e30e5aa59b99 --- /dev/null +++ b/packages/apps/src/server/bridges/IListenerBridge.ts @@ -0,0 +1,59 @@ +import type { IMessage as IAppsMessage } from '@rocket.chat/apps-engine/definition/messages'; +import type { AppInterface } from '@rocket.chat/apps-engine/definition/metadata'; +import type { IRoom as IAppsRoom } from '@rocket.chat/apps-engine/definition/rooms'; +import type { UIKitIncomingInteraction } from '@rocket.chat/apps-engine/definition/uikit'; +import type { ILivechatDepartment, ILivechatVisitor, IMessage, IOmnichannelRoom, IRoom, IUser } from '@rocket.chat/core-typings'; + +import type { AppEvents } from '../../AppsEngine'; + +export interface IListenerBridge { + messageEvent(int: AppInterface, message: IAppsMessage): Promise; + roomEvent(int: AppInterface, room: IAppsRoom): Promise; + uiKitInteractionEvent(int: AppInterface, action: UIKitIncomingInteraction): Promise; + + messageEvent(int: 'IPostMessageDeleted', message: IMessage, userDeleted: IUser): Promise; + messageEvent(int: 'IPostMessageReacted', message: IMessage, userReacted: IUser, reaction: string, isReacted: boolean): Promise; + messageEvent(int: 'IPostMessageFollowed', message: IMessage, userFollowed: IUser, isFollowed: boolean): Promise; + messageEvent(int: 'IPostMessagePinned', message: IMessage, userPinned: IUser, isPinned: boolean): Promise; + messageEvent(int: 'IPostMessageStarred', message: IMessage, userStarred: IUser, isStarred: boolean): Promise; + messageEvent(int: 'IPostMessageReported', message: IMessage, userReported: IUser, reason: boolean): Promise; + messageEvent( + int: 'IPreMessageSentPrevent' | 'IPreMessageDeletePrevent' | 'IPreMessageUpdatedPrevent', + message: IMessage, + ): Promise; + messageEvent( + int: 'IPreMessageSentExtend' | 'IPreMessageSentModify' | 'IPreMessageUpdatedExtend' | 'IPreMessageUpdatedModify', + message: IMessage, + ): Promise; + messageEvent(int: 'IPostMessageSent' | 'IPostMessageUpdated' | 'IPostSystemMessageSent', message: IMessage): Promise; + + roomEvent(int: 'IPreRoomUserJoined' | 'IPostRoomUserJoined', room: IRoom, joiningUser: IUser, invitingUser?: IUser): Promise; + roomEvent(int: 'IPreRoomUserLeave' | 'IPostRoomUserLeave', room: IRoom, leavingUser: IUser): Promise; + roomEvent(int: 'IPreRoomCreatePrevent' | 'IPreRoomDeletePrevent', room: IRoom): Promise; + roomEvent(int: 'IPreRoomCreateExtend' | 'IPreRoomCreateModify', room: IRoom): Promise; + roomEvent(int: 'IPostRoomCreate' | 'IPostRoomDeleted', room: IRoom): Promise; + + livechatEvent( + int: + | 'IPostLivechatAgentAssigned' + | 'IPostLivechatAgentUnassigned' + | 'IPostLivechatDepartmentRemoved' + | 'IPostLivechatDepartmentDisabled', + data: { user: IUser; room: IOmnichannelRoom }, + ): Promise; + livechatEvent( + int: 'IPostLivechatRoomTransferred', + data: { type: 'agent'; room: IRoom['_id']; from: IUser['_id']; to: IUser['_id'] }, + ): Promise; + livechatEvent( + int: 'IPostLivechatRoomTransferred', + data: { type: 'department'; room: IRoom['_id']; from: ILivechatDepartment['_id']; to: ILivechatDepartment['_id'] }, + ): Promise; + livechatEvent(int: 'IPostLivechatGuestSaved', data: ILivechatVisitor['_id']): Promise; + livechatEvent(int: 'IPostLivechatRoomSaved', data: IRoom['_id']): Promise; + livechatEvent( + int: 'ILivechatRoomClosedHandler' | 'IPostLivechatRoomStarted' | 'IPostLivechatRoomClosed' | 'IPreLivechatRoomCreatePrevent', + data: IRoom, + ): Promise; + livechatEvent(int: AppEvents | AppEvents[keyof AppEvents], data: any): Promise; +} diff --git a/packages/apps-engine/src/server/bridges/InternalBridge.ts b/packages/apps/src/server/bridges/InternalBridge.ts similarity index 89% rename from packages/apps-engine/src/server/bridges/InternalBridge.ts rename to packages/apps/src/server/bridges/InternalBridge.ts index 74188fab2b499..86637bb596ff9 100644 --- a/packages/apps-engine/src/server/bridges/InternalBridge.ts +++ b/packages/apps/src/server/bridges/InternalBridge.ts @@ -1,5 +1,6 @@ +import type { ISetting } from '@rocket.chat/apps-engine/definition/settings'; + import { BaseBridge } from './BaseBridge'; -import type { ISetting } from '../../definition/settings'; export abstract class InternalBridge extends BaseBridge { public doGetUsernamesOfRoomById(roomId: string): Promise> { diff --git a/packages/apps-engine/src/server/bridges/ListenerBridge.ts b/packages/apps/src/server/bridges/ListenerBridge.ts similarity index 71% rename from packages/apps-engine/src/server/bridges/ListenerBridge.ts rename to packages/apps/src/server/bridges/ListenerBridge.ts index 19806220e9cbf..8a32512e3d471 100644 --- a/packages/apps-engine/src/server/bridges/ListenerBridge.ts +++ b/packages/apps/src/server/bridges/ListenerBridge.ts @@ -1,7 +1,8 @@ +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages'; +import type { AppInterface } from '@rocket.chat/apps-engine/definition/metadata'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms'; + import { BaseBridge } from './BaseBridge'; -import type { IMessage } from '../../definition/messages'; -import type { AppInterface } from '../../definition/metadata'; -import type { IRoom } from '../../definition/rooms'; export abstract class ListenerBridge extends BaseBridge { public async doMessageEvent(int: AppInterface, message: IMessage): Promise { diff --git a/packages/apps-engine/src/server/bridges/LivechatBridge.ts b/packages/apps/src/server/bridges/LivechatBridge.ts similarity index 97% rename from packages/apps-engine/src/server/bridges/LivechatBridge.ts rename to packages/apps/src/server/bridges/LivechatBridge.ts index 88a7575898049..91b6647c9dac9 100644 --- a/packages/apps-engine/src/server/bridges/LivechatBridge.ts +++ b/packages/apps/src/server/bridges/LivechatBridge.ts @@ -1,5 +1,4 @@ -import { BaseBridge } from './BaseBridge'; -import type { IExtraRoomParams } from '../../definition/accessors/ILivechatCreator'; +import type { IExtraRoomParams } from '@rocket.chat/apps-engine/definition/accessors/ILivechatCreator'; import type { IDepartment, IVisitorExternalIdentifier, @@ -8,9 +7,11 @@ import type { ILivechatTransferData, IVisitor, ResolveVisitorContactData, -} from '../../definition/livechat'; -import type { IMessage } from '../../definition/messages'; -import type { IUser } from '../../definition/users'; +} from '@rocket.chat/apps-engine/definition/livechat'; +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; + +import { BaseBridge } from './BaseBridge'; import { PermissionDeniedError } from '../errors/PermissionDeniedError'; import { AppPermissionManager } from '../managers/AppPermissionManager'; import { AppPermissions } from '../permissions/AppPermissions'; diff --git a/packages/apps-engine/src/server/bridges/MessageBridge.ts b/packages/apps/src/server/bridges/MessageBridge.ts similarity index 91% rename from packages/apps-engine/src/server/bridges/MessageBridge.ts rename to packages/apps/src/server/bridges/MessageBridge.ts index e1d437339cb10..e809e85a6288e 100644 --- a/packages/apps-engine/src/server/bridges/MessageBridge.ts +++ b/packages/apps/src/server/bridges/MessageBridge.ts @@ -1,8 +1,9 @@ +import type { ITypingOptions } from '@rocket.chat/apps-engine/definition/accessors/INotifier'; +import type { IMessage, Reaction } from '@rocket.chat/apps-engine/definition/messages'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; + import { BaseBridge } from './BaseBridge'; -import type { ITypingOptions } from '../../definition/accessors/INotifier'; -import type { IMessage, Reaction } from '../../definition/messages'; -import type { IRoom } from '../../definition/rooms'; -import type { IUser } from '../../definition/users'; import { PermissionDeniedError } from '../errors/PermissionDeniedError'; import { AppPermissionManager } from '../managers/AppPermissionManager'; import { AppPermissions } from '../permissions/AppPermissions'; diff --git a/packages/apps-engine/src/server/bridges/ModerationBridge.ts b/packages/apps/src/server/bridges/ModerationBridge.ts similarity index 92% rename from packages/apps-engine/src/server/bridges/ModerationBridge.ts rename to packages/apps/src/server/bridges/ModerationBridge.ts index 39109c2bc2d64..6c928fbd78fbb 100644 --- a/packages/apps-engine/src/server/bridges/ModerationBridge.ts +++ b/packages/apps/src/server/bridges/ModerationBridge.ts @@ -1,6 +1,7 @@ +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; + import { BaseBridge } from './BaseBridge'; -import type { IMessage } from '../../definition/messages'; -import type { IUser } from '../../definition/users'; import { PermissionDeniedError } from '../errors/PermissionDeniedError'; import { AppPermissionManager } from '../managers/AppPermissionManager'; import { AppPermissions } from '../permissions/AppPermissions'; diff --git a/packages/apps-engine/src/server/bridges/OAuthAppsBridge.ts b/packages/apps/src/server/bridges/OAuthAppsBridge.ts similarity index 95% rename from packages/apps-engine/src/server/bridges/OAuthAppsBridge.ts rename to packages/apps/src/server/bridges/OAuthAppsBridge.ts index 3e34510953fd1..14c2e8ac2acaa 100644 --- a/packages/apps-engine/src/server/bridges/OAuthAppsBridge.ts +++ b/packages/apps/src/server/bridges/OAuthAppsBridge.ts @@ -1,5 +1,6 @@ +import type { IOAuthApp, IOAuthAppParams } from '@rocket.chat/apps-engine/definition/accessors/IOAuthApp'; + import { BaseBridge } from './BaseBridge'; -import type { IOAuthApp, IOAuthAppParams } from '../../definition/accessors/IOAuthApp'; import { PermissionDeniedError } from '../errors/PermissionDeniedError'; import { AppPermissionManager } from '../managers/AppPermissionManager'; import { AppPermissions } from '../permissions/AppPermissions'; diff --git a/packages/apps-engine/src/server/bridges/OutboundMessagesBridge.ts b/packages/apps/src/server/bridges/OutboundMessagesBridge.ts similarity index 96% rename from packages/apps-engine/src/server/bridges/OutboundMessagesBridge.ts rename to packages/apps/src/server/bridges/OutboundMessagesBridge.ts index 91751d1bcafc9..b6e1e10d51a51 100644 --- a/packages/apps-engine/src/server/bridges/OutboundMessagesBridge.ts +++ b/packages/apps/src/server/bridges/OutboundMessagesBridge.ts @@ -1,9 +1,10 @@ -import { BaseBridge } from './BaseBridge'; import type { IOutboundEmailMessageProvider, IOutboundMessageProviders, IOutboundPhoneMessageProvider, -} from '../../definition/outboundCommunication'; +} from '@rocket.chat/apps-engine/definition/outboundCommunication'; + +import { BaseBridge } from './BaseBridge'; import { PermissionDeniedError } from '../errors/PermissionDeniedError'; import { AppPermissionManager } from '../managers/AppPermissionManager'; import { AppPermissions } from '../permissions/AppPermissions'; diff --git a/packages/apps-engine/src/server/bridges/PersistenceBridge.ts b/packages/apps/src/server/bridges/PersistenceBridge.ts similarity index 98% rename from packages/apps-engine/src/server/bridges/PersistenceBridge.ts rename to packages/apps/src/server/bridges/PersistenceBridge.ts index bb9d6a69dabfe..c77d53277521b 100644 --- a/packages/apps-engine/src/server/bridges/PersistenceBridge.ts +++ b/packages/apps/src/server/bridges/PersistenceBridge.ts @@ -1,5 +1,6 @@ +import type { RocketChatAssociationRecord } from '@rocket.chat/apps-engine/definition/metadata'; + import { BaseBridge } from './BaseBridge'; -import type { RocketChatAssociationRecord } from '../../definition/metadata'; import { PermissionDeniedError } from '../errors/PermissionDeniedError'; import { AppPermissionManager } from '../managers/AppPermissionManager'; import { AppPermissions } from '../permissions/AppPermissions'; diff --git a/packages/apps-engine/src/server/bridges/RoleBridge.ts b/packages/apps/src/server/bridges/RoleBridge.ts similarity index 93% rename from packages/apps-engine/src/server/bridges/RoleBridge.ts rename to packages/apps/src/server/bridges/RoleBridge.ts index 4d90baac2f5c4..0ccbbfd1f3db1 100644 --- a/packages/apps-engine/src/server/bridges/RoleBridge.ts +++ b/packages/apps/src/server/bridges/RoleBridge.ts @@ -1,5 +1,6 @@ +import type { IRole } from '@rocket.chat/apps-engine/definition/roles'; + import { BaseBridge } from './BaseBridge'; -import type { IRole } from '../../definition/roles'; import { PermissionDeniedError } from '../errors/PermissionDeniedError'; import { AppPermissionManager } from '../managers/AppPermissionManager'; import { AppPermissions } from '../permissions/AppPermissions'; diff --git a/packages/apps-engine/src/server/bridges/RoomBridge.ts b/packages/apps/src/server/bridges/RoomBridge.ts similarity index 83% rename from packages/apps-engine/src/server/bridges/RoomBridge.ts rename to packages/apps/src/server/bridges/RoomBridge.ts index c886e1b065676..662fb1039b76c 100644 --- a/packages/apps-engine/src/server/bridges/RoomBridge.ts +++ b/packages/apps/src/server/bridges/RoomBridge.ts @@ -1,52 +1,16 @@ +import type { IMessage, IMessageRaw } from '@rocket.chat/apps-engine/definition/messages'; +import type { IRoom, IRoomRaw } from '@rocket.chat/apps-engine/definition/rooms'; +import { GetMessagesSortableFields } from '@rocket.chat/apps-engine/definition/rooms/IGetMessagesOptions'; +import type { GetMessagesOptions, GetRoomsFilters, GetRoomsOptions } from '@rocket.chat/apps-engine/definition/rooms/IGetMessagesOptions'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; + import { BaseBridge } from './BaseBridge'; -import type { IMessage, IMessageRaw } from '../../definition/messages'; -import type { IRoom, IRoomRaw, RoomType } from '../../definition/rooms'; -import type { IUser } from '../../definition/users'; import { PermissionDeniedError } from '../errors/PermissionDeniedError'; import { AppPermissionManager } from '../managers/AppPermissionManager'; import { AppPermissions } from '../permissions/AppPermissions'; -export const GetMessagesSortableFields = ['createdAt'] as const; - -export type GetMessagesOptions = { - limit: number; - skip: number; - sort: Record<(typeof GetMessagesSortableFields)[number], 'asc' | 'desc'>; - showThreadMessages: boolean; -}; - -/** - * Filters for querying rooms in the system. - */ -export type GetRoomsFilters = { - /** - * When specified, only rooms matching the provided types will be returned. - */ - types?: Array; - /** - * Filter to include or exclude discussion rooms. - * - * When undefined (default), discussions are included in the result set. - * - * When true, ONLY discussions are included in the result set (remove non-discussions). - * When false, discussion rooms are excluded from the result set. - */ - discussions?: boolean; - /** - * Filter to include or exclude team main rooms. - * - * When undefined (default), team main rooms are included in the result set. - * - * When true, ONLY team main rooms are included in the result set (remove non-teams). - * When false, team main rooms are excluded from the result set. - */ - teams?: boolean; -}; - -export type GetRoomsOptions = { - limit?: number; - skip?: number; -}; +export { GetMessagesSortableFields }; +export type { GetMessagesOptions, GetRoomsFilters, GetRoomsOptions }; export abstract class RoomBridge extends BaseBridge { public async doCreate(room: IRoom, members: Array, appId: string): Promise { diff --git a/packages/apps-engine/src/server/bridges/SchedulerBridge.ts b/packages/apps/src/server/bridges/SchedulerBridge.ts similarity index 97% rename from packages/apps-engine/src/server/bridges/SchedulerBridge.ts rename to packages/apps/src/server/bridges/SchedulerBridge.ts index e881c2f08be6a..53d05c5a870e7 100644 --- a/packages/apps-engine/src/server/bridges/SchedulerBridge.ts +++ b/packages/apps/src/server/bridges/SchedulerBridge.ts @@ -1,5 +1,6 @@ +import type { IOnetimeSchedule, IProcessor, IRecurringSchedule } from '@rocket.chat/apps-engine/definition/scheduler'; + import { BaseBridge } from './BaseBridge'; -import type { IOnetimeSchedule, IProcessor, IRecurringSchedule } from '../../definition/scheduler'; import { PermissionDeniedError } from '../errors/PermissionDeniedError'; import { AppPermissionManager } from '../managers/AppPermissionManager'; import { AppPermissions } from '../permissions/AppPermissions'; diff --git a/packages/apps-engine/src/server/bridges/ServerSettingBridge.ts b/packages/apps/src/server/bridges/ServerSettingBridge.ts similarity index 97% rename from packages/apps-engine/src/server/bridges/ServerSettingBridge.ts rename to packages/apps/src/server/bridges/ServerSettingBridge.ts index e108a23d0d268..2114a98b8c3f9 100644 --- a/packages/apps-engine/src/server/bridges/ServerSettingBridge.ts +++ b/packages/apps/src/server/bridges/ServerSettingBridge.ts @@ -1,5 +1,6 @@ +import type { ISetting } from '@rocket.chat/apps-engine/definition/settings'; + import { BaseBridge } from './BaseBridge'; -import type { ISetting } from '../../definition/settings'; import { PermissionDeniedError } from '../errors/PermissionDeniedError'; import { AppPermissionManager } from '../managers/AppPermissionManager'; import { AppPermissions } from '../permissions/AppPermissions'; diff --git a/packages/apps-engine/src/server/bridges/ThreadBridge.ts b/packages/apps/src/server/bridges/ThreadBridge.ts similarity index 84% rename from packages/apps-engine/src/server/bridges/ThreadBridge.ts rename to packages/apps/src/server/bridges/ThreadBridge.ts index cdbc42035cd0a..c11d332db7e40 100644 --- a/packages/apps-engine/src/server/bridges/ThreadBridge.ts +++ b/packages/apps/src/server/bridges/ThreadBridge.ts @@ -1,6 +1,7 @@ +import type { ITypingOptions } from '@rocket.chat/apps-engine/definition/accessors/INotifier'; +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages'; + import { BaseBridge } from './BaseBridge'; -import type { ITypingOptions } from '../../definition/accessors/INotifier'; -import type { IMessage } from '../../definition/messages'; import { PermissionDeniedError } from '../errors/PermissionDeniedError'; import { AppPermissionManager } from '../managers/AppPermissionManager'; import { AppPermissions } from '../permissions/AppPermissions'; diff --git a/packages/apps-engine/src/server/bridges/UiInteractionBridge.ts b/packages/apps/src/server/bridges/UiInteractionBridge.ts similarity index 86% rename from packages/apps-engine/src/server/bridges/UiInteractionBridge.ts rename to packages/apps/src/server/bridges/UiInteractionBridge.ts index e085d389ff4e0..c503a0d034e4a 100644 --- a/packages/apps-engine/src/server/bridges/UiInteractionBridge.ts +++ b/packages/apps/src/server/bridges/UiInteractionBridge.ts @@ -1,6 +1,7 @@ +import type { IUIKitInteraction } from '@rocket.chat/apps-engine/definition/uikit'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; + import { BaseBridge } from './BaseBridge'; -import type { IUIKitInteraction } from '../../definition/uikit'; -import type { IUser } from '../../definition/users'; import { PermissionDeniedError } from '../errors/PermissionDeniedError'; import { AppPermissionManager } from '../managers/AppPermissionManager'; import { AppPermissions } from '../permissions/AppPermissions'; diff --git a/packages/apps-engine/src/server/bridges/UploadBridge.ts b/packages/apps/src/server/bridges/UploadBridge.ts similarity index 90% rename from packages/apps-engine/src/server/bridges/UploadBridge.ts rename to packages/apps/src/server/bridges/UploadBridge.ts index 65d0ae0b13449..41a1c520b6e42 100644 --- a/packages/apps-engine/src/server/bridges/UploadBridge.ts +++ b/packages/apps/src/server/bridges/UploadBridge.ts @@ -1,6 +1,7 @@ +import type { IUpload } from '@rocket.chat/apps-engine/definition/uploads'; +import type { IUploadDetails } from '@rocket.chat/apps-engine/definition/uploads/IUploadDetails'; + import { BaseBridge } from './BaseBridge'; -import type { IUpload } from '../../definition/uploads'; -import type { IUploadDetails } from '../../definition/uploads/IUploadDetails'; import { PermissionDeniedError } from '../errors/PermissionDeniedError'; import { AppPermissionManager } from '../managers/AppPermissionManager'; import { AppPermissions } from '../permissions/AppPermissions'; diff --git a/packages/apps-engine/src/server/bridges/UserBridge.ts b/packages/apps/src/server/bridges/UserBridge.ts similarity index 97% rename from packages/apps-engine/src/server/bridges/UserBridge.ts rename to packages/apps/src/server/bridges/UserBridge.ts index 72cf52eb17c1d..bdeb239bb05d7 100644 --- a/packages/apps-engine/src/server/bridges/UserBridge.ts +++ b/packages/apps/src/server/bridges/UserBridge.ts @@ -1,5 +1,6 @@ +import type { IUser, IUserCreationOptions, UserType } from '@rocket.chat/apps-engine/definition/users'; + import { BaseBridge } from './BaseBridge'; -import type { IUser, IUserCreationOptions, UserType } from '../../definition/users'; import { PermissionDeniedError } from '../errors/PermissionDeniedError'; import { AppPermissionManager } from '../managers/AppPermissionManager'; import { AppPermissions } from '../permissions/AppPermissions'; diff --git a/packages/apps-engine/src/server/bridges/VideoConferenceBridge.ts b/packages/apps/src/server/bridges/VideoConferenceBridge.ts similarity index 89% rename from packages/apps-engine/src/server/bridges/VideoConferenceBridge.ts rename to packages/apps/src/server/bridges/VideoConferenceBridge.ts index b2d57f3317341..e5fadbd12bcd7 100644 --- a/packages/apps-engine/src/server/bridges/VideoConferenceBridge.ts +++ b/packages/apps/src/server/bridges/VideoConferenceBridge.ts @@ -1,7 +1,8 @@ +import type { IVideoConfProvider } from '@rocket.chat/apps-engine/definition/videoConfProviders'; +import type { AppVideoConference } from '@rocket.chat/apps-engine/definition/videoConferences/AppVideoConference'; +import type { VideoConference } from '@rocket.chat/apps-engine/definition/videoConferences/IVideoConference'; + import { BaseBridge } from './BaseBridge'; -import type { IVideoConfProvider } from '../../definition/videoConfProviders'; -import type { AppVideoConference } from '../../definition/videoConferences/AppVideoConference'; -import type { VideoConference } from '../../definition/videoConferences/IVideoConference'; import { PermissionDeniedError } from '../errors/PermissionDeniedError'; import { AppPermissionManager } from '../managers/AppPermissionManager'; import { AppPermissions } from '../permissions/AppPermissions'; diff --git a/packages/apps-engine/src/server/bridges/index.ts b/packages/apps/src/server/bridges/index.ts similarity index 99% rename from packages/apps-engine/src/server/bridges/index.ts rename to packages/apps/src/server/bridges/index.ts index 6f3eff389a94a..6381da83a562c 100644 --- a/packages/apps-engine/src/server/bridges/index.ts +++ b/packages/apps/src/server/bridges/index.ts @@ -28,6 +28,7 @@ import { UserBridge } from './UserBridge'; import { VideoConferenceBridge } from './VideoConferenceBridge'; export type { IHttpBridgeRequestInfo, IListenerBridge, IInternalBridge, IInternalFederationBridge }; + export { CloudWorkspaceBridge, ContactBridge, diff --git a/packages/apps-engine/src/server/compiler/AppCompiler.ts b/packages/apps/src/server/compiler/AppCompiler.ts similarity index 100% rename from packages/apps-engine/src/server/compiler/AppCompiler.ts rename to packages/apps/src/server/compiler/AppCompiler.ts diff --git a/packages/apps-engine/src/server/compiler/AppFabricationFulfillment.ts b/packages/apps/src/server/compiler/AppFabricationFulfillment.ts similarity index 95% rename from packages/apps-engine/src/server/compiler/AppFabricationFulfillment.ts rename to packages/apps/src/server/compiler/AppFabricationFulfillment.ts index 6fb53a8c52580..97e030dd514a8 100644 --- a/packages/apps-engine/src/server/compiler/AppFabricationFulfillment.ts +++ b/packages/apps/src/server/compiler/AppFabricationFulfillment.ts @@ -1,4 +1,5 @@ -import type { IAppInfo } from '../../definition/metadata'; +import type { IAppInfo } from '@rocket.chat/apps-engine/definition/metadata'; + import type { ProxiedApp } from '../ProxiedApp'; import { AppLicenseValidationResult } from '../marketplace/license'; diff --git a/packages/apps-engine/src/server/compiler/AppImplements.ts b/packages/apps/src/server/compiler/AppImplements.ts similarity index 88% rename from packages/apps-engine/src/server/compiler/AppImplements.ts rename to packages/apps/src/server/compiler/AppImplements.ts index ba9be27b678bc..1d618f8a989a0 100644 --- a/packages/apps-engine/src/server/compiler/AppImplements.ts +++ b/packages/apps/src/server/compiler/AppImplements.ts @@ -1,4 +1,5 @@ -import { AppInterface } from '../../definition/metadata/AppInterface'; +import { AppInterface } from '@rocket.chat/apps-engine/definition/metadata/AppInterface'; + import { Utilities } from '../misc/Utilities'; export class AppImplements { diff --git a/packages/apps-engine/src/server/compiler/AppPackageParser.ts b/packages/apps/src/server/compiler/AppPackageParser.ts similarity index 80% rename from packages/apps-engine/src/server/compiler/AppPackageParser.ts rename to packages/apps/src/server/compiler/AppPackageParser.ts index 316f37079e75e..97018af67bcc9 100644 --- a/packages/apps-engine/src/server/compiler/AppPackageParser.ts +++ b/packages/apps/src/server/compiler/AppPackageParser.ts @@ -1,25 +1,21 @@ -import * as fs from 'fs'; import * as path from 'path'; -import * as AdmZip from 'adm-zip'; +import type { IAppInfo } from '@rocket.chat/apps-engine/definition/metadata/IAppInfo'; +import { ENGINE_VERSION } from '@rocket.chat/apps-engine/definition/version'; +import AdmZip from 'adm-zip'; import * as semver from 'semver'; import { v4 as uuidv4 } from 'uuid'; import { AppImplements } from '.'; import type { IParseAppPackageResult } from './IParseAppPackageResult'; -import type { IAppInfo } from '../../definition/metadata/IAppInfo'; import { RequiredApiVersionError } from '../errors'; export class AppPackageParser { - public static uuid4Regex = /^[0-9a-fA-f]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/; + public static uuid4Regex = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/; private allowedIconExts: Array = ['.png', '.jpg', '.jpeg', '.gif']; - private appsEngineVersion: string; - - constructor() { - this.appsEngineVersion = this.getEngineVersion(); - } + private appsEngineVersion: string = ENGINE_VERSION; public async unpackageApp(appPackage: Buffer): Promise { const zip = new AdmZip(appPackage); @@ -143,21 +139,4 @@ export class AppPackageParser { return `data:image/${ext.replace('.', '')};base64,${base64}`; } - - private getEngineVersion(): string { - const devLocation = path.join(__dirname, '../../../package.json'); - const prodLocation = path.join(__dirname, '../../package.json'); - - let info: { version: string }; - - if (fs.existsSync(devLocation)) { - info = JSON.parse(fs.readFileSync(devLocation, 'utf8')); - } else if (fs.existsSync(prodLocation)) { - info = JSON.parse(fs.readFileSync(prodLocation, 'utf8')); - } else { - throw new Error('Could not find the Apps TypeScript Definition Package Version!'); - } - - return info.version.replace(/^[^0-9]/, '').split('-')[0]; - } } diff --git a/packages/apps-engine/src/server/compiler/IParseAppPackageResult.ts b/packages/apps/src/server/compiler/IParseAppPackageResult.ts similarity index 74% rename from packages/apps-engine/src/server/compiler/IParseAppPackageResult.ts rename to packages/apps/src/server/compiler/IParseAppPackageResult.ts index 7c21bcb266d15..73f475e8c41f7 100644 --- a/packages/apps-engine/src/server/compiler/IParseAppPackageResult.ts +++ b/packages/apps/src/server/compiler/IParseAppPackageResult.ts @@ -1,5 +1,6 @@ +import type { IAppInfo } from '@rocket.chat/apps-engine/definition/metadata'; + import type { AppImplements } from './AppImplements'; -import type { IAppInfo } from '../../definition/metadata'; export interface IParseAppPackageResult { info: IAppInfo; diff --git a/packages/apps-engine/src/server/compiler/index.ts b/packages/apps/src/server/compiler/index.ts similarity index 99% rename from packages/apps-engine/src/server/compiler/index.ts rename to packages/apps/src/server/compiler/index.ts index 1fc627be0a7fe..dddff056423b0 100644 --- a/packages/apps-engine/src/server/compiler/index.ts +++ b/packages/apps/src/server/compiler/index.ts @@ -5,4 +5,5 @@ import { AppPackageParser } from './AppPackageParser'; import type { IParseAppPackageResult } from './IParseAppPackageResult'; export type { IParseAppPackageResult }; + export { AppCompiler, AppFabricationFulfillment, AppImplements, AppPackageParser }; diff --git a/packages/apps-engine/src/server/compiler/modules/index.ts b/packages/apps/src/server/compiler/modules/index.ts similarity index 100% rename from packages/apps-engine/src/server/compiler/modules/index.ts rename to packages/apps/src/server/compiler/modules/index.ts diff --git a/packages/apps-engine/src/server/compiler/modules/networking.ts b/packages/apps/src/server/compiler/modules/networking.ts similarity index 100% rename from packages/apps-engine/src/server/compiler/modules/networking.ts rename to packages/apps/src/server/compiler/modules/networking.ts diff --git a/packages/apps-engine/src/server/errors/AppOutboundProcessError.ts b/packages/apps/src/server/errors/AppOutboundProcessError.ts similarity index 100% rename from packages/apps-engine/src/server/errors/AppOutboundProcessError.ts rename to packages/apps/src/server/errors/AppOutboundProcessError.ts diff --git a/packages/apps-engine/src/server/errors/CommandAlreadyExistsError.ts b/packages/apps/src/server/errors/CommandAlreadyExistsError.ts similarity index 100% rename from packages/apps-engine/src/server/errors/CommandAlreadyExistsError.ts rename to packages/apps/src/server/errors/CommandAlreadyExistsError.ts diff --git a/packages/apps-engine/src/server/errors/CommandHasAlreadyBeenTouchedError.ts b/packages/apps/src/server/errors/CommandHasAlreadyBeenTouchedError.ts similarity index 100% rename from packages/apps-engine/src/server/errors/CommandHasAlreadyBeenTouchedError.ts rename to packages/apps/src/server/errors/CommandHasAlreadyBeenTouchedError.ts diff --git a/packages/apps-engine/src/server/errors/CompilerError.ts b/packages/apps/src/server/errors/CompilerError.ts similarity index 100% rename from packages/apps-engine/src/server/errors/CompilerError.ts rename to packages/apps/src/server/errors/CompilerError.ts diff --git a/packages/apps-engine/src/server/errors/InvalidInstallationError.ts b/packages/apps/src/server/errors/InvalidInstallationError.ts similarity index 100% rename from packages/apps-engine/src/server/errors/InvalidInstallationError.ts rename to packages/apps/src/server/errors/InvalidInstallationError.ts diff --git a/packages/apps-engine/src/server/errors/InvalidLicenseError.ts b/packages/apps/src/server/errors/InvalidLicenseError.ts similarity index 100% rename from packages/apps-engine/src/server/errors/InvalidLicenseError.ts rename to packages/apps/src/server/errors/InvalidLicenseError.ts diff --git a/packages/apps-engine/src/server/errors/MustContainFunctionError.ts b/packages/apps/src/server/errors/MustContainFunctionError.ts similarity index 100% rename from packages/apps-engine/src/server/errors/MustContainFunctionError.ts rename to packages/apps/src/server/errors/MustContainFunctionError.ts diff --git a/packages/apps-engine/src/server/errors/MustExtendAppError.ts b/packages/apps/src/server/errors/MustExtendAppError.ts similarity index 100% rename from packages/apps-engine/src/server/errors/MustExtendAppError.ts rename to packages/apps/src/server/errors/MustExtendAppError.ts diff --git a/packages/apps-engine/src/server/errors/NotEnoughMethodArgumentsError.ts b/packages/apps/src/server/errors/NotEnoughMethodArgumentsError.ts similarity index 100% rename from packages/apps-engine/src/server/errors/NotEnoughMethodArgumentsError.ts rename to packages/apps/src/server/errors/NotEnoughMethodArgumentsError.ts diff --git a/packages/apps-engine/src/server/errors/PathAlreadyExistsError.ts b/packages/apps/src/server/errors/PathAlreadyExistsError.ts similarity index 100% rename from packages/apps-engine/src/server/errors/PathAlreadyExistsError.ts rename to packages/apps/src/server/errors/PathAlreadyExistsError.ts diff --git a/packages/apps-engine/src/server/errors/PermissionDeniedError.ts b/packages/apps/src/server/errors/PermissionDeniedError.ts similarity index 88% rename from packages/apps-engine/src/server/errors/PermissionDeniedError.ts rename to packages/apps/src/server/errors/PermissionDeniedError.ts index 37ca3af77a1d8..c850bc7f6276f 100644 --- a/packages/apps-engine/src/server/errors/PermissionDeniedError.ts +++ b/packages/apps/src/server/errors/PermissionDeniedError.ts @@ -1,4 +1,4 @@ -import type { IPermission } from '../../definition/permissions/IPermission'; +import type { IPermission } from '@rocket.chat/apps-engine/definition/permissions/IPermission'; interface IPermissionDeniedErrorParams { appId: string; diff --git a/packages/apps-engine/src/server/errors/RequiredApiVersionError.ts b/packages/apps/src/server/errors/RequiredApiVersionError.ts similarity index 88% rename from packages/apps-engine/src/server/errors/RequiredApiVersionError.ts rename to packages/apps/src/server/errors/RequiredApiVersionError.ts index 832386ebfc66b..c12bf7ae4c33c 100644 --- a/packages/apps-engine/src/server/errors/RequiredApiVersionError.ts +++ b/packages/apps/src/server/errors/RequiredApiVersionError.ts @@ -1,7 +1,6 @@ +import type { IAppInfo } from '@rocket.chat/apps-engine/definition/metadata'; import * as semver from 'semver'; -import type { IAppInfo } from '../../definition/metadata'; - export class RequiredApiVersionError implements Error { public name = 'RequiredApiVersion'; diff --git a/packages/apps-engine/src/server/errors/VideoConfProviderAlreadyExistsError.ts b/packages/apps/src/server/errors/VideoConfProviderAlreadyExistsError.ts similarity index 100% rename from packages/apps-engine/src/server/errors/VideoConfProviderAlreadyExistsError.ts rename to packages/apps/src/server/errors/VideoConfProviderAlreadyExistsError.ts diff --git a/packages/apps-engine/src/server/errors/VideoConfProviderNotRegisteredError.ts b/packages/apps/src/server/errors/VideoConfProviderNotRegisteredError.ts similarity index 100% rename from packages/apps-engine/src/server/errors/VideoConfProviderNotRegisteredError.ts rename to packages/apps/src/server/errors/VideoConfProviderNotRegisteredError.ts diff --git a/packages/apps-engine/src/server/errors/index.ts b/packages/apps/src/server/errors/index.ts similarity index 100% rename from packages/apps-engine/src/server/errors/index.ts rename to packages/apps/src/server/errors/index.ts diff --git a/packages/apps-engine/src/server/logging/AppConsole.ts b/packages/apps/src/server/logging/AppConsole.ts similarity index 92% rename from packages/apps-engine/src/server/logging/AppConsole.ts rename to packages/apps/src/server/logging/AppConsole.ts index 2ae4b5cc1595c..3d4aabb6d31b0 100644 --- a/packages/apps-engine/src/server/logging/AppConsole.ts +++ b/packages/apps/src/server/logging/AppConsole.ts @@ -1,9 +1,9 @@ +import type { ILogEntry, ILogger } from '@rocket.chat/apps-engine/definition/accessors'; +import { LogMessageSeverity } from '@rocket.chat/apps-engine/definition/accessors'; +import type { AppMethod } from '@rocket.chat/apps-engine/definition/metadata'; import * as stackTrace from 'stack-trace'; import type { ILoggerStorageEntry } from './ILoggerStorageEntry'; -import type { ILogEntry, ILogger } from '../../definition/accessors'; -import { LogMessageSeverity } from '../../definition/accessors'; -import type { AppMethod } from '../../definition/metadata'; export class AppConsole implements ILogger { public static toStorageEntry(appId: string, logger: AppConsole): ILoggerStorageEntry { diff --git a/packages/apps-engine/src/server/logging/ILoggerStorageEntry.ts b/packages/apps/src/server/logging/ILoggerStorageEntry.ts similarity index 60% rename from packages/apps-engine/src/server/logging/ILoggerStorageEntry.ts rename to packages/apps/src/server/logging/ILoggerStorageEntry.ts index 6ec91157454b1..12c6f47dfb01d 100644 --- a/packages/apps-engine/src/server/logging/ILoggerStorageEntry.ts +++ b/packages/apps/src/server/logging/ILoggerStorageEntry.ts @@ -1,5 +1,5 @@ -import type { ILogEntry } from '../../definition/accessors'; -import type { AppMethod } from '../../definition/metadata'; +import type { ILogEntry } from '@rocket.chat/apps-engine/definition/accessors'; +import type { AppMethod } from '@rocket.chat/apps-engine/definition/metadata'; export interface ILoggerStorageEntry { appId: string; diff --git a/packages/apps-engine/src/server/logging/index.ts b/packages/apps/src/server/logging/index.ts similarity index 99% rename from packages/apps-engine/src/server/logging/index.ts rename to packages/apps/src/server/logging/index.ts index eca63724fb8c6..f9c8290ba48cc 100644 --- a/packages/apps-engine/src/server/logging/index.ts +++ b/packages/apps/src/server/logging/index.ts @@ -2,4 +2,5 @@ import { AppConsole } from './AppConsole'; import type { ILoggerStorageEntry } from './ILoggerStorageEntry'; export type { ILoggerStorageEntry }; + export { AppConsole }; diff --git a/packages/apps-engine/src/server/managers/AppAccessorManager.ts b/packages/apps/src/server/managers/AppAccessorManager.ts similarity index 99% rename from packages/apps-engine/src/server/managers/AppAccessorManager.ts rename to packages/apps/src/server/managers/AppAccessorManager.ts index 9247d83195c86..57681c85856d5 100644 --- a/packages/apps-engine/src/server/managers/AppAccessorManager.ts +++ b/packages/apps/src/server/managers/AppAccessorManager.ts @@ -8,7 +8,8 @@ import type { IModify, IPersistence, IRead, -} from '../../definition/accessors'; +} from '@rocket.chat/apps-engine/definition/accessors'; + import type { AppManager } from '../AppManager'; import { ApiExtend, diff --git a/packages/apps-engine/src/server/managers/AppApi.ts b/packages/apps/src/server/managers/AppApi.ts similarity index 77% rename from packages/apps-engine/src/server/managers/AppApi.ts rename to packages/apps/src/server/managers/AppApi.ts index 78d551fe0a50e..88205731dd0da 100644 --- a/packages/apps-engine/src/server/managers/AppApi.ts +++ b/packages/apps/src/server/managers/AppApi.ts @@ -1,7 +1,8 @@ -import type { IApi, IApiRequest, IApiResponse } from '../../definition/api'; -import { ApiSecurity, ApiVisibility } from '../../definition/api'; -import type { IApiEndpoint } from '../../definition/api/IApiEndpoint'; -import type { IApiEndpointInfo } from '../../definition/api/IApiEndpointInfo'; +import type { IApi, IApiRequest, IApiResponse } from '@rocket.chat/apps-engine/definition/api'; +import { ApiSecurity, ApiVisibility } from '@rocket.chat/apps-engine/definition/api'; +import type { IApiEndpoint } from '@rocket.chat/apps-engine/definition/api/IApiEndpoint'; +import type { IApiEndpointInfo } from '@rocket.chat/apps-engine/definition/api/IApiEndpointInfo'; + import type { ProxiedApp } from '../ProxiedApp'; import type { AppLogStorage } from '../storage'; import type { AppAccessorManager } from './AppAccessorManager'; @@ -40,7 +41,7 @@ export class AppApi { this.implementedMethods = endpoint._availableMethods; } - public async runExecutor(request: IApiRequest, logStorage: AppLogStorage, accessors: AppAccessorManager): Promise { + public async runExecutor(request: IApiRequest, _logStorage: AppLogStorage, _accessors: AppAccessorManager): Promise { const { path } = this.endpoint; const { method } = request; @@ -89,7 +90,7 @@ export class AppApi { return false; } - private validateSecurity(request: IApiRequest): boolean { + private validateSecurity(_request: IApiRequest): boolean { if (this.api.security === ApiSecurity.UNSECURE) { return true; } diff --git a/packages/apps-engine/src/server/managers/AppApiManager.ts b/packages/apps/src/server/managers/AppApiManager.ts similarity index 95% rename from packages/apps-engine/src/server/managers/AppApiManager.ts rename to packages/apps/src/server/managers/AppApiManager.ts index 71cdb569aaec5..e553eef9743ef 100644 --- a/packages/apps-engine/src/server/managers/AppApiManager.ts +++ b/packages/apps/src/server/managers/AppApiManager.ts @@ -1,6 +1,7 @@ -import { AppStatusUtils } from '../../definition/AppStatus'; -import { HttpStatusCode } from '../../definition/accessors'; -import type { IApi, IApiEndpointMetadata, IApiRequest, IApiResponse } from '../../definition/api'; +import { AppStatusUtils } from '@rocket.chat/apps-engine/definition/AppStatus'; +import { HttpStatusCode } from '@rocket.chat/apps-engine/definition/accessors'; +import type { IApi, IApiEndpointMetadata, IApiRequest, IApiResponse } from '@rocket.chat/apps-engine/definition/api'; + import type { AppManager } from '../AppManager'; import type { ApiBridge } from '../bridges'; import { PathAlreadyExistsError } from '../errors'; diff --git a/packages/apps-engine/src/server/managers/AppExternalComponentManager.ts b/packages/apps/src/server/managers/AppExternalComponentManager.ts similarity index 97% rename from packages/apps-engine/src/server/managers/AppExternalComponentManager.ts rename to packages/apps/src/server/managers/AppExternalComponentManager.ts index cb588cb8b873f..a03c984173863 100644 --- a/packages/apps-engine/src/server/managers/AppExternalComponentManager.ts +++ b/packages/apps/src/server/managers/AppExternalComponentManager.ts @@ -1,4 +1,4 @@ -import type { IExternalComponent } from '../../definition/externalComponent'; +import type { IExternalComponent } from '@rocket.chat/apps-engine/definition/externalComponent'; /** * The external component manager for the apps. diff --git a/packages/apps-engine/src/server/managers/AppLicenseManager.ts b/packages/apps/src/server/managers/AppLicenseManager.ts similarity index 100% rename from packages/apps-engine/src/server/managers/AppLicenseManager.ts rename to packages/apps/src/server/managers/AppLicenseManager.ts diff --git a/packages/apps-engine/src/server/managers/AppListenerManager.ts b/packages/apps/src/server/managers/AppListenerManager.ts similarity index 96% rename from packages/apps-engine/src/server/managers/AppListenerManager.ts rename to packages/apps/src/server/managers/AppListenerManager.ts index ca766678158aa..38061236a360f 100644 --- a/packages/apps-engine/src/server/managers/AppListenerManager.ts +++ b/packages/apps/src/server/managers/AppListenerManager.ts @@ -1,9 +1,13 @@ -import type { AppAccessorManager } from './AppAccessorManager'; -import type { IEmailDescriptor, IPreEmailSentContext } from '../../definition/email'; -import { EssentialAppDisabledException } from '../../definition/exceptions'; -import type { IExternalComponent } from '../../definition/externalComponent'; -import type { ILivechatEventContext, ILivechatRoom, ILivechatTransferEventContext, IVisitor } from '../../definition/livechat'; -import type { ILivechatDepartmentEventContext } from '../../definition/livechat/ILivechatEventContext'; +import type { IEmailDescriptor, IPreEmailSentContext } from '@rocket.chat/apps-engine/definition/email'; +import { EssentialAppDisabledException } from '@rocket.chat/apps-engine/definition/exceptions'; +import type { IExternalComponent } from '@rocket.chat/apps-engine/definition/externalComponent'; +import type { + ILivechatEventContext, + ILivechatRoom, + ILivechatTransferEventContext, + IVisitor, +} from '@rocket.chat/apps-engine/definition/livechat'; +import type { ILivechatDepartmentEventContext } from '@rocket.chat/apps-engine/definition/livechat/ILivechatEventContext'; import type { IMessage, IMessageDeleteContext, @@ -12,17 +16,22 @@ import type { IMessageReactionContext, IMessageReportContext, IMessageStarContext, -} from '../../definition/messages'; -import { AppInterface, AppMethod } from '../../definition/metadata'; -import type { IRoom, IRoomUserJoinedContext, IRoomUserLeaveContext } from '../../definition/rooms'; -import { RoomType } from '../../definition/rooms'; -import { UIActionButtonContext } from '../../definition/ui'; -import type { IUIKitResponse, IUIKitSurface, UIKitIncomingInteraction } from '../../definition/uikit'; -import { UIKitIncomingInteractionType } from '../../definition/uikit'; -import { isUIKitIncomingInteractionActionButtonMessageBox } from '../../definition/uikit/IUIKitIncomingInteractionActionButton'; -import type { IUIKitLivechatBlockIncomingInteraction, IUIKitLivechatIncomingInteraction } from '../../definition/uikit/livechat'; -import type { IFileUploadInternalContext } from '../../definition/uploads/IFileUploadContext'; -import type { IUser, IUserContext, IUserStatusContext, IUserUpdateContext } from '../../definition/users'; +} from '@rocket.chat/apps-engine/definition/messages'; +import { AppInterface, AppMethod } from '@rocket.chat/apps-engine/definition/metadata'; +import type { IRoom, IRoomUserJoinedContext, IRoomUserLeaveContext } from '@rocket.chat/apps-engine/definition/rooms'; +import { RoomType } from '@rocket.chat/apps-engine/definition/rooms'; +import { UIActionButtonContext } from '@rocket.chat/apps-engine/definition/ui'; +import type { IUIKitResponse, IUIKitSurface, UIKitIncomingInteraction } from '@rocket.chat/apps-engine/definition/uikit'; +import { UIKitIncomingInteractionType } from '@rocket.chat/apps-engine/definition/uikit'; +import { isUIKitIncomingInteractionActionButtonMessageBox } from '@rocket.chat/apps-engine/definition/uikit/IUIKitIncomingInteractionActionButton'; +import type { + IUIKitLivechatBlockIncomingInteraction, + IUIKitLivechatIncomingInteraction, +} from '@rocket.chat/apps-engine/definition/uikit/livechat'; +import type { IFileUploadInternalContext } from '@rocket.chat/apps-engine/definition/uploads/IFileUploadContext'; +import type { IUser, IUserContext, IUserStatusContext, IUserUpdateContext } from '@rocket.chat/apps-engine/definition/users'; + +import type { AppAccessorManager } from './AppAccessorManager'; import type { AppManager } from '../AppManager'; import type { ProxiedApp } from '../ProxiedApp'; import { Utilities } from '../misc/Utilities'; diff --git a/packages/apps-engine/src/server/managers/AppOutboundCommunicationProvider.ts b/packages/apps/src/server/managers/AppOutboundCommunicationProvider.ts similarity index 84% rename from packages/apps-engine/src/server/managers/AppOutboundCommunicationProvider.ts rename to packages/apps/src/server/managers/AppOutboundCommunicationProvider.ts index d868eda63d262..ad93ea1e4136c 100644 --- a/packages/apps-engine/src/server/managers/AppOutboundCommunicationProvider.ts +++ b/packages/apps/src/server/managers/AppOutboundCommunicationProvider.ts @@ -1,6 +1,11 @@ +import { AppMethod } from '@rocket.chat/apps-engine/definition/metadata'; +import type { + IOutboundMessage, + IOutboundMessageProviders, + ProviderMetadata, +} from '@rocket.chat/apps-engine/definition/outboundCommunication'; + import type { AppAccessorManager } from '.'; -import { AppMethod } from '../../definition/metadata'; -import type { IOutboundMessage, IOutboundMessageProviders, ProviderMetadata } from '../../definition/outboundCommunication'; import type { ProxiedApp } from '../ProxiedApp'; import { AppOutboundProcessError } from '../errors/AppOutboundProcessError'; import type { AppLogStorage } from '../storage'; @@ -25,8 +30,8 @@ export class OutboundMessageProvider { private async runTheCode( method: AppMethod._OUTBOUND_GET_PROVIDER_METADATA | AppMethod._OUTBOUND_SEND_MESSAGE, - logStorage: AppLogStorage, - accessors: AppAccessorManager, + _logStorage: AppLogStorage, + _accessors: AppAccessorManager, runContextArgs: Array, ): Promise { const provider = `${this.provider.name}-${this.provider.type}`; diff --git a/packages/apps-engine/src/server/managers/AppOutboundCommunicationProviderManager.ts b/packages/apps/src/server/managers/AppOutboundCommunicationProviderManager.ts similarity index 98% rename from packages/apps-engine/src/server/managers/AppOutboundCommunicationProviderManager.ts rename to packages/apps/src/server/managers/AppOutboundCommunicationProviderManager.ts index cd1b045e951b4..a4767c2ab665b 100644 --- a/packages/apps-engine/src/server/managers/AppOutboundCommunicationProviderManager.ts +++ b/packages/apps/src/server/managers/AppOutboundCommunicationProviderManager.ts @@ -1,11 +1,12 @@ -import type { AppAccessorManager } from '.'; import type { IOutboundMessageProviders, IOutboundEmailMessageProvider, IOutboundPhoneMessageProvider, ValidOutboundProvider, IOutboundMessage, -} from '../../definition/outboundCommunication'; +} from '@rocket.chat/apps-engine/definition/outboundCommunication'; + +import type { AppAccessorManager } from '.'; import type { AppManager } from '../AppManager'; import type { OutboundMessageBridge } from '../bridges'; import { OutboundMessageProvider } from './AppOutboundCommunicationProvider'; diff --git a/packages/apps-engine/src/server/managers/AppPermissionManager.ts b/packages/apps/src/server/managers/AppPermissionManager.ts similarity index 92% rename from packages/apps-engine/src/server/managers/AppPermissionManager.ts rename to packages/apps/src/server/managers/AppPermissionManager.ts index 310672d0ff81e..9d7adbe138749 100644 --- a/packages/apps-engine/src/server/managers/AppPermissionManager.ts +++ b/packages/apps/src/server/managers/AppPermissionManager.ts @@ -1,4 +1,5 @@ -import type { IPermission } from '../../definition/permissions/IPermission'; +import type { IPermission } from '@rocket.chat/apps-engine/definition/permissions/IPermission'; + import { getPermissionsByAppId } from '../AppManager'; import { PermissionDeniedError } from '../errors/PermissionDeniedError'; import { APPS_ENGINE_RUNTIME_FILE_PREFIX } from '../runtime/AppsEngineRuntime'; diff --git a/packages/apps-engine/src/server/managers/AppRuntimeManager.ts b/packages/apps/src/server/managers/AppRuntimeManager.ts similarity index 100% rename from packages/apps-engine/src/server/managers/AppRuntimeManager.ts rename to packages/apps/src/server/managers/AppRuntimeManager.ts diff --git a/packages/apps-engine/src/server/managers/AppSchedulerManager.ts b/packages/apps/src/server/managers/AppSchedulerManager.ts similarity index 95% rename from packages/apps-engine/src/server/managers/AppSchedulerManager.ts rename to packages/apps/src/server/managers/AppSchedulerManager.ts index 2e8535b5dd115..2af591964d6b4 100644 --- a/packages/apps-engine/src/server/managers/AppSchedulerManager.ts +++ b/packages/apps/src/server/managers/AppSchedulerManager.ts @@ -1,5 +1,6 @@ -import { AppStatus } from '../../definition/AppStatus'; -import type { IJobContext, IOnetimeSchedule, IProcessor, IRecurringSchedule } from '../../definition/scheduler'; +import { AppStatus } from '@rocket.chat/apps-engine/definition/AppStatus'; +import type { IJobContext, IOnetimeSchedule, IProcessor, IRecurringSchedule } from '@rocket.chat/apps-engine/definition/scheduler'; + import type { AppManager } from '../AppManager'; import type { IInternalSchedulerBridge } from '../bridges/IInternalSchedulerBridge'; import type { SchedulerBridge } from '../bridges/SchedulerBridge'; diff --git a/packages/apps-engine/src/server/managers/AppSettingsManager.ts b/packages/apps/src/server/managers/AppSettingsManager.ts similarity index 86% rename from packages/apps-engine/src/server/managers/AppSettingsManager.ts rename to packages/apps/src/server/managers/AppSettingsManager.ts index 64fb7b4cc1053..4247672f8338b 100644 --- a/packages/apps-engine/src/server/managers/AppSettingsManager.ts +++ b/packages/apps/src/server/managers/AppSettingsManager.ts @@ -1,6 +1,7 @@ -import { AppMethod } from '../../definition/metadata'; -import type { ISetting } from '../../definition/settings'; -import type { ISettingUpdateContext } from '../../definition/settings/ISettingUpdateContext'; +import { AppMethod } from '@rocket.chat/apps-engine/definition/metadata'; +import type { ISetting } from '@rocket.chat/apps-engine/definition/settings'; +import type { ISettingUpdateContext } from '@rocket.chat/apps-engine/definition/settings/ISettingUpdateContext'; + import type { AppManager } from '../AppManager'; import { Utilities } from '../misc/Utilities'; diff --git a/packages/apps-engine/src/server/managers/AppSignatureManager.ts b/packages/apps/src/server/managers/AppSignatureManager.ts similarity index 100% rename from packages/apps-engine/src/server/managers/AppSignatureManager.ts rename to packages/apps/src/server/managers/AppSignatureManager.ts diff --git a/packages/apps-engine/src/server/managers/AppSlashCommand.ts b/packages/apps/src/server/managers/AppSlashCommand.ts similarity index 90% rename from packages/apps-engine/src/server/managers/AppSlashCommand.ts rename to packages/apps/src/server/managers/AppSlashCommand.ts index 29ea0a5c3c635..a69f81112a970 100644 --- a/packages/apps-engine/src/server/managers/AppSlashCommand.ts +++ b/packages/apps/src/server/managers/AppSlashCommand.ts @@ -1,5 +1,11 @@ -import { AppMethod } from '../../definition/metadata'; -import type { ISlashCommand, ISlashCommandPreview, ISlashCommandPreviewItem, SlashCommandContext } from '../../definition/slashcommands'; +import { AppMethod } from '@rocket.chat/apps-engine/definition/metadata'; +import type { + ISlashCommand, + ISlashCommandPreview, + ISlashCommandPreviewItem, + SlashCommandContext, +} from '@rocket.chat/apps-engine/definition/slashcommands'; + import type { ProxiedApp } from '../ProxiedApp'; import type { AppLogStorage } from '../storage'; import type { AppAccessorManager } from './AppAccessorManager'; diff --git a/packages/apps-engine/src/server/managers/AppSlashCommandManager.ts b/packages/apps/src/server/managers/AppSlashCommandManager.ts similarity index 98% rename from packages/apps-engine/src/server/managers/AppSlashCommandManager.ts rename to packages/apps/src/server/managers/AppSlashCommandManager.ts index b5c5662adf2a7..41cac1ecdd966 100644 --- a/packages/apps-engine/src/server/managers/AppSlashCommandManager.ts +++ b/packages/apps/src/server/managers/AppSlashCommandManager.ts @@ -1,7 +1,8 @@ -import { AppStatusUtils } from '../../definition/AppStatus'; -import { AppMethod } from '../../definition/metadata'; -import type { ISlashCommand, ISlashCommandPreview, ISlashCommandPreviewItem } from '../../definition/slashcommands'; -import { SlashCommandContext } from '../../definition/slashcommands'; +import { AppStatusUtils } from '@rocket.chat/apps-engine/definition/AppStatus'; +import { AppMethod } from '@rocket.chat/apps-engine/definition/metadata'; +import type { ISlashCommand, ISlashCommandPreview, ISlashCommandPreviewItem } from '@rocket.chat/apps-engine/definition/slashcommands'; +import { SlashCommandContext } from '@rocket.chat/apps-engine/definition/slashcommands'; + import type { AppManager } from '../AppManager'; import type { CommandBridge } from '../bridges'; import { CommandAlreadyExistsError, CommandHasAlreadyBeenTouchedError } from '../errors'; diff --git a/packages/apps-engine/src/server/managers/AppVideoConfProvider.ts b/packages/apps/src/server/managers/AppVideoConfProvider.ts similarity index 89% rename from packages/apps-engine/src/server/managers/AppVideoConfProvider.ts rename to packages/apps/src/server/managers/AppVideoConfProvider.ts index 6c35c12319f68..13e263e796b24 100644 --- a/packages/apps-engine/src/server/managers/AppVideoConfProvider.ts +++ b/packages/apps/src/server/managers/AppVideoConfProvider.ts @@ -1,17 +1,18 @@ -import { AppMethod } from '../../definition/metadata'; -import type { IBlock } from '../../definition/uikit'; +import { AppMethod } from '@rocket.chat/apps-engine/definition/metadata'; +import type { IBlock } from '@rocket.chat/apps-engine/definition/uikit'; import type { IVideoConferenceOptions, IVideoConfProvider, VideoConfData, VideoConfDataExtended, -} from '../../definition/videoConfProviders'; -import type { VideoConference } from '../../definition/videoConferences'; -import type { IVideoConferenceUser } from '../../definition/videoConferences/IVideoConferenceUser'; +} from '@rocket.chat/apps-engine/definition/videoConfProviders'; +import type { VideoConference } from '@rocket.chat/apps-engine/definition/videoConferences'; +import type { IVideoConferenceUser } from '@rocket.chat/apps-engine/definition/videoConferences/IVideoConferenceUser'; + import type { ProxiedApp } from '../ProxiedApp'; +import type { AppAccessorManager } from './AppAccessorManager'; import { JSONRPC_METHOD_NOT_FOUND } from '../runtime/deno/AppsEngineDenoRuntime'; import type { AppLogStorage } from '../storage'; -import type { AppAccessorManager } from './AppAccessorManager'; export class AppVideoConfProvider { /** diff --git a/packages/apps-engine/src/server/managers/AppVideoConfProviderManager.ts b/packages/apps/src/server/managers/AppVideoConfProviderManager.ts similarity index 95% rename from packages/apps-engine/src/server/managers/AppVideoConfProviderManager.ts rename to packages/apps/src/server/managers/AppVideoConfProviderManager.ts index 03e5493e592fd..2a3ec752dd10c 100644 --- a/packages/apps-engine/src/server/managers/AppVideoConfProviderManager.ts +++ b/packages/apps/src/server/managers/AppVideoConfProviderManager.ts @@ -1,12 +1,13 @@ -import type { IBlock } from '../../definition/uikit'; +import type { IBlock } from '@rocket.chat/apps-engine/definition/uikit'; import type { IVideoConferenceOptions, IVideoConfProvider, VideoConfData, VideoConfDataExtended, -} from '../../definition/videoConfProviders'; -import type { VideoConference } from '../../definition/videoConferences'; -import type { IVideoConferenceUser } from '../../definition/videoConferences/IVideoConferenceUser'; +} from '@rocket.chat/apps-engine/definition/videoConfProviders'; +import type { VideoConference } from '@rocket.chat/apps-engine/definition/videoConferences'; +import type { IVideoConferenceUser } from '@rocket.chat/apps-engine/definition/videoConferences/IVideoConferenceUser'; + import type { AppManager } from '../AppManager'; import type { VideoConferenceBridge } from '../bridges'; import { VideoConfProviderAlreadyExistsError, VideoConfProviderNotRegisteredError } from '../errors'; diff --git a/packages/apps-engine/src/server/managers/UIActionButtonManager.ts b/packages/apps/src/server/managers/UIActionButtonManager.ts similarity index 95% rename from packages/apps-engine/src/server/managers/UIActionButtonManager.ts rename to packages/apps/src/server/managers/UIActionButtonManager.ts index 35cf2f9268573..2c18e912de98f 100644 --- a/packages/apps-engine/src/server/managers/UIActionButtonManager.ts +++ b/packages/apps/src/server/managers/UIActionButtonManager.ts @@ -1,5 +1,6 @@ -import { AppStatusUtils } from '../../definition/AppStatus'; -import type { IUIActionButton, IUIActionButtonDescriptor } from '../../definition/ui'; +import { AppStatusUtils } from '@rocket.chat/apps-engine/definition/AppStatus'; +import type { IUIActionButton, IUIActionButtonDescriptor } from '@rocket.chat/apps-engine/definition/ui'; + import type { AppManager } from '../AppManager'; import type { AppActivationBridge } from '../bridges'; import { AppPermissionManager } from './AppPermissionManager'; diff --git a/packages/apps-engine/src/server/managers/index.ts b/packages/apps/src/server/managers/index.ts similarity index 100% rename from packages/apps-engine/src/server/managers/index.ts rename to packages/apps/src/server/managers/index.ts diff --git a/packages/apps-engine/src/server/marketplace/IAppLicenseMetadata.ts b/packages/apps/src/server/marketplace/IAppLicenseMetadata.ts similarity index 100% rename from packages/apps-engine/src/server/marketplace/IAppLicenseMetadata.ts rename to packages/apps/src/server/marketplace/IAppLicenseMetadata.ts diff --git a/packages/apps-engine/src/server/marketplace/IMarketplaceInfo.ts b/packages/apps/src/server/marketplace/IMarketplaceInfo.ts similarity index 91% rename from packages/apps-engine/src/server/marketplace/IMarketplaceInfo.ts rename to packages/apps/src/server/marketplace/IMarketplaceInfo.ts index 40e8928d9df4f..aa4e84ab45a83 100644 --- a/packages/apps-engine/src/server/marketplace/IMarketplaceInfo.ts +++ b/packages/apps/src/server/marketplace/IMarketplaceInfo.ts @@ -1,8 +1,9 @@ +import type { IAppInfo } from '@rocket.chat/apps-engine/definition/metadata'; + import type { IMarketplacePricingPlan } from './IMarketplacePricingPlan'; import type { IMarketplaceSimpleBundleInfo } from './IMarketplaceSimpleBundleInfo'; import type { IMarketplaceSubscriptionInfo } from './IMarketplaceSubscriptionInfo'; import type { MarketplacePurchaseType } from './MarketplacePurchaseType'; -import type { IAppInfo } from '../../definition/metadata'; export interface IMarketplaceInfo extends IAppInfo { categories: Array; diff --git a/packages/apps-engine/src/server/marketplace/IMarketplacePricingPlan.ts b/packages/apps/src/server/marketplace/IMarketplacePricingPlan.ts similarity index 100% rename from packages/apps-engine/src/server/marketplace/IMarketplacePricingPlan.ts rename to packages/apps/src/server/marketplace/IMarketplacePricingPlan.ts diff --git a/packages/apps-engine/src/server/marketplace/IMarketplacePricingTier.ts b/packages/apps/src/server/marketplace/IMarketplacePricingTier.ts similarity index 100% rename from packages/apps-engine/src/server/marketplace/IMarketplacePricingTier.ts rename to packages/apps/src/server/marketplace/IMarketplacePricingTier.ts diff --git a/packages/apps-engine/src/server/marketplace/IMarketplaceSimpleBundleInfo.ts b/packages/apps/src/server/marketplace/IMarketplaceSimpleBundleInfo.ts similarity index 100% rename from packages/apps-engine/src/server/marketplace/IMarketplaceSimpleBundleInfo.ts rename to packages/apps/src/server/marketplace/IMarketplaceSimpleBundleInfo.ts diff --git a/packages/apps-engine/src/server/marketplace/IMarketplaceSubscriptionInfo.ts b/packages/apps/src/server/marketplace/IMarketplaceSubscriptionInfo.ts similarity index 100% rename from packages/apps-engine/src/server/marketplace/IMarketplaceSubscriptionInfo.ts rename to packages/apps/src/server/marketplace/IMarketplaceSubscriptionInfo.ts diff --git a/packages/apps-engine/src/server/marketplace/MarketplacePricingStrategy.ts b/packages/apps/src/server/marketplace/MarketplacePricingStrategy.ts similarity index 100% rename from packages/apps-engine/src/server/marketplace/MarketplacePricingStrategy.ts rename to packages/apps/src/server/marketplace/MarketplacePricingStrategy.ts diff --git a/packages/apps-engine/src/server/marketplace/MarketplacePurchaseType.ts b/packages/apps/src/server/marketplace/MarketplacePurchaseType.ts similarity index 100% rename from packages/apps-engine/src/server/marketplace/MarketplacePurchaseType.ts rename to packages/apps/src/server/marketplace/MarketplacePurchaseType.ts diff --git a/packages/apps-engine/src/server/marketplace/MarketplaceSubscriptionStatus.ts b/packages/apps/src/server/marketplace/MarketplaceSubscriptionStatus.ts similarity index 100% rename from packages/apps-engine/src/server/marketplace/MarketplaceSubscriptionStatus.ts rename to packages/apps/src/server/marketplace/MarketplaceSubscriptionStatus.ts diff --git a/packages/apps-engine/src/server/marketplace/MarketplaceSubscriptionType.ts b/packages/apps/src/server/marketplace/MarketplaceSubscriptionType.ts similarity index 100% rename from packages/apps-engine/src/server/marketplace/MarketplaceSubscriptionType.ts rename to packages/apps/src/server/marketplace/MarketplaceSubscriptionType.ts diff --git a/packages/apps-engine/src/server/marketplace/index.ts b/packages/apps/src/server/marketplace/index.ts similarity index 100% rename from packages/apps-engine/src/server/marketplace/index.ts rename to packages/apps/src/server/marketplace/index.ts diff --git a/packages/apps-engine/src/server/marketplace/license/AppLicenseValidationResult.ts b/packages/apps/src/server/marketplace/license/AppLicenseValidationResult.ts similarity index 100% rename from packages/apps-engine/src/server/marketplace/license/AppLicenseValidationResult.ts rename to packages/apps/src/server/marketplace/license/AppLicenseValidationResult.ts diff --git a/packages/apps-engine/src/server/marketplace/license/Crypto.ts b/packages/apps/src/server/marketplace/license/Crypto.ts similarity index 100% rename from packages/apps-engine/src/server/marketplace/license/Crypto.ts rename to packages/apps/src/server/marketplace/license/Crypto.ts diff --git a/packages/apps-engine/src/server/marketplace/license/index.ts b/packages/apps/src/server/marketplace/license/index.ts similarity index 100% rename from packages/apps-engine/src/server/marketplace/license/index.ts rename to packages/apps/src/server/marketplace/license/index.ts diff --git a/packages/apps-engine/src/server/messages/Message.ts b/packages/apps/src/server/messages/Message.ts similarity index 92% rename from packages/apps-engine/src/server/messages/Message.ts rename to packages/apps/src/server/messages/Message.ts index 60a18d07745eb..b6c8fa1de07ef 100644 --- a/packages/apps-engine/src/server/messages/Message.ts +++ b/packages/apps/src/server/messages/Message.ts @@ -1,7 +1,7 @@ +import type { IMessage, IMessageAttachment, IMessageFile, IMessageReactions } from '@rocket.chat/apps-engine/definition/messages'; +import type { IUser, IUserLookup } from '@rocket.chat/apps-engine/definition/users'; import type { LayoutBlock } from '@rocket.chat/ui-kit'; -import type { IMessage, IMessageAttachment, IMessageFile, IMessageReactions } from '../../definition/messages'; -import type { IUser, IUserLookup } from '../../definition/users'; import type { AppManager } from '../AppManager'; import { Room } from '../rooms/Room'; diff --git a/packages/apps-engine/src/server/misc/UIHelper.ts b/packages/apps/src/server/misc/UIHelper.ts similarity index 92% rename from packages/apps-engine/src/server/misc/UIHelper.ts rename to packages/apps/src/server/misc/UIHelper.ts index e71feb6c71b78..398a86124ef56 100644 --- a/packages/apps-engine/src/server/misc/UIHelper.ts +++ b/packages/apps/src/server/misc/UIHelper.ts @@ -1,8 +1,7 @@ +import type { IBlock } from '@rocket.chat/apps-engine/definition/uikit'; import type { LayoutBlock } from '@rocket.chat/ui-kit'; import { v4 as uuid } from 'uuid'; -import type { IBlock } from '../../definition/uikit'; - export class UIHelper { /** * Assign blockId, appId and actionId to every block/element inside the array diff --git a/packages/apps-engine/src/server/misc/Utilities.ts b/packages/apps/src/server/misc/Utilities.ts similarity index 100% rename from packages/apps-engine/src/server/misc/Utilities.ts rename to packages/apps/src/server/misc/Utilities.ts diff --git a/packages/apps/src/server/oauth2/OAuth2Client.ts b/packages/apps/src/server/oauth2/OAuth2Client.ts new file mode 100644 index 0000000000000..d6277bca86622 --- /dev/null +++ b/packages/apps/src/server/oauth2/OAuth2Client.ts @@ -0,0 +1 @@ +export { OAuth2Client, GrantType } from '@rocket.chat/apps-engine/definition/oauth2/OAuth2Client'; diff --git a/packages/apps-engine/src/server/permissions/AppPermissions.ts b/packages/apps/src/server/permissions/AppPermissions.ts similarity index 98% rename from packages/apps-engine/src/server/permissions/AppPermissions.ts rename to packages/apps/src/server/permissions/AppPermissions.ts index d92c282c3aa54..4e3b55e31fd86 100644 --- a/packages/apps-engine/src/server/permissions/AppPermissions.ts +++ b/packages/apps/src/server/permissions/AppPermissions.ts @@ -3,7 +3,7 @@ import type { IPermission, IReadSettingPermission, IWorkspaceTokenPermission, -} from '../../definition/permissions/IPermission'; +} from '@rocket.chat/apps-engine/definition/permissions/IPermission'; /** * @description diff --git a/packages/apps-engine/src/server/rooms/Room.ts b/packages/apps/src/server/rooms/Room.ts similarity index 93% rename from packages/apps-engine/src/server/rooms/Room.ts rename to packages/apps/src/server/rooms/Room.ts index 83568d0eae907..70d81d645826c 100644 --- a/packages/apps-engine/src/server/rooms/Room.ts +++ b/packages/apps/src/server/rooms/Room.ts @@ -1,5 +1,6 @@ -import type { IRoom, RoomType } from '../../definition/rooms'; -import type { IUser } from '../../definition/users'; +import type { IRoom, RoomType } from '@rocket.chat/apps-engine/definition/rooms'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; + import type { AppManager } from '../AppManager'; const PrivateManager = Symbol('RoomPrivateManager'); diff --git a/packages/apps-engine/src/server/runtime/AppsEngineEmptyRuntime.ts b/packages/apps/src/server/runtime/AppsEngineEmptyRuntime.ts similarity index 51% rename from packages/apps-engine/src/server/runtime/AppsEngineEmptyRuntime.ts rename to packages/apps/src/server/runtime/AppsEngineEmptyRuntime.ts index cfd2b86a9fa23..14040905b40c8 100644 --- a/packages/apps-engine/src/server/runtime/AppsEngineEmptyRuntime.ts +++ b/packages/apps/src/server/runtime/AppsEngineEmptyRuntime.ts @@ -1,13 +1,14 @@ +import type { App } from '@rocket.chat/apps-engine/definition/App'; + import type { IAppsEngineRuntimeOptions } from './AppsEngineRuntime'; import { AppsEngineRuntime } from './AppsEngineRuntime'; -import type { App } from '../../definition/App'; export class AppsEngineEmptyRuntime extends AppsEngineRuntime { - public static async runCode(code: string, sandbox?: Record, options?: IAppsEngineRuntimeOptions): Promise { + public static async runCode(_code: string, _sandbox?: Record, _options?: IAppsEngineRuntimeOptions): Promise { throw new Error('Empty runtime does not support code execution'); } - public static runCodeSync(code: string, sandbox?: Record, options?: IAppsEngineRuntimeOptions): any { + public static runCodeSync(_code: string, _sandbox?: Record, _options?: IAppsEngineRuntimeOptions): any { throw new Error('Empty runtime does not support code execution'); } @@ -15,7 +16,7 @@ export class AppsEngineEmptyRuntime extends AppsEngineRuntime { super(app, () => {}); } - public async runInSandbox(code: string, sandbox?: Record, options?: IAppsEngineRuntimeOptions): Promise { + public async runInSandbox(_code: string, _sandbox?: Record, _options?: IAppsEngineRuntimeOptions): Promise { return Promise.reject(new Error('Empty runtime does not support execution')); } } diff --git a/packages/apps-engine/src/server/runtime/AppsEngineNodeRuntime.ts b/packages/apps/src/server/runtime/AppsEngineNodeRuntime.ts similarity index 96% rename from packages/apps-engine/src/server/runtime/AppsEngineNodeRuntime.ts rename to packages/apps/src/server/runtime/AppsEngineNodeRuntime.ts index a686e154547af..b0cba60c912c1 100644 --- a/packages/apps-engine/src/server/runtime/AppsEngineNodeRuntime.ts +++ b/packages/apps/src/server/runtime/AppsEngineNodeRuntime.ts @@ -1,9 +1,10 @@ import * as timers from 'timers'; import * as vm from 'vm'; +import type { App } from '@rocket.chat/apps-engine/definition/App'; + import type { IAppsEngineRuntimeOptions } from './AppsEngineRuntime'; import { APPS_ENGINE_RUNTIME_DEFAULT_TIMEOUT, AppsEngineRuntime, getFilenameForApp } from './AppsEngineRuntime'; -import type { App } from '../../definition/App'; export class AppsEngineNodeRuntime extends AppsEngineRuntime { public static defaultRuntimeOptions = { diff --git a/packages/apps-engine/src/server/runtime/AppsEngineRuntime.ts b/packages/apps/src/server/runtime/AppsEngineRuntime.ts similarity index 66% rename from packages/apps-engine/src/server/runtime/AppsEngineRuntime.ts rename to packages/apps/src/server/runtime/AppsEngineRuntime.ts index 0b1c0e8a58ef0..d8e419b0ff3c8 100644 --- a/packages/apps-engine/src/server/runtime/AppsEngineRuntime.ts +++ b/packages/apps/src/server/runtime/AppsEngineRuntime.ts @@ -1,4 +1,4 @@ -import type { App } from '../../definition/App'; +import type { App } from '@rocket.chat/apps-engine/definition/App'; export const APPS_ENGINE_RUNTIME_DEFAULT_TIMEOUT = 1000; @@ -9,15 +9,15 @@ export function getFilenameForApp(filename: string): string { } export abstract class AppsEngineRuntime { - public static async runCode(code: string, sandbox?: Record, options?: IAppsEngineRuntimeOptions): Promise { + public static async runCode(_code: string, _sandbox?: Record, _options?: IAppsEngineRuntimeOptions): Promise { throw new Error(`Can't call this method on abstract class. Override it in a proper runtime class.`); } - public static runCodeSync(code: string, sandbox?: Record, options?: IAppsEngineRuntimeOptions): any { + public static runCodeSync(_code: string, _sandbox?: Record, _options?: IAppsEngineRuntimeOptions): any { throw new Error(`Can't call this method on abstract class. Override it in a proper runtime class.`); } - constructor(app: App, customRequire: (module: string) => any) {} + constructor(_app: App, _customRequire: (module: string) => any) {} public abstract runInSandbox(code: string, sandbox?: Record, options?: IAppsEngineRuntimeOptions): Promise; } diff --git a/packages/apps-engine/src/server/runtime/EmptyRuntime.ts b/packages/apps/src/server/runtime/EmptyRuntime.ts similarity index 89% rename from packages/apps-engine/src/server/runtime/EmptyRuntime.ts rename to packages/apps/src/server/runtime/EmptyRuntime.ts index e19f40e6d8165..6c7b11a778c28 100644 --- a/packages/apps-engine/src/server/runtime/EmptyRuntime.ts +++ b/packages/apps/src/server/runtime/EmptyRuntime.ts @@ -1,7 +1,8 @@ import { EventEmitter } from 'events'; +import { AppStatus } from '@rocket.chat/apps-engine/definition/AppStatus'; + import type { IRuntimeController, RuntimeRequestOptions } from './IRuntimeController'; -import { AppStatus } from '../../definition/AppStatus'; export class EmptyRuntime extends EventEmitter implements IRuntimeController { private readonly appId: string; @@ -21,7 +22,7 @@ export class EmptyRuntime extends EventEmitter implements IRuntimeController { /** * Stub implementation that throws an error since this runtime cannot handle requests */ - public async sendRequest(message: { method: string; params: any[] }, options?: RuntimeRequestOptions): Promise { + public async sendRequest(message: { method: string; params: any[] }, _options?: RuntimeRequestOptions): Promise { throw new Error(`EmptyRuntime cannot handle requests. Method: ${message.method}`); } diff --git a/packages/apps-engine/src/server/runtime/IRuntimeController.ts b/packages/apps/src/server/runtime/IRuntimeController.ts similarity index 88% rename from packages/apps-engine/src/server/runtime/IRuntimeController.ts rename to packages/apps/src/server/runtime/IRuntimeController.ts index 37d2270220795..69791e25e0ab8 100644 --- a/packages/apps-engine/src/server/runtime/IRuntimeController.ts +++ b/packages/apps/src/server/runtime/IRuntimeController.ts @@ -1,6 +1,6 @@ import type { EventEmitter } from 'events'; -import type { AppStatus } from '../../definition/AppStatus'; +import type { AppStatus } from '@rocket.chat/apps-engine/definition/AppStatus'; export type RuntimeRequestOptions = { timeout: number; diff --git a/packages/apps-engine/src/server/runtime/deno/AppsEngineDenoRuntime.ts b/packages/apps/src/server/runtime/deno/AppsEngineDenoRuntime.ts similarity index 89% rename from packages/apps-engine/src/server/runtime/deno/AppsEngineDenoRuntime.ts rename to packages/apps/src/server/runtime/deno/AppsEngineDenoRuntime.ts index c1dc65fc572b1..82822b0a296d3 100644 --- a/packages/apps-engine/src/server/runtime/deno/AppsEngineDenoRuntime.ts +++ b/packages/apps/src/server/runtime/deno/AppsEngineDenoRuntime.ts @@ -4,6 +4,8 @@ import * as path from 'path'; import { type Readable, EventEmitter } from 'stream'; import { inspect as utilInspect } from 'util'; +import { AppStatus, AppStatusUtils } from '@rocket.chat/apps-engine/definition/AppStatus'; +import type { AppMethod } from '@rocket.chat/apps-engine/definition/metadata'; import debugFactory from 'debug'; import * as jsonrpc from 'jsonrpc-lite'; @@ -11,8 +13,6 @@ import { LivenessManager } from './LivenessManager'; import { ProcessMessenger } from './ProcessMessenger'; import { bundleLegacyApp } from './bundler'; import { newDecoder } from './codec'; -import { AppStatus, AppStatusUtils } from '../../../definition/AppStatus'; -import type { AppMethod } from '../../../definition/metadata'; import type { AppManager } from '../../AppManager'; import type { AppBridges } from '../../bridges'; import type { IParseAppPackageResult } from '../../compiler'; @@ -20,6 +20,7 @@ import { AppConsole, type ILoggerStorageEntry } from '../../logging'; import type { AppAccessorManager, AppApiManager } from '../../managers'; import type { AppLogStorage, IAppStorageItem } from '../../storage'; import type { IRuntimeController } from '../IRuntimeController'; +import type { DenoConfigurationFileSchema } from './typings'; const baseDebug = debugFactory('appsEngine:runtime:deno'); @@ -58,7 +59,7 @@ const COMMAND_PONG = '_zPONG'; export const JSONRPC_METHOD_NOT_FOUND = -32601; -export function getRuntimeTimeout() { +function getRuntimeTimeout() { const defaultTimeout = 30000; const envValue = isFinite(process.env.APPS_ENGINE_RUNTIME_TIMEOUT as any) ? Number(process.env.APPS_ENGINE_RUNTIME_TIMEOUT) @@ -72,18 +73,49 @@ export function getRuntimeTimeout() { return envValue; } -export function isValidOrigin(accessor: string): accessor is (typeof ALLOWED_ACCESSOR_METHODS)[number] { +function isValidOrigin(accessor: string): accessor is (typeof ALLOWED_ACCESSOR_METHODS)[number] { return ALLOWED_ACCESSOR_METHODS.includes(accessor as any); } -export function getDenoConfigPath(): string { +function getDenoConfigPath(): string { + return require.resolve('../../../../deno-runtime/deno.jsonc'); +} + +/** + * Resolves the absolute path to @rocket.chat/apps-engine's src/ directory. + * Uses require.resolve so it works regardless of the runtime environment + * (monorepo dev, Meteor bundle, standalone node_modules). + */ +function getAppsEngineDir(): string { + return path.dirname(require.resolve('@rocket.chat/apps-engine/package.json')); +} + +/** + * Generates a runtime deno.jsonc at `/deno_runtime.jsonc` by reading + * the static config and injecting the resolved absolute path for + * `@rocket.chat/apps-engine/`. This makes deno-runtime location-independent: + * the path is always correct regardless of where this package is installed. + * + * Returns the path to the generated config file. + */ +function generateEphemeralDenoConfig(targetPath: string, denoConfigPath: string, appsEnginePath: string): void { + let staticConfig: DenoConfigurationFileSchema; + try { - // This path is relative to the compiled version of the Apps-Engine source - return require.resolve('../../../deno-runtime/deno.jsonc'); + staticConfig = JSON.parse(fs.readFileSync(denoConfigPath, 'utf8')); } catch { - // This path is relative to the original Apps-Engine files - used during tests - return require.resolve('../../../../deno-runtime/deno.jsonc'); + throw new Error(`Failed to read the static Deno config at "${denoConfigPath}"`); } + + const runtimeConfig = { + ...staticConfig, + imports: { + ...staticConfig.imports, + '@rocket.chat/apps-engine/': `${appsEnginePath}/`, + }, + }; + + fs.writeFileSync(targetPath, JSON.stringify(runtimeConfig, null, '\t')); } type AbortFunction = (reason?: any) => void; @@ -118,10 +150,20 @@ export class DenoRuntimeSubprocessController extends EventEmitter implements IRu private readonly tempFilePath: string; + private readonly denoBin = 'deno'; + private readonly denoRuntimePath: string; private readonly denoConfigPath: string; + private readonly denoEphemeralConfigPath: string; + + private readonly denoDir: string; + + private readonly appsEnginePath: string; + + private readonly packagePath: string; + constructor( manager: AppManager, // We need to keep the appSource around in case the Deno process needs to be restarted @@ -131,8 +173,14 @@ export class DenoRuntimeSubprocessController extends EventEmitter implements IRu super(); this.tempFilePath = manager.getTempFilePath(); - this.denoRuntimePath = path.join(this.tempFilePath, 'deno-runtime', 'main.ts'); this.denoConfigPath = getDenoConfigPath(); + this.appsEnginePath = getAppsEngineDir(); + + this.packagePath = path.join(path.dirname(this.denoConfigPath), '..'); + this.denoDir = process.env.DENO_DIR ?? path.join(this.packagePath, '.deno-cache'); + + this.denoRuntimePath = path.join(this.tempFilePath, 'deno-runtime', 'main.ts'); + this.denoEphemeralConfigPath = this.denoConfigPath.replace('.jsonc', '.runtime.jsonc'); /** * Deno 2.x refuses to run scripts inside the node_modules, so we create a symlink to the deno runtime files in the temp directory @@ -146,6 +194,9 @@ export class DenoRuntimeSubprocessController extends EventEmitter implements IRu } } + // Generate a runtime config with the resolved absolute path for @rocket.chat/apps-engine/ + generateEphemeralDenoConfig(this.denoEphemeralConfigPath, this.denoConfigPath, this.appsEnginePath); + this.debug = baseDebug.extend(appPackage.info.id); this.messenger = new ProcessMessenger(); this.livenessManager = new LivenessManager({ @@ -164,25 +215,15 @@ export class DenoRuntimeSubprocessController extends EventEmitter implements IRu public spawnProcess(): void { try { - const denoExePath = 'deno'; - - const denoWrapperPath = this.denoRuntimePath; - // During development, the appsEngineDir is enough to run the deno process - const appsEngineDir = path.dirname(path.join(this.denoConfigPath, '..')); - const DENO_DIR = process.env.DENO_DIR ?? path.join(appsEngineDir, '.deno-cache'); - // When running in production, we're likely inside a node_modules which the Deno - // process must be able to read in order to include files that use NPM packages - const parentNodeModulesDir = path.dirname(path.join(appsEngineDir, '..')); - - const allowedDirs = [appsEngineDir, parentNodeModulesDir, this.tempFilePath]; + const allowedDirs = [this.tempFilePath, this.denoDir, this.packagePath, this.appsEnginePath]; const options = [ 'run', '--cached-only', - `--config=${this.denoConfigPath}`, + `--config=${this.denoEphemeralConfigPath}`, `--allow-read=${allowedDirs.join(',')}`, `--allow-env=${ALLOWED_ENVIRONMENT_VARIABLES.join(',')}`, - denoWrapperPath, + this.denoRuntimePath, '--subprocess', this.appPackage.info.id, '--spawnId', @@ -200,12 +241,12 @@ export class DenoRuntimeSubprocessController extends EventEmitter implements IRu // We need to pass the PATH, otherwise the shell won't find the deno executable // But the runtime itself won't have access to the env var because of the parameters PATH: process.env.PATH, - DENO_DIR, + DENO_DIR: this.denoDir, }, }; // SECURITY: We control the command, the arguments and the script that will be executed. - this.deno = child_process.spawn(denoExePath, options, environment); + this.deno = child_process.spawn(this.denoBin, options, environment); this.messenger.setReceiver(this.deno); this.livenessManager.attach(this.deno); diff --git a/packages/apps-engine/src/server/runtime/deno/LivenessManager.ts b/packages/apps/src/server/runtime/deno/LivenessManager.ts similarity index 100% rename from packages/apps-engine/src/server/runtime/deno/LivenessManager.ts rename to packages/apps/src/server/runtime/deno/LivenessManager.ts diff --git a/packages/apps-engine/src/server/runtime/deno/ProcessMessenger.ts b/packages/apps/src/server/runtime/deno/ProcessMessenger.ts similarity index 100% rename from packages/apps-engine/src/server/runtime/deno/ProcessMessenger.ts rename to packages/apps/src/server/runtime/deno/ProcessMessenger.ts diff --git a/packages/apps-engine/src/server/runtime/deno/bundler.ts b/packages/apps/src/server/runtime/deno/bundler.ts similarity index 100% rename from packages/apps-engine/src/server/runtime/deno/bundler.ts rename to packages/apps/src/server/runtime/deno/bundler.ts diff --git a/packages/apps-engine/src/server/runtime/deno/codec.ts b/packages/apps/src/server/runtime/deno/codec.ts similarity index 100% rename from packages/apps-engine/src/server/runtime/deno/codec.ts rename to packages/apps/src/server/runtime/deno/codec.ts diff --git a/packages/apps/src/server/runtime/deno/typings.ts b/packages/apps/src/server/runtime/deno/typings.ts new file mode 100644 index 0000000000000..47aeb1cd1caba --- /dev/null +++ b/packages/apps/src/server/runtime/deno/typings.ts @@ -0,0 +1,24 @@ +export type DenoConfigurationFileSchema = { + compilerOptions?: Record> | Record>; + importMap?: string; + imports?: Record; + scopes?: Record>; + exclude?: string[]; + lint?: Record> | Record>; + fmt?: Record> | Record>; + minimumDependencyAge?: any; + nodeModulesDir?: any; + vendor?: boolean; + tasks?: Record; + test?: Record> | Record>; + publish?: any; + bench?: Record> | Record>; + lock?: string | boolean | { path: string; frozen?: boolean }; + unstable?: string[]; + name?: string; + version?: string; + exports?: string | Record; + permissions?: Record; + patch?: string[]; + links?: string[]; +}; diff --git a/packages/apps-engine/src/server/storage/AppLogStorage.ts b/packages/apps/src/server/storage/AppLogStorage.ts similarity index 100% rename from packages/apps-engine/src/server/storage/AppLogStorage.ts rename to packages/apps/src/server/storage/AppLogStorage.ts diff --git a/packages/apps-engine/src/server/storage/AppMetadataStorage.ts b/packages/apps/src/server/storage/AppMetadataStorage.ts similarity index 82% rename from packages/apps-engine/src/server/storage/AppMetadataStorage.ts rename to packages/apps/src/server/storage/AppMetadataStorage.ts index 6eab3603da6b4..39767839389e5 100644 --- a/packages/apps-engine/src/server/storage/AppMetadataStorage.ts +++ b/packages/apps/src/server/storage/AppMetadataStorage.ts @@ -1,7 +1,8 @@ +import type { AppStatus } from '@rocket.chat/apps-engine/definition/AppStatus'; +import type { IAppInfo } from '@rocket.chat/apps-engine/definition/metadata/IAppInfo'; +import type { ISetting } from '@rocket.chat/apps-engine/definition/settings'; + import type { IAppStorageItem } from './IAppStorageItem'; -import type { AppStatus } from '../../definition/AppStatus'; -import type { IAppInfo } from '../../definition/metadata/IAppInfo'; -import type { ISetting } from '../../definition/settings'; import type { IMarketplaceInfo } from '../marketplace'; export abstract class AppMetadataStorage { diff --git a/packages/apps-engine/src/server/storage/AppSourceStorage.ts b/packages/apps/src/server/storage/AppSourceStorage.ts similarity index 100% rename from packages/apps-engine/src/server/storage/AppSourceStorage.ts rename to packages/apps/src/server/storage/AppSourceStorage.ts diff --git a/packages/apps-engine/src/server/storage/IAppStorageItem.ts b/packages/apps/src/server/storage/IAppStorageItem.ts similarity index 67% rename from packages/apps-engine/src/server/storage/IAppStorageItem.ts rename to packages/apps/src/server/storage/IAppStorageItem.ts index 2ac4469b6f51c..db44ae5e21a66 100644 --- a/packages/apps-engine/src/server/storage/IAppStorageItem.ts +++ b/packages/apps/src/server/storage/IAppStorageItem.ts @@ -1,7 +1,8 @@ -import type { AppStatus } from '../../definition/AppStatus'; -import type { IAppInfo } from '../../definition/metadata'; -import type { IPermission } from '../../definition/permissions/IPermission'; -import type { ISetting } from '../../definition/settings'; +import type { AppStatus } from '@rocket.chat/apps-engine/definition/AppStatus'; +import type { IAppInfo } from '@rocket.chat/apps-engine/definition/metadata'; +import type { IPermission } from '@rocket.chat/apps-engine/definition/permissions/IPermission'; +import type { ISetting } from '@rocket.chat/apps-engine/definition/settings'; + import type { IMarketplaceInfo } from '../marketplace'; export interface IAppStorageItem { diff --git a/packages/apps-engine/src/server/storage/index.ts b/packages/apps/src/server/storage/index.ts similarity index 100% rename from packages/apps-engine/src/server/storage/index.ts rename to packages/apps/src/server/storage/index.ts diff --git a/packages/apps-engine/tests/server/AppManager.test.ts b/packages/apps/tests/server/AppManager.test.ts similarity index 100% rename from packages/apps-engine/tests/server/AppManager.test.ts rename to packages/apps/tests/server/AppManager.test.ts diff --git a/packages/apps-engine/tests/server/accessors/AppAccessors.test.ts b/packages/apps/tests/server/accessors/AppAccessors.test.ts similarity index 96% rename from packages/apps-engine/tests/server/accessors/AppAccessors.test.ts rename to packages/apps/tests/server/accessors/AppAccessors.test.ts index db0e16d415bad..9cd414de009fa 100644 --- a/packages/apps-engine/tests/server/accessors/AppAccessors.test.ts +++ b/packages/apps/tests/server/accessors/AppAccessors.test.ts @@ -1,8 +1,9 @@ import * as assert from 'node:assert'; import { afterEach, beforeEach, describe, it, mock } from 'node:test'; -import { AppStatus } from '../../../src/definition/AppStatus'; -import type { AppMethod } from '../../../src/definition/metadata'; +import { AppStatus } from '@rocket.chat/apps-engine/definition/AppStatus'; +import type { AppMethod } from '@rocket.chat/apps-engine/definition/metadata'; + import type { AppManager } from '../../../src/server/AppManager'; import type { ProxiedApp } from '../../../src/server/ProxiedApp'; import { AppAccessors } from '../../../src/server/accessors'; diff --git a/packages/apps-engine/tests/server/accessors/ConfigurationExtend.test.ts b/packages/apps/tests/server/accessors/ConfigurationExtend.test.ts similarity index 96% rename from packages/apps-engine/tests/server/accessors/ConfigurationExtend.test.ts rename to packages/apps/tests/server/accessors/ConfigurationExtend.test.ts index a32d55a88b63d..fda3204f9d0c4 100644 --- a/packages/apps-engine/tests/server/accessors/ConfigurationExtend.test.ts +++ b/packages/apps/tests/server/accessors/ConfigurationExtend.test.ts @@ -11,7 +11,8 @@ import type { ISlashCommandsExtend, IUIExtend, IVideoConfProvidersExtend, -} from '../../../src/definition/accessors'; +} from '@rocket.chat/apps-engine/definition/accessors'; + import { ConfigurationExtend } from '../../../src/server/accessors'; describe('ConfigurationExtend', () => { diff --git a/packages/apps-engine/tests/server/accessors/ConfigurationModify.test.ts b/packages/apps/tests/server/accessors/ConfigurationModify.test.ts similarity index 92% rename from packages/apps-engine/tests/server/accessors/ConfigurationModify.test.ts rename to packages/apps/tests/server/accessors/ConfigurationModify.test.ts index 7ed11b6844a39..96d8439638d7f 100644 --- a/packages/apps-engine/tests/server/accessors/ConfigurationModify.test.ts +++ b/packages/apps/tests/server/accessors/ConfigurationModify.test.ts @@ -1,7 +1,8 @@ import * as assert from 'node:assert'; import { describe, it, beforeEach } from 'node:test'; -import type { ISchedulerModify, IServerSettingsModify, ISlashCommandsModify } from '../../../src/definition/accessors'; +import type { ISchedulerModify, IServerSettingsModify, ISlashCommandsModify } from '@rocket.chat/apps-engine/definition/accessors'; + import { ConfigurationModify } from '../../../src/server/accessors'; describe('ConfigurationModify', () => { diff --git a/packages/apps-engine/tests/server/accessors/EnvironmentRead.test.ts b/packages/apps/tests/server/accessors/EnvironmentRead.test.ts similarity index 90% rename from packages/apps-engine/tests/server/accessors/EnvironmentRead.test.ts rename to packages/apps/tests/server/accessors/EnvironmentRead.test.ts index 49074a0abb962..df41ac7a72989 100644 --- a/packages/apps-engine/tests/server/accessors/EnvironmentRead.test.ts +++ b/packages/apps/tests/server/accessors/EnvironmentRead.test.ts @@ -1,7 +1,8 @@ import * as assert from 'node:assert'; import { describe, it } from 'node:test'; -import type { IEnvironmentalVariableRead, IServerSettingRead, ISettingRead } from '../../../src/definition/accessors'; +import type { IEnvironmentalVariableRead, IServerSettingRead, ISettingRead } from '@rocket.chat/apps-engine/definition/accessors'; + import { EnvironmentRead } from '../../../src/server/accessors'; describe('EnvironmentRead', () => { diff --git a/packages/apps-engine/tests/server/accessors/EnvironmentWrite.test.ts b/packages/apps/tests/server/accessors/EnvironmentWrite.test.ts similarity index 83% rename from packages/apps-engine/tests/server/accessors/EnvironmentWrite.test.ts rename to packages/apps/tests/server/accessors/EnvironmentWrite.test.ts index 50557b6ba0f2b..b7f2ce4ae8d78 100644 --- a/packages/apps-engine/tests/server/accessors/EnvironmentWrite.test.ts +++ b/packages/apps/tests/server/accessors/EnvironmentWrite.test.ts @@ -1,7 +1,8 @@ import * as assert from 'node:assert'; import { describe, it } from 'node:test'; -import type { IServerSettingUpdater, ISettingUpdater } from '../../../src/definition/accessors'; +import type { IServerSettingUpdater, ISettingUpdater } from '@rocket.chat/apps-engine/definition/accessors'; + import { EnvironmentWrite } from '../../../src/server/accessors'; describe('EnvironmentWrite', () => { diff --git a/packages/apps-engine/tests/server/accessors/EnvironmentalVariableRead.test.ts b/packages/apps/tests/server/accessors/EnvironmentalVariableRead.test.ts similarity index 100% rename from packages/apps-engine/tests/server/accessors/EnvironmentalVariableRead.test.ts rename to packages/apps/tests/server/accessors/EnvironmentalVariableRead.test.ts diff --git a/packages/apps-engine/tests/server/accessors/Http.test.ts b/packages/apps/tests/server/accessors/Http.test.ts similarity index 99% rename from packages/apps-engine/tests/server/accessors/Http.test.ts rename to packages/apps/tests/server/accessors/Http.test.ts index ac2abde9d5098..69d5ffd94afdb 100644 --- a/packages/apps-engine/tests/server/accessors/Http.test.ts +++ b/packages/apps/tests/server/accessors/Http.test.ts @@ -9,7 +9,8 @@ import type { IHttpResponse, IPersistence, IRead, -} from '../../../src/definition/accessors'; +} from '@rocket.chat/apps-engine/definition/accessors'; + import { Http, HttpExtend } from '../../../src/server/accessors'; import type { AppBridges, HttpBridge, IHttpBridgeRequestInfo } from '../../../src/server/bridges'; import type { AppAccessorManager } from '../../../src/server/managers'; diff --git a/packages/apps-engine/tests/server/accessors/HttpExtend.test.ts b/packages/apps/tests/server/accessors/HttpExtend.test.ts similarity index 97% rename from packages/apps-engine/tests/server/accessors/HttpExtend.test.ts rename to packages/apps/tests/server/accessors/HttpExtend.test.ts index 7a393ca7bd626..4f80e69e13924 100644 --- a/packages/apps-engine/tests/server/accessors/HttpExtend.test.ts +++ b/packages/apps/tests/server/accessors/HttpExtend.test.ts @@ -1,7 +1,8 @@ import * as assert from 'node:assert'; import { describe, it } from 'node:test'; -import type { IHttpPreRequestHandler, IHttpPreResponseHandler } from '../../../src/definition/accessors'; +import type { IHttpPreRequestHandler, IHttpPreResponseHandler } from '@rocket.chat/apps-engine/definition/accessors'; + import { HttpExtend } from '../../../src/server/accessors'; describe('HttpExtend', () => { diff --git a/packages/apps-engine/tests/server/accessors/MessageBuilder.test.ts b/packages/apps/tests/server/accessors/MessageBuilder.test.ts similarity index 97% rename from packages/apps-engine/tests/server/accessors/MessageBuilder.test.ts rename to packages/apps/tests/server/accessors/MessageBuilder.test.ts index 36cf2a40bcfb6..e73d04b856874 100644 --- a/packages/apps-engine/tests/server/accessors/MessageBuilder.test.ts +++ b/packages/apps/tests/server/accessors/MessageBuilder.test.ts @@ -1,8 +1,9 @@ import * as assert from 'node:assert'; import { describe, it } from 'node:test'; -import type { IMessage } from '../../../src/definition/messages'; -import type { IUser } from '../../../src/definition/users'; +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; + import { MessageBuilder, UserBuilder } from '../../../src/server/accessors'; import { TestData } from '../../test-data/utilities'; diff --git a/packages/apps-engine/tests/server/accessors/MessageExtender.test.ts b/packages/apps/tests/server/accessors/MessageExtender.test.ts similarity index 94% rename from packages/apps-engine/tests/server/accessors/MessageExtender.test.ts rename to packages/apps/tests/server/accessors/MessageExtender.test.ts index 5d2d715b9d3f0..2031e41598b1d 100644 --- a/packages/apps-engine/tests/server/accessors/MessageExtender.test.ts +++ b/packages/apps/tests/server/accessors/MessageExtender.test.ts @@ -1,7 +1,8 @@ import * as assert from 'node:assert'; import { describe, it } from 'node:test'; -import type { IMessage } from '../../../src/definition/messages'; +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages'; + import { MessageExtender } from '../../../src/server/accessors'; import { TestData } from '../../test-data/utilities'; diff --git a/packages/apps-engine/tests/server/accessors/MessageRead.test.ts b/packages/apps/tests/server/accessors/MessageRead.test.ts similarity index 95% rename from packages/apps-engine/tests/server/accessors/MessageRead.test.ts rename to packages/apps/tests/server/accessors/MessageRead.test.ts index f078de27243e2..30ab6affa4df6 100644 --- a/packages/apps-engine/tests/server/accessors/MessageRead.test.ts +++ b/packages/apps/tests/server/accessors/MessageRead.test.ts @@ -1,7 +1,8 @@ import * as assert from 'node:assert'; import { describe, it } from 'node:test'; -import type { IMessage } from '../../../src/definition/messages'; +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages'; + import { MessageRead } from '../../../src/server/accessors'; import type { MessageBridge } from '../../../src/server/bridges'; import { TestData } from '../../test-data/utilities'; diff --git a/packages/apps-engine/tests/server/accessors/Modify.test.ts b/packages/apps/tests/server/accessors/Modify.test.ts similarity index 100% rename from packages/apps-engine/tests/server/accessors/Modify.test.ts rename to packages/apps/tests/server/accessors/Modify.test.ts diff --git a/packages/apps-engine/tests/server/accessors/ModifyCreator.test.ts b/packages/apps/tests/server/accessors/ModifyCreator.test.ts similarity index 91% rename from packages/apps-engine/tests/server/accessors/ModifyCreator.test.ts rename to packages/apps/tests/server/accessors/ModifyCreator.test.ts index 45795156a97bf..ea3d49c15894b 100644 --- a/packages/apps-engine/tests/server/accessors/ModifyCreator.test.ts +++ b/packages/apps/tests/server/accessors/ModifyCreator.test.ts @@ -1,11 +1,12 @@ import * as assert from 'node:assert'; import { afterEach, beforeEach, describe, it, mock } from 'node:test'; -import type { IMessage } from '../../../src/definition/messages'; -import type { IRoom } from '../../../src/definition/rooms'; -import { RoomType } from '../../../src/definition/rooms'; -import type { IUser } from '../../../src/definition/users'; -import { UserStatusConnection, UserType } from '../../../src/definition/users'; +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms'; +import { RoomType } from '@rocket.chat/apps-engine/definition/rooms'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; +import { UserStatusConnection, UserType } from '@rocket.chat/apps-engine/definition/users'; + import { ModifyCreator } from '../../../src/server/accessors'; import type { AppBridges, MessageBridge, RoomBridge, UserBridge } from '../../../src/server/bridges'; import { TestData } from '../../test-data/utilities'; diff --git a/packages/apps-engine/tests/server/accessors/ModifyExtender.test.ts b/packages/apps/tests/server/accessors/ModifyExtender.test.ts similarity index 94% rename from packages/apps-engine/tests/server/accessors/ModifyExtender.test.ts rename to packages/apps/tests/server/accessors/ModifyExtender.test.ts index 9cba676fda909..f355661c42cd6 100644 --- a/packages/apps-engine/tests/server/accessors/ModifyExtender.test.ts +++ b/packages/apps/tests/server/accessors/ModifyExtender.test.ts @@ -1,8 +1,9 @@ import * as assert from 'node:assert'; import { afterEach, beforeEach, describe, it, mock } from 'node:test'; -import type { IMessage } from '../../../src/definition/messages'; -import type { IRoom } from '../../../src/definition/rooms'; +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms'; + import { ModifyExtender } from '../../../src/server/accessors'; import type { AppBridges, MessageBridge, RoomBridge } from '../../../src/server/bridges'; import { TestData } from '../../test-data/utilities'; diff --git a/packages/apps-engine/tests/server/accessors/ModifyUpdater.test.ts b/packages/apps/tests/server/accessors/ModifyUpdater.test.ts similarity index 94% rename from packages/apps-engine/tests/server/accessors/ModifyUpdater.test.ts rename to packages/apps/tests/server/accessors/ModifyUpdater.test.ts index cf4b2dd64d415..e3c31bb450ddf 100644 --- a/packages/apps-engine/tests/server/accessors/ModifyUpdater.test.ts +++ b/packages/apps/tests/server/accessors/ModifyUpdater.test.ts @@ -1,10 +1,11 @@ import * as assert from 'node:assert'; import { afterEach, beforeEach, describe, it, mock } from 'node:test'; -import type { ILivechatRoom } from '../../../src/definition/livechat/ILivechatRoom'; -import type { IMessage } from '../../../src/definition/messages'; -import type { IRoom } from '../../../src/definition/rooms'; -import { RoomType } from '../../../src/definition/rooms'; +import type { ILivechatRoom } from '@rocket.chat/apps-engine/definition/livechat/ILivechatRoom'; +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms'; +import { RoomType } from '@rocket.chat/apps-engine/definition/rooms'; + import { MessageBuilder, ModifyUpdater, RoomBuilder } from '../../../src/server/accessors'; import type { AppBridges, MessageBridge, RoomBridge } from '../../../src/server/bridges'; import { TestData } from '../../test-data/utilities'; diff --git a/packages/apps-engine/tests/server/accessors/Notifier.test.ts b/packages/apps/tests/server/accessors/Notifier.test.ts similarity index 89% rename from packages/apps-engine/tests/server/accessors/Notifier.test.ts rename to packages/apps/tests/server/accessors/Notifier.test.ts index e2c6c368c0899..fd22099a3fdb4 100644 --- a/packages/apps-engine/tests/server/accessors/Notifier.test.ts +++ b/packages/apps/tests/server/accessors/Notifier.test.ts @@ -1,9 +1,10 @@ import * as assert from 'node:assert'; import { describe, it, mock } from 'node:test'; -import type { IMessage } from '../../../src/definition/messages'; -import type { IRoom } from '../../../src/definition/rooms'; -import type { IUser } from '../../../src/definition/users'; +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; + import { MessageBuilder, Notifier } from '../../../src/server/accessors'; import type { MessageBridge, UserBridge } from '../../../src/server/bridges'; import { TestData } from '../../test-data/utilities'; diff --git a/packages/apps-engine/tests/server/accessors/Persistence.test.ts b/packages/apps/tests/server/accessors/Persistence.test.ts similarity index 98% rename from packages/apps-engine/tests/server/accessors/Persistence.test.ts rename to packages/apps/tests/server/accessors/Persistence.test.ts index fe3744288f5cd..f101139363b2c 100644 --- a/packages/apps-engine/tests/server/accessors/Persistence.test.ts +++ b/packages/apps/tests/server/accessors/Persistence.test.ts @@ -1,7 +1,8 @@ import * as assert from 'node:assert'; import { afterEach, beforeEach, describe, it, mock } from 'node:test'; -import { RocketChatAssociationModel, RocketChatAssociationRecord } from '../../../src/definition/metadata'; +import { RocketChatAssociationModel, RocketChatAssociationRecord } from '@rocket.chat/apps-engine/definition/metadata'; + import { Persistence } from '../../../src/server/accessors'; import type { PersistenceBridge } from '../../../src/server/bridges'; diff --git a/packages/apps-engine/tests/server/accessors/PersistenceRead.test.ts b/packages/apps/tests/server/accessors/PersistenceRead.test.ts similarity index 91% rename from packages/apps-engine/tests/server/accessors/PersistenceRead.test.ts rename to packages/apps/tests/server/accessors/PersistenceRead.test.ts index cb7311738165c..865b19abdfa17 100644 --- a/packages/apps-engine/tests/server/accessors/PersistenceRead.test.ts +++ b/packages/apps/tests/server/accessors/PersistenceRead.test.ts @@ -1,7 +1,8 @@ import * as assert from 'node:assert'; import { describe, it } from 'node:test'; -import type { RocketChatAssociationRecord } from '../../../src/definition/metadata'; +import type { RocketChatAssociationRecord } from '@rocket.chat/apps-engine/definition/metadata'; + import { PersistenceRead } from '../../../src/server/accessors'; import type { PersistenceBridge } from '../../../src/server/bridges'; diff --git a/packages/apps-engine/tests/server/accessors/Reader.test.ts b/packages/apps/tests/server/accessors/Reader.test.ts similarity index 83% rename from packages/apps-engine/tests/server/accessors/Reader.test.ts rename to packages/apps/tests/server/accessors/Reader.test.ts index 2cd251df71705..cbfdf00256fab 100644 --- a/packages/apps-engine/tests/server/accessors/Reader.test.ts +++ b/packages/apps/tests/server/accessors/Reader.test.ts @@ -14,10 +14,11 @@ import type { IUploadRead, IUserRead, IVideoConferenceRead, -} from '../../../src/definition/accessors'; -import type { IContactRead } from '../../../src/definition/accessors/IContactRead'; -import type { IOAuthAppsReader } from '../../../src/definition/accessors/IOAuthAppsReader'; -import type { IThreadRead } from '../../../src/definition/accessors/IThreadRead'; +} from '@rocket.chat/apps-engine/definition/accessors'; +import type { IContactRead } from '@rocket.chat/apps-engine/definition/accessors/IContactRead'; +import type { IOAuthAppsReader } from '@rocket.chat/apps-engine/definition/accessors/IOAuthAppsReader'; +import type { IThreadRead } from '@rocket.chat/apps-engine/definition/accessors/IThreadRead'; + import { Reader } from '../../../src/server/accessors'; describe('Reader', () => { diff --git a/packages/apps-engine/tests/server/accessors/RoomBuilder.test.ts b/packages/apps/tests/server/accessors/RoomBuilder.test.ts similarity index 96% rename from packages/apps-engine/tests/server/accessors/RoomBuilder.test.ts rename to packages/apps/tests/server/accessors/RoomBuilder.test.ts index 97c099dfae899..403dd97a86e85 100644 --- a/packages/apps-engine/tests/server/accessors/RoomBuilder.test.ts +++ b/packages/apps/tests/server/accessors/RoomBuilder.test.ts @@ -1,8 +1,9 @@ import * as assert from 'node:assert'; import { describe, it } from 'node:test'; -import type { IRoom } from '../../../src/definition/rooms'; -import { RoomType } from '../../../src/definition/rooms'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms'; +import { RoomType } from '@rocket.chat/apps-engine/definition/rooms'; + import { RoomBuilder } from '../../../src/server/accessors'; import { TestData } from '../../test-data/utilities'; diff --git a/packages/apps-engine/tests/server/accessors/RoomExtender.test.ts b/packages/apps/tests/server/accessors/RoomExtender.test.ts similarity index 95% rename from packages/apps-engine/tests/server/accessors/RoomExtender.test.ts rename to packages/apps/tests/server/accessors/RoomExtender.test.ts index 6a9843932387a..099f7598a1b2f 100644 --- a/packages/apps-engine/tests/server/accessors/RoomExtender.test.ts +++ b/packages/apps/tests/server/accessors/RoomExtender.test.ts @@ -1,7 +1,8 @@ import * as assert from 'node:assert'; import { describe, it } from 'node:test'; -import type { IRoom } from '../../../src/definition/rooms'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms'; + import { RoomExtender } from '../../../src/server/accessors'; import { TestData } from '../../test-data/utilities'; diff --git a/packages/apps-engine/tests/server/accessors/RoomRead.test.ts b/packages/apps/tests/server/accessors/RoomRead.test.ts similarity index 96% rename from packages/apps-engine/tests/server/accessors/RoomRead.test.ts rename to packages/apps/tests/server/accessors/RoomRead.test.ts index 1b726f52bc578..aa4b9b7b2b3f9 100644 --- a/packages/apps-engine/tests/server/accessors/RoomRead.test.ts +++ b/packages/apps/tests/server/accessors/RoomRead.test.ts @@ -1,9 +1,10 @@ import * as assert from 'node:assert'; import { describe, it } from 'node:test'; -import type { IMessageRaw } from '../../../src/definition/messages'; -import type { IRoom, IRoomRaw } from '../../../src/definition/rooms'; -import type { IUser } from '../../../src/definition/users'; +import type { IMessageRaw } from '@rocket.chat/apps-engine/definition/messages'; +import type { IRoom, IRoomRaw } from '@rocket.chat/apps-engine/definition/rooms'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; + import { RoomRead } from '../../../src/server/accessors'; import type { RoomBridge } from '../../../src/server/bridges'; import { TestData } from '../../test-data/utilities'; diff --git a/packages/apps-engine/tests/server/accessors/ServerSettingRead.test.ts b/packages/apps/tests/server/accessors/ServerSettingRead.test.ts similarity index 100% rename from packages/apps-engine/tests/server/accessors/ServerSettingRead.test.ts rename to packages/apps/tests/server/accessors/ServerSettingRead.test.ts diff --git a/packages/apps-engine/tests/server/accessors/ServerSettingsModify.test.ts b/packages/apps/tests/server/accessors/ServerSettingsModify.test.ts similarity index 96% rename from packages/apps-engine/tests/server/accessors/ServerSettingsModify.test.ts rename to packages/apps/tests/server/accessors/ServerSettingsModify.test.ts index 718b762ea7dae..736751265acfc 100644 --- a/packages/apps-engine/tests/server/accessors/ServerSettingsModify.test.ts +++ b/packages/apps/tests/server/accessors/ServerSettingsModify.test.ts @@ -1,7 +1,8 @@ import * as assert from 'node:assert'; import { describe, it, mock } from 'node:test'; -import type { ISetting } from '../../../src/definition/settings'; +import type { ISetting } from '@rocket.chat/apps-engine/definition/settings'; + import { ServerSettingsModify } from '../../../src/server/accessors'; import type { ServerSettingBridge } from '../../../src/server/bridges'; import { TestData } from '../../test-data/utilities'; diff --git a/packages/apps-engine/tests/server/accessors/SettingRead.test.ts b/packages/apps/tests/server/accessors/SettingRead.test.ts similarity index 100% rename from packages/apps-engine/tests/server/accessors/SettingRead.test.ts rename to packages/apps/tests/server/accessors/SettingRead.test.ts diff --git a/packages/apps-engine/tests/server/accessors/SettingUpdater.test.ts b/packages/apps/tests/server/accessors/SettingUpdater.test.ts similarity index 100% rename from packages/apps-engine/tests/server/accessors/SettingUpdater.test.ts rename to packages/apps/tests/server/accessors/SettingUpdater.test.ts diff --git a/packages/apps-engine/tests/server/accessors/SettingsExtend.test.ts b/packages/apps/tests/server/accessors/SettingsExtend.test.ts similarity index 90% rename from packages/apps-engine/tests/server/accessors/SettingsExtend.test.ts rename to packages/apps/tests/server/accessors/SettingsExtend.test.ts index a86dfb9ebc690..944ad5ed8cfc0 100644 --- a/packages/apps-engine/tests/server/accessors/SettingsExtend.test.ts +++ b/packages/apps/tests/server/accessors/SettingsExtend.test.ts @@ -1,8 +1,9 @@ import * as assert from 'node:assert'; import { describe, it } from 'node:test'; -import type { ISetting } from '../../../src/definition/settings'; -import { SettingType } from '../../../src/definition/settings'; +import type { ISetting } from '@rocket.chat/apps-engine/definition/settings'; +import { SettingType } from '@rocket.chat/apps-engine/definition/settings'; + import type { ProxiedApp } from '../../../src/server/ProxiedApp'; import { SettingsExtend } from '../../../src/server/accessors'; import type { IAppStorageItem } from '../../../src/server/storage'; diff --git a/packages/apps-engine/tests/server/accessors/SlashCommandsExtend.test.ts b/packages/apps/tests/server/accessors/SlashCommandsExtend.test.ts similarity index 94% rename from packages/apps-engine/tests/server/accessors/SlashCommandsExtend.test.ts rename to packages/apps/tests/server/accessors/SlashCommandsExtend.test.ts index 26d2d8ad0b738..fec22df9093c9 100644 --- a/packages/apps-engine/tests/server/accessors/SlashCommandsExtend.test.ts +++ b/packages/apps/tests/server/accessors/SlashCommandsExtend.test.ts @@ -1,7 +1,8 @@ import * as assert from 'node:assert'; import { describe, it } from 'node:test'; -import type { ISlashCommand } from '../../../src/definition/slashcommands'; +import type { ISlashCommand } from '@rocket.chat/apps-engine/definition/slashcommands'; + import { SlashCommandsExtend } from '../../../src/server/accessors'; import { CommandAlreadyExistsError } from '../../../src/server/errors'; import type { AppSlashCommandManager } from '../../../src/server/managers'; diff --git a/packages/apps-engine/tests/server/accessors/SlashCommandsModify.test.ts b/packages/apps/tests/server/accessors/SlashCommandsModify.test.ts similarity index 94% rename from packages/apps-engine/tests/server/accessors/SlashCommandsModify.test.ts rename to packages/apps/tests/server/accessors/SlashCommandsModify.test.ts index 2a45fe41e276f..7202f688a3cdf 100644 --- a/packages/apps-engine/tests/server/accessors/SlashCommandsModify.test.ts +++ b/packages/apps/tests/server/accessors/SlashCommandsModify.test.ts @@ -1,7 +1,8 @@ import * as assert from 'node:assert'; import { describe, it, mock } from 'node:test'; -import type { ISlashCommand } from '../../../src/definition/slashcommands'; +import type { ISlashCommand } from '@rocket.chat/apps-engine/definition/slashcommands'; + import { SlashCommandsModify } from '../../../src/server/accessors'; import type { AppSlashCommandManager } from '../../../src/server/managers'; import { TestData } from '../../test-data/utilities'; diff --git a/packages/apps-engine/tests/server/accessors/UserBuilder.test.ts b/packages/apps/tests/server/accessors/UserBuilder.test.ts similarity index 95% rename from packages/apps-engine/tests/server/accessors/UserBuilder.test.ts rename to packages/apps/tests/server/accessors/UserBuilder.test.ts index d6bea303260d2..028fff0d7f802 100644 --- a/packages/apps-engine/tests/server/accessors/UserBuilder.test.ts +++ b/packages/apps/tests/server/accessors/UserBuilder.test.ts @@ -1,7 +1,8 @@ import * as assert from 'node:assert'; import { describe, it } from 'node:test'; -import type { IUser, IUserEmail } from '../../../src/definition/users'; +import type { IUser, IUserEmail } from '@rocket.chat/apps-engine/definition/users'; + import { UserBuilder } from '../../../src/server/accessors'; describe('UserBuilder', () => { diff --git a/packages/apps-engine/tests/server/accessors/UserRead.test.ts b/packages/apps/tests/server/accessors/UserRead.test.ts similarity index 95% rename from packages/apps-engine/tests/server/accessors/UserRead.test.ts rename to packages/apps/tests/server/accessors/UserRead.test.ts index ef5a026e160f2..276e293fa5179 100644 --- a/packages/apps-engine/tests/server/accessors/UserRead.test.ts +++ b/packages/apps/tests/server/accessors/UserRead.test.ts @@ -1,7 +1,8 @@ import * as assert from 'node:assert'; import { describe, it } from 'node:test'; -import type { IUser } from '../../../src/definition/users'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; + import { UserRead } from '../../../src/server/accessors'; import type { UserBridge } from '../../../src/server/bridges'; import { TestData } from '../../test-data/utilities'; diff --git a/packages/apps-engine/tests/server/accessors/VideoConfProviderExtend.test.ts b/packages/apps/tests/server/accessors/VideoConfProviderExtend.test.ts similarity index 92% rename from packages/apps-engine/tests/server/accessors/VideoConfProviderExtend.test.ts rename to packages/apps/tests/server/accessors/VideoConfProviderExtend.test.ts index 07ad241a08a6d..4a4077b7a8fb9 100644 --- a/packages/apps-engine/tests/server/accessors/VideoConfProviderExtend.test.ts +++ b/packages/apps/tests/server/accessors/VideoConfProviderExtend.test.ts @@ -1,7 +1,8 @@ import * as assert from 'node:assert'; import { describe, it } from 'node:test'; -import type { IVideoConfProvider } from '../../../src/definition/videoConfProviders'; +import type { IVideoConfProvider } from '@rocket.chat/apps-engine/definition/videoConfProviders'; + import { VideoConfProviderExtend } from '../../../src/server/accessors'; import type { AppVideoConfProviderManager } from '../../../src/server/managers'; diff --git a/packages/apps-engine/tests/server/accessors/VideoConferenceBuilder.test.ts b/packages/apps/tests/server/accessors/VideoConferenceBuilder.test.ts similarity index 97% rename from packages/apps-engine/tests/server/accessors/VideoConferenceBuilder.test.ts rename to packages/apps/tests/server/accessors/VideoConferenceBuilder.test.ts index dcbfe01f3204a..1d8bb9f8323ac 100644 --- a/packages/apps-engine/tests/server/accessors/VideoConferenceBuilder.test.ts +++ b/packages/apps/tests/server/accessors/VideoConferenceBuilder.test.ts @@ -1,7 +1,8 @@ import * as assert from 'node:assert'; import { describe, it } from 'node:test'; -import type { AppVideoConference } from '../../../src/definition/videoConferences'; +import type { AppVideoConference } from '@rocket.chat/apps-engine/definition/videoConferences'; + import { VideoConferenceBuilder } from '../../../src/server/accessors'; import { TestData } from '../../test-data/utilities'; diff --git a/packages/apps-engine/tests/server/accessors/VideoConferenceExtend.test.ts b/packages/apps/tests/server/accessors/VideoConferenceExtend.test.ts similarity index 96% rename from packages/apps-engine/tests/server/accessors/VideoConferenceExtend.test.ts rename to packages/apps/tests/server/accessors/VideoConferenceExtend.test.ts index 8157d6efc8474..20e317c2ae6d5 100644 --- a/packages/apps-engine/tests/server/accessors/VideoConferenceExtend.test.ts +++ b/packages/apps/tests/server/accessors/VideoConferenceExtend.test.ts @@ -1,7 +1,8 @@ import * as assert from 'node:assert'; import { describe, it } from 'node:test'; -import type { VideoConference } from '../../../src/definition/videoConferences'; +import type { VideoConference } from '@rocket.chat/apps-engine/definition/videoConferences'; + import { VideoConferenceExtender } from '../../../src/server/accessors'; import { TestData } from '../../test-data/utilities'; diff --git a/packages/apps-engine/tests/server/accessors/VideoConferenceRead.test.ts b/packages/apps/tests/server/accessors/VideoConferenceRead.test.ts similarity index 90% rename from packages/apps-engine/tests/server/accessors/VideoConferenceRead.test.ts rename to packages/apps/tests/server/accessors/VideoConferenceRead.test.ts index 0f578af3f2da1..478e92a1df91b 100644 --- a/packages/apps-engine/tests/server/accessors/VideoConferenceRead.test.ts +++ b/packages/apps/tests/server/accessors/VideoConferenceRead.test.ts @@ -1,7 +1,8 @@ import * as assert from 'node:assert'; import { describe, it } from 'node:test'; -import type { VideoConference } from '../../../src/definition/videoConferences'; +import type { VideoConference } from '@rocket.chat/apps-engine/definition/videoConferences'; + import { VideoConferenceRead } from '../../../src/server/accessors'; import type { VideoConferenceBridge } from '../../../src/server/bridges'; import { TestData } from '../../test-data/utilities'; diff --git a/packages/apps-engine/tests/server/compiler/AppCompiler.test.ts b/packages/apps/tests/server/compiler/AppCompiler.test.ts similarity index 100% rename from packages/apps-engine/tests/server/compiler/AppCompiler.test.ts rename to packages/apps/tests/server/compiler/AppCompiler.test.ts diff --git a/packages/apps-engine/tests/server/compiler/AppFabricationFulfillment.test.ts b/packages/apps/tests/server/compiler/AppFabricationFulfillment.test.ts similarity index 95% rename from packages/apps-engine/tests/server/compiler/AppFabricationFulfillment.test.ts rename to packages/apps/tests/server/compiler/AppFabricationFulfillment.test.ts index 445a9e06963f9..38a61df542e91 100644 --- a/packages/apps-engine/tests/server/compiler/AppFabricationFulfillment.test.ts +++ b/packages/apps/tests/server/compiler/AppFabricationFulfillment.test.ts @@ -1,9 +1,10 @@ import * as assert from 'node:assert'; import { describe, it } from 'node:test'; -import { AppStatus } from '../../../src/definition/AppStatus'; -import type { IAppInfo } from '../../../src/definition/metadata'; -import { AppInterface } from '../../../src/definition/metadata'; +import { AppStatus } from '@rocket.chat/apps-engine/definition/AppStatus'; +import type { IAppInfo } from '@rocket.chat/apps-engine/definition/metadata'; +import { AppInterface } from '@rocket.chat/apps-engine/definition/metadata'; + import type { AppManager } from '../../../src/server/AppManager'; import { ProxiedApp } from '../../../src/server/ProxiedApp'; import { AppFabricationFulfillment } from '../../../src/server/compiler'; diff --git a/packages/apps-engine/tests/server/compiler/AppImplements.test.ts b/packages/apps/tests/server/compiler/AppImplements.test.ts similarity index 90% rename from packages/apps-engine/tests/server/compiler/AppImplements.test.ts rename to packages/apps/tests/server/compiler/AppImplements.test.ts index 5f279e4d53576..ef96db589fe3c 100644 --- a/packages/apps-engine/tests/server/compiler/AppImplements.test.ts +++ b/packages/apps/tests/server/compiler/AppImplements.test.ts @@ -1,7 +1,8 @@ import * as assert from 'node:assert'; import { describe, it } from 'node:test'; -import { AppInterface } from '../../../src/definition/metadata'; +import { AppInterface } from '@rocket.chat/apps-engine/definition/metadata'; + import { AppImplements } from '../../../src/server/compiler'; describe('AppImplements', () => { diff --git a/packages/apps-engine/tests/server/errors/CommandAlreadyExistsError.test.ts b/packages/apps/tests/server/errors/CommandAlreadyExistsError.test.ts similarity index 100% rename from packages/apps-engine/tests/server/errors/CommandAlreadyExistsError.test.ts rename to packages/apps/tests/server/errors/CommandAlreadyExistsError.test.ts diff --git a/packages/apps-engine/tests/server/errors/CommandHasAlreadyBeenTouchedError.test.ts b/packages/apps/tests/server/errors/CommandHasAlreadyBeenTouchedError.test.ts similarity index 100% rename from packages/apps-engine/tests/server/errors/CommandHasAlreadyBeenTouchedError.test.ts rename to packages/apps/tests/server/errors/CommandHasAlreadyBeenTouchedError.test.ts diff --git a/packages/apps-engine/tests/server/errors/CompilerError.test.ts b/packages/apps/tests/server/errors/CompilerError.test.ts similarity index 100% rename from packages/apps-engine/tests/server/errors/CompilerError.test.ts rename to packages/apps/tests/server/errors/CompilerError.test.ts diff --git a/packages/apps-engine/tests/server/errors/MustContainFunctionError.test.ts b/packages/apps/tests/server/errors/MustContainFunctionError.test.ts similarity index 100% rename from packages/apps-engine/tests/server/errors/MustContainFunctionError.test.ts rename to packages/apps/tests/server/errors/MustContainFunctionError.test.ts diff --git a/packages/apps-engine/tests/server/errors/MustExtendAppError.test.ts b/packages/apps/tests/server/errors/MustExtendAppError.test.ts similarity index 100% rename from packages/apps-engine/tests/server/errors/MustExtendAppError.test.ts rename to packages/apps/tests/server/errors/MustExtendAppError.test.ts diff --git a/packages/apps-engine/tests/server/errors/NotEnoughMethodArgumentsError.test.ts b/packages/apps/tests/server/errors/NotEnoughMethodArgumentsError.test.ts similarity index 100% rename from packages/apps-engine/tests/server/errors/NotEnoughMethodArgumentsError.test.ts rename to packages/apps/tests/server/errors/NotEnoughMethodArgumentsError.test.ts diff --git a/packages/apps-engine/tests/server/errors/RequiredApiVersionError.test.ts b/packages/apps/tests/server/errors/RequiredApiVersionError.test.ts similarity index 92% rename from packages/apps-engine/tests/server/errors/RequiredApiVersionError.test.ts rename to packages/apps/tests/server/errors/RequiredApiVersionError.test.ts index c164ee7f26459..d4b1fc5e9354e 100644 --- a/packages/apps-engine/tests/server/errors/RequiredApiVersionError.test.ts +++ b/packages/apps/tests/server/errors/RequiredApiVersionError.test.ts @@ -1,7 +1,8 @@ import * as assert from 'node:assert'; import { describe, it } from 'node:test'; -import type { IAppInfo } from '../../../src/definition/metadata'; +import type { IAppInfo } from '@rocket.chat/apps-engine/definition/metadata'; + import { RequiredApiVersionError } from '../../../src/server/errors'; describe('RequiredApiVersionError', () => { diff --git a/packages/apps-engine/tests/server/logging/AppConsole.test.ts b/packages/apps/tests/server/logging/AppConsole.test.ts similarity index 95% rename from packages/apps-engine/tests/server/logging/AppConsole.test.ts rename to packages/apps/tests/server/logging/AppConsole.test.ts index 30e18b424881e..549c5b4930d50 100644 --- a/packages/apps-engine/tests/server/logging/AppConsole.test.ts +++ b/packages/apps/tests/server/logging/AppConsole.test.ts @@ -2,10 +2,10 @@ import * as assert from 'node:assert'; import { describe, it } from 'node:test'; import type { TestContext } from 'node:test'; +import { LogMessageSeverity } from '@rocket.chat/apps-engine/definition/accessors'; +import { AppMethod } from '@rocket.chat/apps-engine/definition/metadata'; import type * as stackTrace from 'stack-trace'; -import { LogMessageSeverity } from '../../../src/definition/accessors'; -import { AppMethod } from '../../../src/definition/metadata'; import { AppConsole } from '../../../src/server/logging'; describe('AppConsole', () => { diff --git a/packages/apps-engine/tests/server/managers/AppAccessorManager.test.ts b/packages/apps/tests/server/managers/AppAccessorManager.test.ts similarity index 100% rename from packages/apps-engine/tests/server/managers/AppAccessorManager.test.ts rename to packages/apps/tests/server/managers/AppAccessorManager.test.ts diff --git a/packages/apps-engine/tests/server/managers/AppApi.test.ts b/packages/apps/tests/server/managers/AppApi.test.ts similarity index 78% rename from packages/apps-engine/tests/server/managers/AppApi.test.ts rename to packages/apps/tests/server/managers/AppApi.test.ts index c3a0b0fe46c14..634d638d556de 100644 --- a/packages/apps-engine/tests/server/managers/AppApi.test.ts +++ b/packages/apps/tests/server/managers/AppApi.test.ts @@ -1,8 +1,9 @@ import * as assert from 'node:assert'; import { describe, it } from 'node:test'; -import type { IApi } from '../../../src/definition/api'; -import type { IApiEndpoint } from '../../../src/definition/api/IApiEndpoint'; +import type { IApi } from '@rocket.chat/apps-engine/definition/api'; +import type { IApiEndpoint } from '@rocket.chat/apps-engine/definition/api/IApiEndpoint'; + import type { ProxiedApp } from '../../../src/server/ProxiedApp'; import { AppApi } from '../../../src/server/managers/AppApi'; diff --git a/packages/apps-engine/tests/server/managers/AppApiManager.test.ts b/packages/apps/tests/server/managers/AppApiManager.test.ts similarity index 97% rename from packages/apps-engine/tests/server/managers/AppApiManager.test.ts rename to packages/apps/tests/server/managers/AppApiManager.test.ts index 6315eecebc043..9437a6ffea674 100644 --- a/packages/apps-engine/tests/server/managers/AppApiManager.test.ts +++ b/packages/apps/tests/server/managers/AppApiManager.test.ts @@ -1,8 +1,9 @@ import * as assert from 'node:assert'; import { afterEach, beforeEach, describe, it, mock } from 'node:test'; -import { RequestMethod } from '../../../src/definition/accessors'; -import type { IApi, IApiRequest } from '../../../src/definition/api'; +import { RequestMethod } from '@rocket.chat/apps-engine/definition/accessors'; +import type { IApi, IApiRequest } from '@rocket.chat/apps-engine/definition/api'; + import type { AppManager } from '../../../src/server/AppManager'; import type { ProxiedApp } from '../../../src/server/ProxiedApp'; import type { AppBridges } from '../../../src/server/bridges'; diff --git a/packages/apps-engine/tests/server/managers/AppExternalComponentManager.test.ts b/packages/apps/tests/server/managers/AppExternalComponentManager.test.ts similarity index 95% rename from packages/apps-engine/tests/server/managers/AppExternalComponentManager.test.ts rename to packages/apps/tests/server/managers/AppExternalComponentManager.test.ts index cd991c5651b09..d0f1dbc069b04 100644 --- a/packages/apps-engine/tests/server/managers/AppExternalComponentManager.test.ts +++ b/packages/apps/tests/server/managers/AppExternalComponentManager.test.ts @@ -1,8 +1,9 @@ import * as assert from 'node:assert'; import { describe, it } from 'node:test'; -import type { IExternalComponent } from '../../../src/definition/externalComponent/IExternalComponent'; -import { ExternalComponentLocation } from '../../../src/definition/externalComponent/IExternalComponent'; +import type { IExternalComponent } from '@rocket.chat/apps-engine/definition/externalComponent/IExternalComponent'; +import { ExternalComponentLocation } from '@rocket.chat/apps-engine/definition/externalComponent/IExternalComponent'; + import { AppExternalComponentManager } from '../../../src/server/managers'; describe('AppExternalComponentManager', () => { diff --git a/packages/apps-engine/tests/server/managers/AppListenerManager.test.ts b/packages/apps/tests/server/managers/AppListenerManager.test.ts similarity index 93% rename from packages/apps-engine/tests/server/managers/AppListenerManager.test.ts rename to packages/apps/tests/server/managers/AppListenerManager.test.ts index a5015defaa761..6bb43f31d4262 100644 --- a/packages/apps-engine/tests/server/managers/AppListenerManager.test.ts +++ b/packages/apps/tests/server/managers/AppListenerManager.test.ts @@ -1,7 +1,8 @@ import * as assert from 'node:assert'; import { describe, it } from 'node:test'; -import { AppInterface } from '../../../src/definition/metadata'; +import { AppInterface } from '@rocket.chat/apps-engine/definition/metadata'; + import type { AppManager } from '../../../src/server/AppManager'; import type { ProxiedApp } from '../../../src/server/ProxiedApp'; import { AppListenerManager } from '../../../src/server/managers'; diff --git a/packages/apps-engine/tests/server/managers/AppOutboundCommunicationProvider.test.ts b/packages/apps/tests/server/managers/AppOutboundCommunicationProvider.test.ts similarity index 86% rename from packages/apps-engine/tests/server/managers/AppOutboundCommunicationProvider.test.ts rename to packages/apps/tests/server/managers/AppOutboundCommunicationProvider.test.ts index cd3511e0bbc61..c1862d9fa86b6 100644 --- a/packages/apps-engine/tests/server/managers/AppOutboundCommunicationProvider.test.ts +++ b/packages/apps/tests/server/managers/AppOutboundCommunicationProvider.test.ts @@ -1,7 +1,8 @@ import * as assert from 'node:assert'; import { describe, it } from 'node:test'; -import type { IOutboundMessageProviders } from '../../../src/definition/outboundCommunication'; +import type { IOutboundMessageProviders } from '@rocket.chat/apps-engine/definition/outboundCommunication'; + import type { ProxiedApp } from '../../../src/server/ProxiedApp'; import { OutboundMessageProvider } from '../../../src/server/managers/AppOutboundCommunicationProvider'; diff --git a/packages/apps-engine/tests/server/managers/AppOutboundCommunicationProviderManager.test.ts b/packages/apps/tests/server/managers/AppOutboundCommunicationProviderManager.test.ts similarity index 100% rename from packages/apps-engine/tests/server/managers/AppOutboundCommunicationProviderManager.test.ts rename to packages/apps/tests/server/managers/AppOutboundCommunicationProviderManager.test.ts diff --git a/packages/apps-engine/tests/server/managers/AppRuntimeManager.test.ts b/packages/apps/tests/server/managers/AppRuntimeManager.test.ts similarity index 98% rename from packages/apps-engine/tests/server/managers/AppRuntimeManager.test.ts rename to packages/apps/tests/server/managers/AppRuntimeManager.test.ts index a39de421b3260..1bb44ed3f699f 100644 --- a/packages/apps-engine/tests/server/managers/AppRuntimeManager.test.ts +++ b/packages/apps/tests/server/managers/AppRuntimeManager.test.ts @@ -1,7 +1,8 @@ import * as assert from 'node:assert'; import { afterEach, beforeEach, describe, it, mock } from 'node:test'; -import { AppStatus } from '../../../src/definition/AppStatus'; +import { AppStatus } from '@rocket.chat/apps-engine/definition/AppStatus'; + import type { AppManager } from '../../../src/server/AppManager'; import type { IParseAppPackageResult } from '../../../src/server/compiler'; import { AppRuntimeManager } from '../../../src/server/managers/AppRuntimeManager'; diff --git a/packages/apps-engine/tests/server/managers/AppSettingsManager.test.ts b/packages/apps/tests/server/managers/AppSettingsManager.test.ts similarity index 97% rename from packages/apps-engine/tests/server/managers/AppSettingsManager.test.ts rename to packages/apps/tests/server/managers/AppSettingsManager.test.ts index 9eebed9e5fd5f..83f2fd28b53dc 100644 --- a/packages/apps-engine/tests/server/managers/AppSettingsManager.test.ts +++ b/packages/apps/tests/server/managers/AppSettingsManager.test.ts @@ -1,8 +1,9 @@ import * as assert from 'node:assert'; import { afterEach, beforeEach, describe, it, mock } from 'node:test'; -import { AppMethod } from '../../../src/definition/metadata'; -import type { ISetting } from '../../../src/definition/settings'; +import { AppMethod } from '@rocket.chat/apps-engine/definition/metadata'; +import type { ISetting } from '@rocket.chat/apps-engine/definition/settings'; + import type { AppManager } from '../../../src/server/AppManager'; import type { ProxiedApp } from '../../../src/server/ProxiedApp'; import type { AppBridges } from '../../../src/server/bridges'; diff --git a/packages/apps-engine/tests/server/managers/AppSlashCommand.test.ts b/packages/apps/tests/server/managers/AppSlashCommand.test.ts similarity index 91% rename from packages/apps-engine/tests/server/managers/AppSlashCommand.test.ts rename to packages/apps/tests/server/managers/AppSlashCommand.test.ts index ac1396ae52a10..ffd2f32486fd4 100644 --- a/packages/apps-engine/tests/server/managers/AppSlashCommand.test.ts +++ b/packages/apps/tests/server/managers/AppSlashCommand.test.ts @@ -1,7 +1,8 @@ import * as assert from 'node:assert'; import { describe, it } from 'node:test'; -import type { ISlashCommand } from '../../../src/definition/slashcommands'; +import type { ISlashCommand } from '@rocket.chat/apps-engine/definition/slashcommands'; + import type { AppManager } from '../../../src/server/AppManager'; import { AppSlashCommand } from '../../../src/server/managers/AppSlashCommand'; import type { IAppStorageItem } from '../../../src/server/storage'; diff --git a/packages/apps-engine/tests/server/managers/AppSlashCommandManager.test.ts b/packages/apps/tests/server/managers/AppSlashCommandManager.test.ts similarity index 99% rename from packages/apps-engine/tests/server/managers/AppSlashCommandManager.test.ts rename to packages/apps/tests/server/managers/AppSlashCommandManager.test.ts index 8bd2c46b25bc4..53f3086db4f5b 100644 --- a/packages/apps-engine/tests/server/managers/AppSlashCommandManager.test.ts +++ b/packages/apps/tests/server/managers/AppSlashCommandManager.test.ts @@ -1,8 +1,9 @@ import * as assert from 'node:assert'; import { afterEach, beforeEach, describe, it, mock } from 'node:test'; -import type { ISlashCommandPreviewItem } from '../../../src/definition/slashcommands'; -import { SlashCommandContext } from '../../../src/definition/slashcommands'; +import type { ISlashCommandPreviewItem } from '@rocket.chat/apps-engine/definition/slashcommands'; +import { SlashCommandContext } from '@rocket.chat/apps-engine/definition/slashcommands'; + import type { AppManager } from '../../../src/server/AppManager'; import type { ProxiedApp } from '../../../src/server/ProxiedApp'; import type { AppBridges } from '../../../src/server/bridges'; diff --git a/packages/apps-engine/tests/server/managers/AppVideoConfProvider.test.ts b/packages/apps/tests/server/managers/AppVideoConfProvider.test.ts similarity index 86% rename from packages/apps-engine/tests/server/managers/AppVideoConfProvider.test.ts rename to packages/apps/tests/server/managers/AppVideoConfProvider.test.ts index 10c223f6aba55..d85bdda196c01 100644 --- a/packages/apps-engine/tests/server/managers/AppVideoConfProvider.test.ts +++ b/packages/apps/tests/server/managers/AppVideoConfProvider.test.ts @@ -1,7 +1,8 @@ import * as assert from 'node:assert'; import { describe, it } from 'node:test'; -import type { IVideoConfProvider } from '../../../src/definition/videoConfProviders'; +import type { IVideoConfProvider } from '@rocket.chat/apps-engine/definition/videoConfProviders'; + import type { ProxiedApp } from '../../../src/server/ProxiedApp'; import { AppVideoConfProvider } from '../../../src/server/managers/AppVideoConfProvider'; diff --git a/packages/apps-engine/tests/server/managers/AppVideoConfProviderManager.test.ts b/packages/apps/tests/server/managers/AppVideoConfProviderManager.test.ts similarity index 100% rename from packages/apps-engine/tests/server/managers/AppVideoConfProviderManager.test.ts rename to packages/apps/tests/server/managers/AppVideoConfProviderManager.test.ts diff --git a/packages/apps-engine/tests/server/managers/UIActionButtonManager.test.ts b/packages/apps/tests/server/managers/UIActionButtonManager.test.ts similarity index 97% rename from packages/apps-engine/tests/server/managers/UIActionButtonManager.test.ts rename to packages/apps/tests/server/managers/UIActionButtonManager.test.ts index 8c6533cfc668d..f17fa2143badb 100644 --- a/packages/apps-engine/tests/server/managers/UIActionButtonManager.test.ts +++ b/packages/apps/tests/server/managers/UIActionButtonManager.test.ts @@ -1,9 +1,10 @@ import * as assert from 'node:assert'; import { afterEach, beforeEach, describe, it, mock } from 'node:test'; -import { AppStatus } from '../../../src/definition/AppStatus'; -import type { IUIActionButtonDescriptor } from '../../../src/definition/ui'; -import { UIActionButtonContext } from '../../../src/definition/ui'; +import { AppStatus } from '@rocket.chat/apps-engine/definition/AppStatus'; +import type { IUIActionButtonDescriptor } from '@rocket.chat/apps-engine/definition/ui'; +import { UIActionButtonContext } from '@rocket.chat/apps-engine/definition/ui'; + import type { AppManager } from '../../../src/server/AppManager'; import type { ProxiedApp } from '../../../src/server/ProxiedApp'; import type { AppActivationBridge, AppBridges } from '../../../src/server/bridges'; diff --git a/packages/apps-engine/tests/server/misc/Utilities.test.ts b/packages/apps/tests/server/misc/Utilities.test.ts similarity index 100% rename from packages/apps-engine/tests/server/misc/Utilities.test.ts rename to packages/apps/tests/server/misc/Utilities.test.ts diff --git a/packages/apps-engine/tests/server/runtime/DenoRuntimeSubprocessController.test.ts b/packages/apps/tests/server/runtime/DenoRuntimeSubprocessController.test.ts similarity index 97% rename from packages/apps-engine/tests/server/runtime/DenoRuntimeSubprocessController.test.ts rename to packages/apps/tests/server/runtime/DenoRuntimeSubprocessController.test.ts index 9b276043bb6fb..c9aafe4e4d8e2 100644 --- a/packages/apps-engine/tests/server/runtime/DenoRuntimeSubprocessController.test.ts +++ b/packages/apps/tests/server/runtime/DenoRuntimeSubprocessController.test.ts @@ -6,10 +6,10 @@ import { describe, it, beforeEach, afterEach, mock, before, after } from 'node:t import * as os from 'os'; import * as path from 'path'; +import { AppStatus } from '@rocket.chat/apps-engine/definition/AppStatus'; +import { UserStatusConnection, UserType } from '@rocket.chat/apps-engine/definition/users'; import { type RpcStatusType, SuccessObject } from 'jsonrpc-lite'; -import { AppStatus } from '../../../src/definition/AppStatus'; -import { UserStatusConnection, UserType } from '../../../src/definition/users'; import type { AppManager } from '../../../src/server/AppManager'; import type { IParseAppPackageResult } from '../../../src/server/compiler'; import { AppAccessorManager, AppApiManager } from '../../../src/server/managers'; diff --git a/packages/apps-engine/tests/server/runtime/deno/LivenessManager.test.ts b/packages/apps/tests/server/runtime/deno/LivenessManager.test.ts similarity index 100% rename from packages/apps-engine/tests/server/runtime/deno/LivenessManager.test.ts rename to packages/apps/tests/server/runtime/deno/LivenessManager.test.ts diff --git a/packages/apps-engine/tests/server/runtime/deno/bundleLegacyApp.test.ts b/packages/apps/tests/server/runtime/deno/bundleLegacyApp.test.ts similarity index 100% rename from packages/apps-engine/tests/server/runtime/deno/bundleLegacyApp.test.ts rename to packages/apps/tests/server/runtime/deno/bundleLegacyApp.test.ts diff --git a/packages/apps-engine/tests/test-data/README.md b/packages/apps/tests/test-data/README.md similarity index 100% rename from packages/apps-engine/tests/test-data/README.md rename to packages/apps/tests/test-data/README.md diff --git a/packages/apps-engine/tests/test-data/apps/hello-world-test_0.0.1.zip b/packages/apps/tests/test-data/apps/hello-world-test_0.0.1.zip similarity index 100% rename from packages/apps-engine/tests/test-data/apps/hello-world-test_0.0.1.zip rename to packages/apps/tests/test-data/apps/hello-world-test_0.0.1.zip diff --git a/packages/apps-engine/tests/test-data/apps/testing-app_0.0.8.zip b/packages/apps/tests/test-data/apps/testing-app_0.0.8.zip similarity index 100% rename from packages/apps-engine/tests/test-data/apps/testing-app_0.0.8.zip rename to packages/apps/tests/test-data/apps/testing-app_0.0.8.zip diff --git a/packages/apps-engine/tests/test-data/bridges/OAuthAppsBridge.ts b/packages/apps/tests/test-data/bridges/OAuthAppsBridge.ts similarity index 88% rename from packages/apps-engine/tests/test-data/bridges/OAuthAppsBridge.ts rename to packages/apps/tests/test-data/bridges/OAuthAppsBridge.ts index 9618be17dfa91..0a514f2752d71 100644 --- a/packages/apps-engine/tests/test-data/bridges/OAuthAppsBridge.ts +++ b/packages/apps/tests/test-data/bridges/OAuthAppsBridge.ts @@ -1,4 +1,5 @@ -import type { IOAuthApp, IOAuthAppParams } from '../../../src/definition/accessors/IOAuthApp'; +import type { IOAuthApp, IOAuthAppParams } from '@rocket.chat/apps-engine/definition/accessors/IOAuthApp'; + import { OAuthAppsBridge } from '../../../src/server/bridges/OAuthAppsBridge'; export class TestOAuthAppsBridge extends OAuthAppsBridge { diff --git a/packages/apps-engine/tests/test-data/bridges/activationBridge.ts b/packages/apps/tests/test-data/bridges/activationBridge.ts similarity index 91% rename from packages/apps-engine/tests/test-data/bridges/activationBridge.ts rename to packages/apps/tests/test-data/bridges/activationBridge.ts index 84296b25ca8fd..c8f61e145dd3e 100644 --- a/packages/apps-engine/tests/test-data/bridges/activationBridge.ts +++ b/packages/apps/tests/test-data/bridges/activationBridge.ts @@ -1,4 +1,5 @@ -import type { AppStatus } from '../../../src/definition/AppStatus'; +import type { AppStatus } from '@rocket.chat/apps-engine/definition/AppStatus'; + import type { ProxiedApp } from '../../../src/server/ProxiedApp'; import { AppActivationBridge } from '../../../src/server/bridges'; diff --git a/packages/apps-engine/tests/test-data/bridges/apiBridge.ts b/packages/apps/tests/test-data/bridges/apiBridge.ts similarity index 93% rename from packages/apps-engine/tests/test-data/bridges/apiBridge.ts rename to packages/apps/tests/test-data/bridges/apiBridge.ts index ef3137739e40c..74504625b710c 100644 --- a/packages/apps-engine/tests/test-data/bridges/apiBridge.ts +++ b/packages/apps/tests/test-data/bridges/apiBridge.ts @@ -1,4 +1,5 @@ -import type { IApi } from '../../../src/definition/api'; +import type { IApi } from '@rocket.chat/apps-engine/definition/api'; + import { ApiBridge } from '../../../src/server/bridges'; import type { AppApi } from '../../../src/server/managers/AppApi'; import { TestData } from '../utilities'; diff --git a/packages/apps-engine/tests/test-data/bridges/appBridges.ts b/packages/apps/tests/test-data/bridges/appBridges.ts similarity index 100% rename from packages/apps-engine/tests/test-data/bridges/appBridges.ts rename to packages/apps/tests/test-data/bridges/appBridges.ts diff --git a/packages/apps-engine/tests/test-data/bridges/appDetailChanges.ts b/packages/apps/tests/test-data/bridges/appDetailChanges.ts similarity index 73% rename from packages/apps-engine/tests/test-data/bridges/appDetailChanges.ts rename to packages/apps/tests/test-data/bridges/appDetailChanges.ts index 84776677c50d8..b091306c83f50 100644 --- a/packages/apps-engine/tests/test-data/bridges/appDetailChanges.ts +++ b/packages/apps/tests/test-data/bridges/appDetailChanges.ts @@ -1,4 +1,5 @@ -import type { ISetting } from '../../../src/definition/settings'; +import type { ISetting } from '@rocket.chat/apps-engine/definition/settings'; + import { AppDetailChangesBridge } from '../../../src/server/bridges'; export class TestsAppDetailChangesBridge extends AppDetailChangesBridge { diff --git a/packages/apps-engine/tests/test-data/bridges/cloudBridge.ts b/packages/apps/tests/test-data/bridges/cloudBridge.ts similarity index 79% rename from packages/apps-engine/tests/test-data/bridges/cloudBridge.ts rename to packages/apps/tests/test-data/bridges/cloudBridge.ts index be0d3a19ba8f4..43882f3550064 100644 --- a/packages/apps-engine/tests/test-data/bridges/cloudBridge.ts +++ b/packages/apps/tests/test-data/bridges/cloudBridge.ts @@ -1,4 +1,5 @@ -import type { IWorkspaceToken } from '../../../src/definition/cloud/IWorkspaceToken'; +import type { IWorkspaceToken } from '@rocket.chat/apps-engine/definition/cloud/IWorkspaceToken'; + import { CloudWorkspaceBridge } from '../../../src/server/bridges/CloudWorkspaceBridge'; export class TestAppCloudWorkspaceBridge extends CloudWorkspaceBridge { diff --git a/packages/apps-engine/tests/test-data/bridges/commandBridge.ts b/packages/apps/tests/test-data/bridges/commandBridge.ts similarity index 86% rename from packages/apps-engine/tests/test-data/bridges/commandBridge.ts rename to packages/apps/tests/test-data/bridges/commandBridge.ts index 7f0736bad55c6..c2169c734d60c 100644 --- a/packages/apps-engine/tests/test-data/bridges/commandBridge.ts +++ b/packages/apps/tests/test-data/bridges/commandBridge.ts @@ -1,5 +1,6 @@ -import type { IHttp, IModify, IPersistence, IRead } from '../../../src/definition/accessors'; -import type { ISlashCommand, SlashCommandContext } from '../../../src/definition/slashcommands'; +import type { IHttp, IModify, IPersistence, IRead } from '@rocket.chat/apps-engine/definition/accessors'; +import type { ISlashCommand, SlashCommandContext } from '@rocket.chat/apps-engine/definition/slashcommands'; + import { CommandBridge } from '../../../src/server/bridges'; import { TestData } from '../utilities'; diff --git a/packages/apps-engine/tests/test-data/bridges/contactBridge.ts b/packages/apps/tests/test-data/bridges/contactBridge.ts similarity index 87% rename from packages/apps-engine/tests/test-data/bridges/contactBridge.ts rename to packages/apps/tests/test-data/bridges/contactBridge.ts index 55930094f9760..b21a539aea9e9 100644 --- a/packages/apps-engine/tests/test-data/bridges/contactBridge.ts +++ b/packages/apps/tests/test-data/bridges/contactBridge.ts @@ -1,4 +1,5 @@ -import type { ILivechatContact } from '../../../src/definition/livechat'; +import type { ILivechatContact } from '@rocket.chat/apps-engine/definition/livechat'; + import { ContactBridge } from '../../../src/server/bridges'; export class TestContactBridge extends ContactBridge { diff --git a/packages/apps-engine/tests/test-data/bridges/emailBridge.ts b/packages/apps/tests/test-data/bridges/emailBridge.ts similarity index 76% rename from packages/apps-engine/tests/test-data/bridges/emailBridge.ts rename to packages/apps/tests/test-data/bridges/emailBridge.ts index 774d9baa7203a..31245d5d2d335 100644 --- a/packages/apps-engine/tests/test-data/bridges/emailBridge.ts +++ b/packages/apps/tests/test-data/bridges/emailBridge.ts @@ -1,4 +1,5 @@ -import type { IEmail } from '../../../src/definition/email'; +import type { IEmail } from '@rocket.chat/apps-engine/definition/email'; + import { EmailBridge } from '../../../src/server/bridges/EmailBridge'; export class TestsEmailBridge extends EmailBridge { diff --git a/packages/apps-engine/tests/test-data/bridges/environmentalVariableBridge.ts b/packages/apps/tests/test-data/bridges/environmentalVariableBridge.ts similarity index 100% rename from packages/apps-engine/tests/test-data/bridges/environmentalVariableBridge.ts rename to packages/apps/tests/test-data/bridges/environmentalVariableBridge.ts diff --git a/packages/apps-engine/tests/test-data/bridges/experimentalBridge.ts b/packages/apps/tests/test-data/bridges/experimentalBridge.ts similarity index 100% rename from packages/apps-engine/tests/test-data/bridges/experimentalBridge.ts rename to packages/apps/tests/test-data/bridges/experimentalBridge.ts diff --git a/packages/apps-engine/tests/test-data/bridges/httpBridge.ts b/packages/apps/tests/test-data/bridges/httpBridge.ts similarity index 83% rename from packages/apps-engine/tests/test-data/bridges/httpBridge.ts rename to packages/apps/tests/test-data/bridges/httpBridge.ts index bf07119089aa1..cdc5aee6d9e4e 100644 --- a/packages/apps-engine/tests/test-data/bridges/httpBridge.ts +++ b/packages/apps/tests/test-data/bridges/httpBridge.ts @@ -1,4 +1,5 @@ -import type { IHttpResponse } from '../../../src/definition/accessors'; +import type { IHttpResponse } from '@rocket.chat/apps-engine/definition/accessors'; + import type { IHttpBridgeRequestInfo } from '../../../src/server/bridges'; import { HttpBridge } from '../../../src/server/bridges'; diff --git a/packages/apps-engine/tests/test-data/bridges/internalBridge.ts b/packages/apps/tests/test-data/bridges/internalBridge.ts similarity index 85% rename from packages/apps-engine/tests/test-data/bridges/internalBridge.ts rename to packages/apps/tests/test-data/bridges/internalBridge.ts index b4e5ecbe9d7d4..ac8dba6df92fa 100644 --- a/packages/apps-engine/tests/test-data/bridges/internalBridge.ts +++ b/packages/apps/tests/test-data/bridges/internalBridge.ts @@ -1,4 +1,5 @@ -import type { ISetting } from '../../../src/definition/settings'; +import type { ISetting } from '@rocket.chat/apps-engine/definition/settings'; + import type { IInternalBridge } from '../../../src/server/bridges'; export class TestsInternalBridge implements IInternalBridge { diff --git a/packages/apps-engine/tests/test-data/bridges/internalFederationBridge.ts b/packages/apps/tests/test-data/bridges/internalFederationBridge.ts similarity index 100% rename from packages/apps-engine/tests/test-data/bridges/internalFederationBridge.ts rename to packages/apps/tests/test-data/bridges/internalFederationBridge.ts diff --git a/packages/apps-engine/tests/test-data/bridges/livechatBridge.ts b/packages/apps/tests/test-data/bridges/livechatBridge.ts similarity index 92% rename from packages/apps-engine/tests/test-data/bridges/livechatBridge.ts rename to packages/apps/tests/test-data/bridges/livechatBridge.ts index 16ef3330a4d5b..7f3b7879295e0 100644 --- a/packages/apps-engine/tests/test-data/bridges/livechatBridge.ts +++ b/packages/apps/tests/test-data/bridges/livechatBridge.ts @@ -1,4 +1,4 @@ -import type { IExtraRoomParams } from '../../../src/definition/accessors/ILivechatCreator'; +import type { IExtraRoomParams } from '@rocket.chat/apps-engine/definition/accessors/ILivechatCreator'; import type { IDepartment, IVisitorExternalIdentifier, @@ -7,9 +7,10 @@ import type { ILivechatTransferData, IVisitor, ResolveVisitorContactData, -} from '../../../src/definition/livechat'; -import type { IMessage } from '../../../src/definition/messages'; -import type { IUser } from '../../../src/definition/users'; +} from '@rocket.chat/apps-engine/definition/livechat'; +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; + import { LivechatBridge } from '../../../src/server/bridges/LivechatBridge'; export class TestLivechatBridge extends LivechatBridge { diff --git a/packages/apps-engine/tests/test-data/bridges/messageBridge.ts b/packages/apps/tests/test-data/bridges/messageBridge.ts similarity index 85% rename from packages/apps-engine/tests/test-data/bridges/messageBridge.ts rename to packages/apps/tests/test-data/bridges/messageBridge.ts index f15b7e0e903f0..e3aa26a98a98c 100644 --- a/packages/apps-engine/tests/test-data/bridges/messageBridge.ts +++ b/packages/apps/tests/test-data/bridges/messageBridge.ts @@ -1,6 +1,7 @@ -import type { IMessage, Reaction } from '../../../src/definition/messages'; -import type { IRoom } from '../../../src/definition/rooms'; -import type { IUser } from '../../../src/definition/users'; +import type { IMessage, Reaction } from '@rocket.chat/apps-engine/definition/messages'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; + import { MessageBridge } from '../../../src/server/bridges'; import type { ITypingDescriptor } from '../../../src/server/bridges/MessageBridge'; diff --git a/packages/apps-engine/tests/test-data/bridges/moderationBridge.ts b/packages/apps/tests/test-data/bridges/moderationBridge.ts similarity index 80% rename from packages/apps-engine/tests/test-data/bridges/moderationBridge.ts rename to packages/apps/tests/test-data/bridges/moderationBridge.ts index 8515801ac158b..b03398f008293 100644 --- a/packages/apps-engine/tests/test-data/bridges/moderationBridge.ts +++ b/packages/apps/tests/test-data/bridges/moderationBridge.ts @@ -1,5 +1,6 @@ -import type { IMessage } from '../../../src/definition/messages'; -import type { IUser } from '../../../src/definition/users'; +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; + import { ModerationBridge } from '../../../src/server/bridges'; export class TestsModerationBridge extends ModerationBridge { diff --git a/packages/apps-engine/tests/test-data/bridges/outboundComms.ts b/packages/apps/tests/test-data/bridges/outboundComms.ts similarity index 90% rename from packages/apps-engine/tests/test-data/bridges/outboundComms.ts rename to packages/apps/tests/test-data/bridges/outboundComms.ts index 575dd5d7a7ceb..902bc9fa56bf9 100644 --- a/packages/apps-engine/tests/test-data/bridges/outboundComms.ts +++ b/packages/apps/tests/test-data/bridges/outboundComms.ts @@ -2,7 +2,8 @@ import type { IOutboundEmailMessageProvider, IOutboundMessageProviders, IOutboundPhoneMessageProvider, -} from '../../../src/definition/outboundCommunication'; +} from '@rocket.chat/apps-engine/definition/outboundCommunication'; + import { OutboundMessageBridge } from '../../../src/server/bridges'; export class TestOutboundCommunicationBridge extends OutboundMessageBridge { diff --git a/packages/apps-engine/tests/test-data/bridges/persisBridge.ts b/packages/apps/tests/test-data/bridges/persisBridge.ts similarity index 93% rename from packages/apps-engine/tests/test-data/bridges/persisBridge.ts rename to packages/apps/tests/test-data/bridges/persisBridge.ts index c513b6c1754b7..94fc77bf02628 100644 --- a/packages/apps-engine/tests/test-data/bridges/persisBridge.ts +++ b/packages/apps/tests/test-data/bridges/persisBridge.ts @@ -1,4 +1,5 @@ -import type { RocketChatAssociationRecord } from '../../../src/definition/metadata'; +import type { RocketChatAssociationRecord } from '@rocket.chat/apps-engine/definition/metadata'; + import { PersistenceBridge } from '../../../src/server/bridges'; export class TestsPersisBridge extends PersistenceBridge { diff --git a/packages/apps-engine/tests/test-data/bridges/roleBridge.ts b/packages/apps/tests/test-data/bridges/roleBridge.ts similarity index 83% rename from packages/apps-engine/tests/test-data/bridges/roleBridge.ts rename to packages/apps/tests/test-data/bridges/roleBridge.ts index d61ce3c3f877e..bd5f16dce413a 100644 --- a/packages/apps-engine/tests/test-data/bridges/roleBridge.ts +++ b/packages/apps/tests/test-data/bridges/roleBridge.ts @@ -1,4 +1,5 @@ -import type { IRole } from '../../../src/definition/roles'; +import type { IRole } from '@rocket.chat/apps-engine/definition/roles'; + import { RoleBridge } from '../../../src/server/bridges'; export class TestsRoleBridge extends RoleBridge { diff --git a/packages/apps-engine/tests/test-data/bridges/roomBridge.ts b/packages/apps/tests/test-data/bridges/roomBridge.ts similarity index 89% rename from packages/apps-engine/tests/test-data/bridges/roomBridge.ts rename to packages/apps/tests/test-data/bridges/roomBridge.ts index 661af82e0adcd..cc54efef30a60 100644 --- a/packages/apps-engine/tests/test-data/bridges/roomBridge.ts +++ b/packages/apps/tests/test-data/bridges/roomBridge.ts @@ -1,7 +1,8 @@ -import type { IMessage, IMessageRaw } from '../../../src/definition/messages'; -import type { IRoom } from '../../../src/definition/rooms'; -import type { IRoomRaw } from '../../../src/definition/rooms/IRoomRaw'; -import type { IUser } from '../../../src/definition/users'; +import type { IMessage, IMessageRaw } from '@rocket.chat/apps-engine/definition/messages'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms'; +import type { IRoomRaw } from '@rocket.chat/apps-engine/definition/rooms/IRoomRaw'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; + import { RoomBridge } from '../../../src/server/bridges'; import type { GetMessagesOptions, GetRoomsOptions, GetRoomsFilters } from '../../../src/server/bridges/RoomBridge'; diff --git a/packages/apps-engine/tests/test-data/bridges/schedulerBridge.ts b/packages/apps/tests/test-data/bridges/schedulerBridge.ts similarity index 93% rename from packages/apps-engine/tests/test-data/bridges/schedulerBridge.ts rename to packages/apps/tests/test-data/bridges/schedulerBridge.ts index 8aee09c3905ff..e891e367c31ce 100644 --- a/packages/apps-engine/tests/test-data/bridges/schedulerBridge.ts +++ b/packages/apps/tests/test-data/bridges/schedulerBridge.ts @@ -1,4 +1,5 @@ -import type { IOnetimeSchedule, IProcessor, IRecurringSchedule } from '../../../src/definition/scheduler'; +import type { IOnetimeSchedule, IProcessor, IRecurringSchedule } from '@rocket.chat/apps-engine/definition/scheduler'; + import { SchedulerBridge } from '../../../src/server/bridges'; export class TestSchedulerBridge extends SchedulerBridge { diff --git a/packages/apps-engine/tests/test-data/bridges/serverSettingBridge.ts b/packages/apps/tests/test-data/bridges/serverSettingBridge.ts similarity index 92% rename from packages/apps-engine/tests/test-data/bridges/serverSettingBridge.ts rename to packages/apps/tests/test-data/bridges/serverSettingBridge.ts index a8840a10f93a3..ed071a25bbbea 100644 --- a/packages/apps-engine/tests/test-data/bridges/serverSettingBridge.ts +++ b/packages/apps/tests/test-data/bridges/serverSettingBridge.ts @@ -1,4 +1,5 @@ -import { SettingType, type ISetting } from '../../../src/definition/settings'; +import { SettingType, type ISetting } from '@rocket.chat/apps-engine/definition/settings'; + import { ServerSettingBridge } from '../../../src/server/bridges'; export class TestsServerSettingBridge extends ServerSettingBridge { diff --git a/packages/apps-engine/tests/test-data/bridges/threadBridge.ts b/packages/apps/tests/test-data/bridges/threadBridge.ts similarity index 76% rename from packages/apps-engine/tests/test-data/bridges/threadBridge.ts rename to packages/apps/tests/test-data/bridges/threadBridge.ts index 9f24d5c5fc33f..b629c305a6f6a 100644 --- a/packages/apps-engine/tests/test-data/bridges/threadBridge.ts +++ b/packages/apps/tests/test-data/bridges/threadBridge.ts @@ -1,4 +1,5 @@ -import type { IMessage } from '../../../src/definition/messages'; +import type { IMessage } from '@rocket.chat/apps-engine/definition/messages'; + import { ThreadBridge } from '../../../src/server/bridges/ThreadBridge'; export class TestsThreadBridge extends ThreadBridge { diff --git a/packages/apps-engine/tests/test-data/bridges/uiIntegrationBridge.ts b/packages/apps/tests/test-data/bridges/uiIntegrationBridge.ts similarity index 60% rename from packages/apps-engine/tests/test-data/bridges/uiIntegrationBridge.ts rename to packages/apps/tests/test-data/bridges/uiIntegrationBridge.ts index 3d9d7797cb96e..40b522bc65290 100644 --- a/packages/apps-engine/tests/test-data/bridges/uiIntegrationBridge.ts +++ b/packages/apps/tests/test-data/bridges/uiIntegrationBridge.ts @@ -1,5 +1,6 @@ -import type { IUIKitInteractionParam } from '../../../src/definition/accessors/IUIController'; -import type { IUser } from '../../../src/definition/users'; +import type { IUIKitInteractionParam } from '@rocket.chat/apps-engine/definition/accessors/IUIController'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; + import { UiInteractionBridge } from '../../../src/server/bridges'; export class TestsUiIntegrationBridge extends UiInteractionBridge { diff --git a/packages/apps-engine/tests/test-data/bridges/uploadBridge.ts b/packages/apps/tests/test-data/bridges/uploadBridge.ts similarity index 74% rename from packages/apps-engine/tests/test-data/bridges/uploadBridge.ts rename to packages/apps/tests/test-data/bridges/uploadBridge.ts index 8780480b18f88..d15221897d940 100644 --- a/packages/apps-engine/tests/test-data/bridges/uploadBridge.ts +++ b/packages/apps/tests/test-data/bridges/uploadBridge.ts @@ -1,5 +1,6 @@ -import type { IUpload } from '../../../src/definition/uploads'; -import type { IUploadDetails } from '../../../src/definition/uploads/IUploadDetails'; +import type { IUpload } from '@rocket.chat/apps-engine/definition/uploads'; +import type { IUploadDetails } from '@rocket.chat/apps-engine/definition/uploads/IUploadDetails'; + import { UploadBridge } from '../../../src/server/bridges/UploadBridge'; export class TestUploadBridge extends UploadBridge { diff --git a/packages/apps-engine/tests/test-data/bridges/userBridge.ts b/packages/apps/tests/test-data/bridges/userBridge.ts similarity index 94% rename from packages/apps-engine/tests/test-data/bridges/userBridge.ts rename to packages/apps/tests/test-data/bridges/userBridge.ts index 0153487c392f8..071b80f488e1f 100644 --- a/packages/apps-engine/tests/test-data/bridges/userBridge.ts +++ b/packages/apps/tests/test-data/bridges/userBridge.ts @@ -1,4 +1,5 @@ -import type { IUser, UserType } from '../../../src/definition/users'; +import type { IUser, UserType } from '@rocket.chat/apps-engine/definition/users'; + import { UserBridge } from '../../../src/server/bridges'; export class TestsUserBridge extends UserBridge { diff --git a/packages/apps-engine/tests/test-data/bridges/videoConferenceBridge.ts b/packages/apps/tests/test-data/bridges/videoConferenceBridge.ts similarity index 77% rename from packages/apps-engine/tests/test-data/bridges/videoConferenceBridge.ts rename to packages/apps/tests/test-data/bridges/videoConferenceBridge.ts index ecb93f647e3a1..b8b34c70a9b8b 100644 --- a/packages/apps-engine/tests/test-data/bridges/videoConferenceBridge.ts +++ b/packages/apps/tests/test-data/bridges/videoConferenceBridge.ts @@ -1,5 +1,6 @@ -import type { IVideoConfProvider } from '../../../src/definition/videoConfProviders'; -import type { VideoConference, AppVideoConference } from '../../../src/definition/videoConferences'; +import type { IVideoConfProvider } from '@rocket.chat/apps-engine/definition/videoConfProviders'; +import type { VideoConference, AppVideoConference } from '@rocket.chat/apps-engine/definition/videoConferences'; + import { VideoConferenceBridge } from '../../../src/server/bridges'; export class TestsVideoConferenceBridge extends VideoConferenceBridge { diff --git a/packages/apps-engine/tests/test-data/misc/fake-library-file.d.ts b/packages/apps/tests/test-data/misc/fake-library-file.d.ts similarity index 100% rename from packages/apps-engine/tests/test-data/misc/fake-library-file.d.ts rename to packages/apps/tests/test-data/misc/fake-library-file.d.ts diff --git a/packages/apps-engine/tests/test-data/storage/TestSourceStorage.ts b/packages/apps/tests/test-data/storage/TestSourceStorage.ts similarity index 100% rename from packages/apps-engine/tests/test-data/storage/TestSourceStorage.ts rename to packages/apps/tests/test-data/storage/TestSourceStorage.ts diff --git a/packages/apps-engine/tests/test-data/storage/logStorage.ts b/packages/apps/tests/test-data/storage/logStorage.ts similarity index 100% rename from packages/apps-engine/tests/test-data/storage/logStorage.ts rename to packages/apps/tests/test-data/storage/logStorage.ts diff --git a/packages/apps-engine/tests/test-data/storage/storage.ts b/packages/apps/tests/test-data/storage/storage.ts similarity index 93% rename from packages/apps-engine/tests/test-data/storage/storage.ts rename to packages/apps/tests/test-data/storage/storage.ts index fdc9947c4172f..1e95f5372e41d 100644 --- a/packages/apps-engine/tests/test-data/storage/storage.ts +++ b/packages/apps/tests/test-data/storage/storage.ts @@ -1,6 +1,7 @@ -import type { AppStatus } from '../../../src/definition/AppStatus'; -import type { IAppInfo } from '../../../src/definition/metadata'; -import type { ISetting } from '../../../src/definition/settings'; +import type { AppStatus } from '@rocket.chat/apps-engine/definition/AppStatus'; +import type { IAppInfo } from '@rocket.chat/apps-engine/definition/metadata'; +import type { ISetting } from '@rocket.chat/apps-engine/definition/settings'; + import type { IMarketplaceInfo } from '../../../src/server/marketplace'; import type { IAppStorageItem } from '../../../src/server/storage'; import { AppMetadataStorage } from '../../../src/server/storage'; diff --git a/packages/apps-engine/tests/test-data/utilities.ts b/packages/apps/tests/test-data/utilities.ts similarity index 91% rename from packages/apps-engine/tests/test-data/utilities.ts rename to packages/apps/tests/test-data/utilities.ts index fe1a6986506ee..b9e464d8fa682 100644 --- a/packages/apps-engine/tests/test-data/utilities.ts +++ b/packages/apps/tests/test-data/utilities.ts @@ -1,45 +1,46 @@ import * as os from 'os'; -import { TestsAppBridges } from './bridges/appBridges'; -import { TestSourceStorage } from './storage/TestSourceStorage'; -import { TestsAppLogStorage } from './storage/logStorage'; -import { TestsAppStorage } from './storage/storage'; -import type { AppOutboundCommunicationProviderManager } from '../../server/managers/AppOutboundCommunicationProviderManager'; -import { AppStatus } from '../../src/definition/AppStatus'; -import type { IHttp, IModify, IPersistence, IRead } from '../../src/definition/accessors'; -import { HttpStatusCode } from '../../src/definition/accessors'; -import type { IApi, IApiRequest, IApiResponse } from '../../src/definition/api'; -import { ApiSecurity, ApiVisibility } from '../../src/definition/api'; -import type { IApiEndpointInfo } from '../../src/definition/api/IApiEndpointInfo'; -import type { IMessage, IMessageAttachment, IMessageRaw } from '../../src/definition/messages'; +import { AppStatus } from '@rocket.chat/apps-engine/definition/AppStatus'; +import type { IHttp, IModify, IPersistence, IRead } from '@rocket.chat/apps-engine/definition/accessors'; +import { HttpStatusCode } from '@rocket.chat/apps-engine/definition/accessors'; +import type { IApi, IApiRequest, IApiResponse } from '@rocket.chat/apps-engine/definition/api'; +import { ApiSecurity, ApiVisibility } from '@rocket.chat/apps-engine/definition/api'; +import type { IApiEndpointInfo } from '@rocket.chat/apps-engine/definition/api/IApiEndpointInfo'; +import type { IMessage, IMessageAttachment, IMessageRaw } from '@rocket.chat/apps-engine/definition/messages'; import type { IOutboundEmailMessageProvider, IOutboundMessage, IOutboundPhoneMessageProvider, ProviderMetadata, -} from '../../src/definition/outboundCommunication'; -import type { IRoom } from '../../src/definition/rooms'; -import { RoomType } from '../../src/definition/rooms'; -import type { ISetting } from '../../src/definition/settings'; -import { SettingType } from '../../src/definition/settings'; +} from '@rocket.chat/apps-engine/definition/outboundCommunication'; +import type { IRoom } from '@rocket.chat/apps-engine/definition/rooms'; +import { RoomType } from '@rocket.chat/apps-engine/definition/rooms'; +import type { ISetting } from '@rocket.chat/apps-engine/definition/settings'; +import { SettingType } from '@rocket.chat/apps-engine/definition/settings'; import type { ISlashCommand, ISlashCommandPreview, ISlashCommandPreviewItem, SlashCommandContext, -} from '../../src/definition/slashcommands'; -import type { IUser } from '../../src/definition/users'; -import { UserStatusConnection, UserType } from '../../src/definition/users'; +} from '@rocket.chat/apps-engine/definition/slashcommands'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users'; +import { UserStatusConnection, UserType } from '@rocket.chat/apps-engine/definition/users'; import type { IVideoConferenceOptions, IVideoConfProvider, VideoConfData, VideoConfDataExtended, -} from '../../src/definition/videoConfProviders'; -import type { AppVideoConference } from '../../src/definition/videoConferences/AppVideoConference'; -import type { VideoConference } from '../../src/definition/videoConferences/IVideoConference'; -import { VideoConferenceStatus } from '../../src/definition/videoConferences/IVideoConference'; -import type { IVideoConferenceUser } from '../../src/definition/videoConferences/IVideoConferenceUser'; +} from '@rocket.chat/apps-engine/definition/videoConfProviders'; +import type { AppVideoConference } from '@rocket.chat/apps-engine/definition/videoConferences/AppVideoConference'; +import type { VideoConference } from '@rocket.chat/apps-engine/definition/videoConferences/IVideoConference'; +import { VideoConferenceStatus } from '@rocket.chat/apps-engine/definition/videoConferences/IVideoConference'; +import type { IVideoConferenceUser } from '@rocket.chat/apps-engine/definition/videoConferences/IVideoConferenceUser'; + +import { TestsAppBridges } from './bridges/appBridges'; +import { TestSourceStorage } from './storage/TestSourceStorage'; +import { TestsAppLogStorage } from './storage/logStorage'; +import { TestsAppStorage } from './storage/storage'; +import type { AppOutboundCommunicationProviderManager } from '../../server/managers/AppOutboundCommunicationProviderManager'; import type { AppManager } from '../../src/server/AppManager'; import { ProxiedApp } from '../../src/server/ProxiedApp'; import type { AppBridges } from '../../src/server/bridges'; diff --git a/packages/apps-engine/tests/tsconfig.json b/packages/apps/tests/tsconfig.json similarity index 100% rename from packages/apps-engine/tests/tsconfig.json rename to packages/apps/tests/tsconfig.json diff --git a/packages/apps/tsconfig.json b/packages/apps/tsconfig.json index e00a45b253fa4..3e395a0d35b89 100644 --- a/packages/apps/tsconfig.json +++ b/packages/apps/tsconfig.json @@ -3,7 +3,11 @@ "compilerOptions": { "declaration": true, "rootDir": "./src", - "outDir": "./dist" + "outDir": "./dist", + "strict": false, + "noUnusedParameters": false, + "noImplicitOverride": false, + "noImplicitReturns": false }, "include": ["./src/**/*"] } diff --git a/packages/apps/turbo.json b/packages/apps/turbo.json new file mode 100644 index 0000000000000..0c2eb270418c2 --- /dev/null +++ b/packages/apps/turbo.json @@ -0,0 +1,10 @@ +{ + "extends": ["//"], + "tasks": { + "build": { + "dependsOn": ["^build"], + "inputs": ["$TURBO_DEFAULT$", "$TURBO_ROOT$/.tool-versions"], + "outputs": ["deno-runtime/**", "scripts/**", ".deno-cache/**", "dist/**"] + } + } +} diff --git a/packages/core-services/package.json b/packages/core-services/package.json index 12423f388bde2..30f4f74e1e5a7 100644 --- a/packages/core-services/package.json +++ b/packages/core-services/package.json @@ -29,7 +29,7 @@ "@rocket.chat/ui-kit": "workspace:~" }, "devDependencies": { - "@rocket.chat/apps-engine": "workspace:^", + "@rocket.chat/apps": "workspace:^", "@rocket.chat/jest-presets": "workspace:~", "@rocket.chat/tsconfig": "workspace:*", "@types/jest": "~30.0.0", diff --git a/packages/core-services/src/types/IAppsEngineService.ts b/packages/core-services/src/types/IAppsEngineService.ts index 5d026c5149fb9..361112ce42945 100644 --- a/packages/core-services/src/types/IAppsEngineService.ts +++ b/packages/core-services/src/types/IAppsEngineService.ts @@ -1,7 +1,7 @@ +import type { IGetAppsFilter } from '@rocket.chat/apps/dist/server/IGetAppsFilter'; +import type { IAppStorageItem } from '@rocket.chat/apps/dist/server/storage'; import type { AppStatus } from '@rocket.chat/apps-engine/definition/AppStatus'; import type { IAppInfo } from '@rocket.chat/apps-engine/definition/metadata'; -import type { IGetAppsFilter } from '@rocket.chat/apps-engine/server/IGetAppsFilter'; -import type { IAppStorageItem } from '@rocket.chat/apps-engine/server/storage'; export type AppStatusReport = { [appId: string]: { instanceId: string; isLocal: boolean; status: AppStatus }[]; diff --git a/yarn.lock b/yarn.lock index fbda05a645c87..a06062d0bd401 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5314,10 +5314,10 @@ __metadata: languageName: node linkType: hard -"@msgpack/msgpack@npm:3.0.1": - version: 3.0.1 - resolution: "@msgpack/msgpack@npm:3.0.1" - checksum: 10/952c847b2d23f74f8df09732466794229044fc6483796dd4080c9f0eae36bb6b418dc714e86566b16a2ed8838ec1bd97f7a50ec900cd4894225c46e47dd3f7d8 +"@msgpack/msgpack@npm:3.0.0-beta2": + version: 3.0.0-beta2 + resolution: "@msgpack/msgpack@npm:3.0.0-beta2" + checksum: 10/d02f9221aa152cbd2977d1f56dc591baa2a37420a694cbc7e54ff0724f56ac0523e94de010e56bb845d67a1f2226c1761064b5777e63e9fc26884f4144d391a7 languageName: node linkType: hard @@ -8905,31 +8905,12 @@ __metadata: version: 0.0.0-use.local resolution: "@rocket.chat/apps-engine@workspace:packages/apps-engine" dependencies: - "@msgpack/msgpack": "npm:3.0.1" "@rocket.chat/ui-kit": "workspace:~" - "@seald-io/nedb": "npm:^4.1.2" - "@types/adm-zip": "npm:^0.5.8" - "@types/debug": "npm:^4.1.13" - "@types/lodash.clonedeep": "npm:^4.5.9" - "@types/node": "npm:~22.19.17" - "@types/semver": "npm:^7.5.8" - "@types/stack-trace": "npm:0.0.33" - "@types/uuid": "npm:~10.0.0" - adm-zip: "npm:^0.5.17" - debug: "npm:^4.3.7" - esbuild: "npm:~0.27.7" - eslint: "npm:~9.39.4" - jose: "npm:^4.15.9" - jsonrpc-lite: "npm:^2.2.0" - lodash.clonedeep: "npm:^4.5.0" + "@types/node": "npm:~22.16.5" + eslint: "npm:~9.39.3" npm-run-all: "npm:^4.1.5" - nyc: "npm:^17.1.0" rimraf: "npm:^6.0.1" - semver: "npm:^7.6.3" - stack-trace: "npm:0.0.10" - tap-bark: "npm:^1.0.0" - ts-node: "npm:^6.2.0" - typedoc: "npm:~0.28.19" + typedoc: "npm:~0.28.16" typescript: "npm:~5.9.3" uuid: "npm:~11.0.5" languageName: unknown @@ -8939,12 +8920,33 @@ __metadata: version: 0.0.0-use.local resolution: "@rocket.chat/apps@workspace:packages/apps" dependencies: + "@msgpack/msgpack": "npm:3.0.0-beta2" "@rocket.chat/apps-engine": "workspace:^" "@rocket.chat/core-typings": "workspace:^" "@rocket.chat/model-typings": "workspace:^" "@rocket.chat/tsconfig": "workspace:*" + "@seald-io/nedb": "npm:^4.1.2" + "@types/adm-zip": "npm:^0.5.7" + "@types/debug": "npm:^4.1.12" + "@types/lodash.clonedeep": "npm:^4.5.9" + "@types/node": "npm:~22.16.5" + "@types/semver": "npm:^7.5.8" + "@types/stack-trace": "npm:0.0.33" + "@types/uuid": "npm:~10.0.0" + adm-zip: "npm:^0.5.16" + debug: "npm:^4.3.7" + esbuild: "npm:~0.27.3" eslint: "npm:~9.39.4" + jose: "npm:^4.15.9" + jsonrpc-lite: "npm:^2.2.0" + lodash.clonedeep: "npm:^4.5.0" + npm-run-all: "npm:^4.1.5" + rimraf: "npm:^6.0.1" + semver: "npm:^7.6.3" + stack-trace: "npm:0.0.10" + ts-node: "npm:^6.2.0" typescript: "npm:~5.9.3" + uuid: "npm:~11.0.5" languageName: unknown linkType: soft @@ -9009,7 +9011,7 @@ __metadata: version: 0.0.0-use.local resolution: "@rocket.chat/core-services@workspace:packages/core-services" dependencies: - "@rocket.chat/apps-engine": "workspace:^" + "@rocket.chat/apps": "workspace:^" "@rocket.chat/core-typings": "workspace:^" "@rocket.chat/federation-sdk": "npm:0.6.3" "@rocket.chat/http-router": "workspace:^" @@ -13594,7 +13596,7 @@ __metadata: languageName: node linkType: hard -"@types/adm-zip@npm:^0.5.8": +"@types/adm-zip@npm:^0.5.7, @types/adm-zip@npm:^0.5.8": version: 0.5.8 resolution: "@types/adm-zip@npm:0.5.8" dependencies: @@ -14153,7 +14155,7 @@ __metadata: languageName: node linkType: hard -"@types/debug@npm:^4.1.13": +"@types/debug@npm:^4.1.12, @types/debug@npm:^4.1.13": version: 4.1.13 resolution: "@types/debug@npm:4.1.13" dependencies: @@ -14745,7 +14747,7 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:>=0.0.2, @types/node@npm:>=12, @types/node@npm:>=12.0.0, @types/node@npm:>=13.7.0, @types/node@npm:>=18, @types/node@npm:>=18.0.0": +"@types/node@npm:*, @types/node@npm:>=12, @types/node@npm:>=12.0.0, @types/node@npm:>=13.7.0, @types/node@npm:>=18, @types/node@npm:>=18.0.0": version: 22.16.1 resolution: "@types/node@npm:22.16.1" dependencies: @@ -14768,6 +14770,15 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:~22.16.5": + version: 22.16.5 + resolution: "@types/node@npm:22.16.5" + dependencies: + undici-types: "npm:~6.21.0" + checksum: 10/ba45b5c9113cbc5edb12960fcfe7e80db2c998af5c1931264240695b27d756570d92462150b95781bd67a03aa82111cc970ab0f4504eb99213edff8bf425354e + languageName: node + linkType: hard + "@types/node@npm:~22.19.17": version: 22.19.17 resolution: "@types/node@npm:22.19.17" @@ -16316,13 +16327,6 @@ __metadata: languageName: node linkType: hard -"ansi-regex@npm:^2.0.0": - version: 2.1.1 - resolution: "ansi-regex@npm:2.1.1" - checksum: 10/190abd03e4ff86794f338a31795d262c1dfe8c91f7e01d04f13f646f1dcb16c5800818f886047876f1272f065570ab86b24b99089f8b68a0e11ff19aed4ca8f1 - languageName: node - linkType: hard - "ansi-regex@npm:^5.0.1": version: 5.0.1 resolution: "ansi-regex@npm:5.0.1" @@ -16337,13 +16341,6 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^2.2.1": - version: 2.2.1 - resolution: "ansi-styles@npm:2.2.1" - checksum: 10/ebc0e00381f2a29000d1dac8466a640ce11943cef3bda3cd0020dc042e31e1058ab59bf6169cd794a54c3a7338a61ebc404b7c91e004092dd20e028c432c9c2c - languageName: node - linkType: hard - "ansi-styles@npm:^3.2.1": version: 3.2.1 resolution: "ansi-styles@npm:3.2.1" @@ -18266,19 +18263,6 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^1.1.3": - version: 1.1.3 - resolution: "chalk@npm:1.1.3" - dependencies: - ansi-styles: "npm:^2.2.1" - escape-string-regexp: "npm:^1.0.2" - has-ansi: "npm:^2.0.0" - strip-ansi: "npm:^3.0.0" - supports-color: "npm:^2.0.0" - checksum: 10/abcf10da02afde04cc615f06c4bdb3ffc70d2bfbf37e0df03bb88b7459a9411dab4d01210745b773abc936031530a20355f1facc4bee1bbf08613d8fdcfb3aeb - languageName: node - linkType: hard - "chalk@npm:^3.0.0": version: 3.0.0 resolution: "chalk@npm:3.0.0" @@ -20701,7 +20685,7 @@ __metadata: languageName: node linkType: hard -"duplexer@npm:^0.1.1, duplexer@npm:~0.1.1": +"duplexer@npm:~0.1.1": version: 0.1.2 resolution: "duplexer@npm:0.1.2" checksum: 10/62ba61a830c56801db28ff6305c7d289b6dc9f859054e8c982abd8ee0b0a14d2e9a8e7d086ffee12e868d43e2bbe8a964be55ddbd8c8957714c87373c7a4f9b0 @@ -21415,7 +21399,7 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:~0.27.0, esbuild@npm:~0.27.7": +"esbuild@npm:~0.27.0, esbuild@npm:~0.27.3": version: 0.27.7 resolution: "esbuild@npm:0.27.7" dependencies: @@ -21861,7 +21845,7 @@ __metadata: languageName: node linkType: hard -"eslint@npm:~9.39.4": +"eslint@npm:~9.39.3, eslint@npm:~9.39.4": version: 9.39.4 resolution: "eslint@npm:9.39.4" dependencies: @@ -22050,13 +22034,6 @@ __metadata: languageName: node linkType: hard -"events-to-array@npm:^1.0.1": - version: 1.1.2 - resolution: "events-to-array@npm:1.1.2" - checksum: 10/4107636c81c9f4dd6fe3545e37cff29c0e772cf806597939e048f43ad0594efc22be2f403c1d7035c04084c9f9389795224d8bc70c0c3df097e0ece21959430a - languageName: node - linkType: hard - "events-universal@npm:^1.0.0": version: 1.0.1 resolution: "events-universal@npm:1.0.1" @@ -23616,15 +23593,6 @@ __metadata: languageName: node linkType: hard -"has-ansi@npm:^2.0.0": - version: 2.0.0 - resolution: "has-ansi@npm:2.0.0" - dependencies: - ansi-regex: "npm:^2.0.0" - checksum: 10/1b51daa0214440db171ff359d0a2d17bc20061164c57e76234f614c91dbd2a79ddd68dfc8ee73629366f7be45a6df5f2ea9de83f52e1ca24433f2cc78c35d8ec - languageName: node - linkType: hard - "has-bigints@npm:^1.0.2": version: 1.0.2 resolution: "has-bigints@npm:1.0.2" @@ -26605,7 +26573,7 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^3.13.1, js-yaml@npm:^3.14.1, js-yaml@npm:^3.2.7, js-yaml@npm:^3.6.1": +"js-yaml@npm:^3.13.1, js-yaml@npm:^3.14.1, js-yaml@npm:^3.6.1": version: 3.14.1 resolution: "js-yaml@npm:3.14.1" dependencies: @@ -32631,7 +32599,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^2, readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.5, readable-stream@npm:^2.3.8, readable-stream@npm:~2.3.6": +"readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.5, readable-stream@npm:^2.3.8": version: 2.3.8 resolution: "readable-stream@npm:2.3.8" dependencies: @@ -34964,15 +34932,6 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:^3.0.0": - version: 3.0.1 - resolution: "strip-ansi@npm:3.0.1" - dependencies: - ansi-regex: "npm:^2.0.0" - checksum: 10/9b974de611ce5075c70629c00fa98c46144043db92ae17748fb780f706f7a789e9989fd10597b7c2053ae8d1513fd707816a91f1879b2f71e6ac0b6a863db465 - languageName: node - linkType: hard - "strip-ansi@npm:^7.0.1": version: 7.1.0 resolution: "strip-ansi@npm:7.1.0" @@ -35251,13 +35210,6 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^2.0.0": - version: 2.0.0 - resolution: "supports-color@npm:2.0.0" - checksum: 10/d2957d19e782a806abc3e8616b6648cc1e70c3ebe94fb1c2d43160686f6d79cd7c9f22c4853bc4a362d89d1c249ab6d429788c5f6c83b3086e6d763024bf4581 - languageName: node - linkType: hard - "supports-color@npm:^5.3.0": version: 5.5.0 resolution: "supports-color@npm:5.5.0" @@ -35415,37 +35367,6 @@ __metadata: languageName: node linkType: hard -"tap-bark@npm:^1.0.0": - version: 1.0.0 - resolution: "tap-bark@npm:1.0.0" - dependencies: - "@types/node": "npm:>=0.0.2" - chalk: "npm:^1.1.3" - duplexer: "npm:^0.1.1" - tap-parser: "npm:^3.0.3" - through2: "npm:^2.0.1" - bin: - tap-bark: index.js - checksum: 10/16d921d4331969822b706a1775d21d97675366a5af80400a073901f4063d4b65045e199660e165ce2c30b6fcf96d36640dd2eafd973ceb36356ecc2b92d346ba - languageName: node - linkType: hard - -"tap-parser@npm:^3.0.3": - version: 3.0.5 - resolution: "tap-parser@npm:3.0.5" - dependencies: - events-to-array: "npm:^1.0.1" - js-yaml: "npm:^3.2.7" - readable-stream: "npm:^2" - dependenciesMeta: - readable-stream: - optional: true - bin: - tap-parser: bin/cmd.js - checksum: 10/f53e204d1d277e0264596d3c1dd909b1d9e275bd08c194d190d93c0b2b58e779edbe4ae92e2ee4289da7de215a50385a340a5057f3fa5ffa9cfc72213b115d21 - languageName: node - linkType: hard - "tapable@npm:^2.0.0, tapable@npm:^2.2.0, tapable@npm:^2.2.1": version: 2.2.1 resolution: "tapable@npm:2.2.1" @@ -35714,16 +35635,6 @@ __metadata: languageName: node linkType: hard -"through2@npm:^2.0.1": - version: 2.0.5 - resolution: "through2@npm:2.0.5" - dependencies: - readable-stream: "npm:~2.3.6" - xtend: "npm:~4.0.1" - checksum: 10/cd71f7dcdc7a8204fea003a14a433ef99384b7d4e31f5497e1f9f622b3cf3be3691f908455f98723bdc80922a53af7fa10c3b7abbe51c6fd3d536dbc7850e2c4 - languageName: node - linkType: hard - "through@npm:2, through@npm:^2.3.6, through@npm:~2.3, through@npm:~2.3.1": version: 2.3.8 resolution: "through@npm:2.3.8" @@ -36473,7 +36384,7 @@ __metadata: languageName: node linkType: hard -"typedoc@npm:~0.28.19": +"typedoc@npm:~0.28.16": version: 0.28.19 resolution: "typedoc@npm:0.28.19" dependencies: @@ -38037,7 +37948,7 @@ __metadata: languageName: node linkType: hard -"xtend@npm:^4.0.0, xtend@npm:^4.0.2, xtend@npm:~4.0.0, xtend@npm:~4.0.1": +"xtend@npm:^4.0.0, xtend@npm:^4.0.2, xtend@npm:~4.0.0": version: 4.0.2 resolution: "xtend@npm:4.0.2" checksum: 10/ac5dfa738b21f6e7f0dd6e65e1b3155036d68104e67e5d5d1bde74892e327d7e5636a076f625599dc394330a731861e87343ff184b0047fef1360a7ec0a5a36a