diff --git a/packages/apps/deno-runtime/acorn-walk.d.ts b/packages/apps/deno-runtime/acorn-walk.d.ts index 56db3bc38e9d2..49f3d6e33df3a 100644 --- a/packages/apps/deno-runtime/acorn-walk.d.ts +++ b/packages/apps/deno-runtime/acorn-walk.d.ts @@ -1,4 +1,4 @@ -import type acorn from './acorn.d.ts'; +import type acorn from './acorn.d'; export type FullWalkerCallback = ( node: acorn.AnyNode, diff --git a/packages/apps/deno-runtime/error-handlers.ts b/packages/apps/deno-runtime/error-handlers.ts index e26a5ad6b2d86..5ce6542cd679e 100644 --- a/packages/apps/deno-runtime/error-handlers.ts +++ b/packages/apps/deno-runtime/error-handlers.ts @@ -1,4 +1,4 @@ -import * as Messenger from './lib/messenger.ts'; +import * as Messenger from './lib/messenger'; export function unhandledRejectionListener(event: PromiseRejectionEvent) { event.preventDefault(); diff --git a/packages/apps/deno-runtime/handlers/api-handler.ts b/packages/apps/deno-runtime/handlers/api-handler.ts index d014366c99d1f..b59b471981942 100644 --- a/packages/apps/deno-runtime/handlers/api-handler.ts +++ b/packages/apps/deno-runtime/handlers/api-handler.ts @@ -1,10 +1,10 @@ import type { IApiEndpoint } from '@rocket.chat/apps-engine/definition/api/IApiEndpoint'; import { Defined, JsonRpcError } from 'jsonrpc-lite'; -import { AppObjectRegistry } from '../AppObjectRegistry.ts'; -import { AppAccessorsInstance } from '../lib/accessors/mod.ts'; -import { RequestContext } from '../lib/requestContext.ts'; -import { wrapComposedApp } from '../lib/wrapAppForRequest.ts'; +import { AppObjectRegistry } from '../AppObjectRegistry'; +import { AppAccessorsInstance } from '../lib/accessors/mod'; +import { RequestContext } from '../lib/requestContext'; +import { wrapComposedApp } from '../lib/wrapAppForRequest'; export default async function apiHandler(request: RequestContext): Promise { const { method: call, params } = request; diff --git a/packages/apps/deno-runtime/handlers/app/construct.ts b/packages/apps/deno-runtime/handlers/app/construct.ts index 7ad0baeb7823b..19a2743169efb 100644 --- a/packages/apps/deno-runtime/handlers/app/construct.ts +++ b/packages/apps/deno-runtime/handlers/app/construct.ts @@ -2,11 +2,11 @@ import { Socket } from 'node:net'; import type { IParseAppPackageResult } from '@rocket.chat/apps/dist/server/compiler/IParseAppPackageResult'; -import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; -import { require } from '../../lib/require.ts'; -import { sanitizeDeprecatedUsage } from '../../lib/sanitizeDeprecatedUsage.ts'; -import { AppAccessorsInstance } from '../../lib/accessors/mod.ts'; -import { RequestContext } from '../../lib/requestContext.ts'; +import { AppObjectRegistry } from '../../AppObjectRegistry'; +import { require } from '../../lib/require'; +import { sanitizeDeprecatedUsage } from '../../lib/sanitizeDeprecatedUsage'; +import { AppAccessorsInstance } from '../../lib/accessors/mod'; +import { RequestContext } from '../../lib/requestContext'; const ALLOWED_NATIVE_MODULES = ['path', 'url', 'crypto', 'buffer', 'stream', 'net', 'http', 'https', 'zlib', 'util', 'punycode', 'os', 'querystring', 'fs']; const ALLOWED_EXTERNAL_MODULES = ['uuid']; diff --git a/packages/apps/deno-runtime/handlers/app/handleGetStatus.ts b/packages/apps/deno-runtime/handlers/app/handleGetStatus.ts index 30c78d2430904..38635a02c60ae 100644 --- a/packages/apps/deno-runtime/handlers/app/handleGetStatus.ts +++ b/packages/apps/deno-runtime/handlers/app/handleGetStatus.ts @@ -1,6 +1,6 @@ import type { App } from '@rocket.chat/apps-engine/definition/App'; -import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; +import { AppObjectRegistry } from '../../AppObjectRegistry'; export default function handleGetStatus(): Promise { const app = AppObjectRegistry.get('app'); diff --git a/packages/apps/deno-runtime/handlers/app/handleInitialize.ts b/packages/apps/deno-runtime/handlers/app/handleInitialize.ts index 4be65241c8f56..136e93d2af46a 100644 --- a/packages/apps/deno-runtime/handlers/app/handleInitialize.ts +++ b/packages/apps/deno-runtime/handlers/app/handleInitialize.ts @@ -1,9 +1,9 @@ import type { App } from '@rocket.chat/apps-engine/definition/App'; -import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; -import { AppAccessorsInstance } from '../../lib/accessors/mod.ts'; -import { RequestContext } from '../../lib/requestContext.ts'; -import { wrapAppForRequest } from '../../lib/wrapAppForRequest.ts'; +import { AppObjectRegistry } from '../../AppObjectRegistry'; +import { AppAccessorsInstance } from '../../lib/accessors/mod'; +import { RequestContext } from '../../lib/requestContext'; +import { wrapAppForRequest } from '../../lib/wrapAppForRequest'; export default async function handleInitialize(request: RequestContext): Promise { const app = AppObjectRegistry.get('app'); diff --git a/packages/apps/deno-runtime/handlers/app/handleOnDisable.ts b/packages/apps/deno-runtime/handlers/app/handleOnDisable.ts index 170f25f326009..f84e6a34abb5e 100644 --- a/packages/apps/deno-runtime/handlers/app/handleOnDisable.ts +++ b/packages/apps/deno-runtime/handlers/app/handleOnDisable.ts @@ -1,9 +1,9 @@ import type { App } from '@rocket.chat/apps-engine/definition/App'; -import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; -import { AppAccessorsInstance } from '../../lib/accessors/mod.ts'; -import { RequestContext } from '../../lib/requestContext.ts'; -import { wrapAppForRequest } from '../../lib/wrapAppForRequest.ts'; +import { AppObjectRegistry } from '../../AppObjectRegistry'; +import { AppAccessorsInstance } from '../../lib/accessors/mod'; +import { RequestContext } from '../../lib/requestContext'; +import { wrapAppForRequest } from '../../lib/wrapAppForRequest'; export default async function handleOnDisable(request: RequestContext): Promise { const app = AppObjectRegistry.get('app'); diff --git a/packages/apps/deno-runtime/handlers/app/handleOnEnable.ts b/packages/apps/deno-runtime/handlers/app/handleOnEnable.ts index 320d5772a01d0..f36eaecf951b2 100644 --- a/packages/apps/deno-runtime/handlers/app/handleOnEnable.ts +++ b/packages/apps/deno-runtime/handlers/app/handleOnEnable.ts @@ -1,9 +1,9 @@ import type { App } from '@rocket.chat/apps-engine/definition/App'; -import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; -import { AppAccessorsInstance } from '../../lib/accessors/mod.ts'; -import { RequestContext } from '../../lib/requestContext.ts'; -import { wrapAppForRequest } from '../../lib/wrapAppForRequest.ts'; +import { AppObjectRegistry } from '../../AppObjectRegistry'; +import { AppAccessorsInstance } from '../../lib/accessors/mod'; +import { RequestContext } from '../../lib/requestContext'; +import { wrapAppForRequest } from '../../lib/wrapAppForRequest'; export default function handleOnEnable(request: RequestContext): Promise { const app = AppObjectRegistry.get('app'); diff --git a/packages/apps/deno-runtime/handlers/app/handleOnInstall.ts b/packages/apps/deno-runtime/handlers/app/handleOnInstall.ts index d779728bc0c9c..ca1bbfd2f56f7 100644 --- a/packages/apps/deno-runtime/handlers/app/handleOnInstall.ts +++ b/packages/apps/deno-runtime/handlers/app/handleOnInstall.ts @@ -1,9 +1,9 @@ import type { App } from '@rocket.chat/apps-engine/definition/App'; -import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; -import { AppAccessorsInstance } from '../../lib/accessors/mod.ts'; -import { RequestContext } from '../../lib/requestContext.ts'; -import { wrapAppForRequest } from '../../lib/wrapAppForRequest.ts'; +import { AppObjectRegistry } from '../../AppObjectRegistry'; +import { AppAccessorsInstance } from '../../lib/accessors/mod'; +import { RequestContext } from '../../lib/requestContext'; +import { wrapAppForRequest } from '../../lib/wrapAppForRequest'; export default async function handleOnInstall(request: RequestContext): Promise { const { params } = request; diff --git a/packages/apps/deno-runtime/handlers/app/handleOnPreSettingUpdate.ts b/packages/apps/deno-runtime/handlers/app/handleOnPreSettingUpdate.ts index 301dd5aa7f2c8..97a99e151eb02 100644 --- a/packages/apps/deno-runtime/handlers/app/handleOnPreSettingUpdate.ts +++ b/packages/apps/deno-runtime/handlers/app/handleOnPreSettingUpdate.ts @@ -1,9 +1,9 @@ import type { App } from '@rocket.chat/apps-engine/definition/App'; -import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; -import { AppAccessorsInstance } from '../../lib/accessors/mod.ts'; -import { RequestContext } from '../../lib/requestContext.ts'; -import { wrapAppForRequest } from '../../lib/wrapAppForRequest.ts'; +import { AppObjectRegistry } from '../../AppObjectRegistry'; +import { AppAccessorsInstance } from '../../lib/accessors/mod'; +import { RequestContext } from '../../lib/requestContext'; +import { wrapAppForRequest } from '../../lib/wrapAppForRequest'; export default function handleOnPreSettingUpdate(request: RequestContext): Promise { const { params } = request; diff --git a/packages/apps/deno-runtime/handlers/app/handleOnSettingUpdated.ts b/packages/apps/deno-runtime/handlers/app/handleOnSettingUpdated.ts index 7a2111cbfd990..cdd5d93669353 100644 --- a/packages/apps/deno-runtime/handlers/app/handleOnSettingUpdated.ts +++ b/packages/apps/deno-runtime/handlers/app/handleOnSettingUpdated.ts @@ -1,9 +1,9 @@ import type { App } from '@rocket.chat/apps-engine/definition/App'; -import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; -import { AppAccessorsInstance } from '../../lib/accessors/mod.ts'; -import { RequestContext } from '../../lib/requestContext.ts'; -import { wrapAppForRequest } from '../../lib/wrapAppForRequest.ts'; +import { AppObjectRegistry } from '../../AppObjectRegistry'; +import { AppAccessorsInstance } from '../../lib/accessors/mod'; +import { RequestContext } from '../../lib/requestContext'; +import { wrapAppForRequest } from '../../lib/wrapAppForRequest'; export default async function handleOnSettingUpdated(request: RequestContext): Promise { const { params } = request; diff --git a/packages/apps/deno-runtime/handlers/app/handleOnUninstall.ts b/packages/apps/deno-runtime/handlers/app/handleOnUninstall.ts index 7901f21f903b2..3008f822c9611 100644 --- a/packages/apps/deno-runtime/handlers/app/handleOnUninstall.ts +++ b/packages/apps/deno-runtime/handlers/app/handleOnUninstall.ts @@ -1,9 +1,9 @@ import type { App } from '@rocket.chat/apps-engine/definition/App'; -import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; -import { AppAccessorsInstance } from '../../lib/accessors/mod.ts'; -import { RequestContext } from '../../lib/requestContext.ts'; -import { wrapAppForRequest } from '../../lib/wrapAppForRequest.ts'; +import { AppObjectRegistry } from '../../AppObjectRegistry'; +import { AppAccessorsInstance } from '../../lib/accessors/mod'; +import { RequestContext } from '../../lib/requestContext'; +import { wrapAppForRequest } from '../../lib/wrapAppForRequest'; export default async function handleOnUninstall(request: RequestContext): Promise { const { params } = request; diff --git a/packages/apps/deno-runtime/handlers/app/handleOnUpdate.ts b/packages/apps/deno-runtime/handlers/app/handleOnUpdate.ts index 65f7986e0cef3..c4651c2fb25b0 100644 --- a/packages/apps/deno-runtime/handlers/app/handleOnUpdate.ts +++ b/packages/apps/deno-runtime/handlers/app/handleOnUpdate.ts @@ -1,9 +1,9 @@ import type { App } from '@rocket.chat/apps-engine/definition/App'; -import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; -import { AppAccessorsInstance } from '../../lib/accessors/mod.ts'; -import { RequestContext } from '../../lib/requestContext.ts'; -import { wrapAppForRequest } from '../../lib/wrapAppForRequest.ts'; +import { AppObjectRegistry } from '../../AppObjectRegistry'; +import { AppAccessorsInstance } from '../../lib/accessors/mod'; +import { RequestContext } from '../../lib/requestContext'; +import { wrapAppForRequest } from '../../lib/wrapAppForRequest'; export default async function handleOnUpdate(request: RequestContext): Promise { const { params } = request; diff --git a/packages/apps/deno-runtime/handlers/app/handleSetStatus.ts b/packages/apps/deno-runtime/handlers/app/handleSetStatus.ts index 136e8ccc6271d..fdae2a87f5b4d 100644 --- a/packages/apps/deno-runtime/handlers/app/handleSetStatus.ts +++ b/packages/apps/deno-runtime/handlers/app/handleSetStatus.ts @@ -1,14 +1,9 @@ import type { App } from '@rocket.chat/apps-engine/definition/App'; -import type { AppStatus as _AppStatus } from '@rocket.chat/apps-engine/definition/AppStatus'; +import { AppStatus } from '@rocket.chat/apps-engine/definition/AppStatus'; -import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; -import { require } from '../../lib/require.ts'; -import { RequestContext } from '../../lib/requestContext.ts'; -import { wrapAppForRequest } from '../../lib/wrapAppForRequest.ts'; - -const { AppStatus } = require('@rocket.chat/apps-engine/definition/AppStatus.js') as { - AppStatus: typeof _AppStatus; -}; +import { AppObjectRegistry } from '../../AppObjectRegistry'; +import { RequestContext } from '../../lib/requestContext'; +import { wrapAppForRequest } from '../../lib/wrapAppForRequest'; export default async function handleSetStatus(request: RequestContext): Promise { const { params } = request; @@ -17,7 +12,7 @@ export default async function handleSetStatus(request: RequestContext): Promise< throw new Error('Invalid params', { cause: 'invalid_param_type' }); } - const [status] = params as [typeof AppStatus]; + const [status] = params as [AppStatus]; const app = AppObjectRegistry.get('app'); diff --git a/packages/apps/deno-runtime/handlers/app/handleUploadEvents.ts b/packages/apps/deno-runtime/handlers/app/handleUploadEvents.ts index 1e203dca5d6b4..dc4b286970575 100644 --- a/packages/apps/deno-runtime/handlers/app/handleUploadEvents.ts +++ b/packages/apps/deno-runtime/handlers/app/handleUploadEvents.ts @@ -7,11 +7,11 @@ import type { IUploadDetails } from '@rocket.chat/apps-engine/definition/uploads import { toArrayBuffer } from '@std/streams'; import { Defined, JsonRpcError } from 'jsonrpc-lite'; -import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; -import { assertAppAvailable, assertHandlerFunction, isPlainObject } from '../lib/assertions.ts'; -import { AppAccessorsInstance } from '../../lib/accessors/mod.ts'; -import { RequestContext } from '../../lib/requestContext.ts'; -import { wrapAppForRequest } from '../../lib/wrapAppForRequest.ts'; +import { AppObjectRegistry } from '../../AppObjectRegistry'; +import { assertAppAvailable, assertHandlerFunction, isPlainObject } from '../lib/assertions'; +import { AppAccessorsInstance } from '../../lib/accessors/mod'; +import { RequestContext } from '../../lib/requestContext'; +import { wrapAppForRequest } from '../../lib/wrapAppForRequest'; export const uploadEvents = ['executePreFileUpload'] as const; diff --git a/packages/apps/deno-runtime/handlers/app/handler.ts b/packages/apps/deno-runtime/handlers/app/handler.ts index e0e8085813347..b873bd4b09de0 100644 --- a/packages/apps/deno-runtime/handlers/app/handler.ts +++ b/packages/apps/deno-runtime/handlers/app/handler.ts @@ -1,21 +1,21 @@ import { Defined, JsonRpcError } from 'jsonrpc-lite'; -import handleConstructApp from './construct.ts'; -import handleInitialize from './handleInitialize.ts'; -import handleGetStatus from './handleGetStatus.ts'; -import handleSetStatus from './handleSetStatus.ts'; -import handleOnEnable from './handleOnEnable.ts'; -import handleOnInstall from './handleOnInstall.ts'; -import handleOnDisable from './handleOnDisable.ts'; -import handleOnUninstall from './handleOnUninstall.ts'; -import handleOnPreSettingUpdate from './handleOnPreSettingUpdate.ts'; -import handleOnSettingUpdated from './handleOnSettingUpdated.ts'; -import handleOnUpdate from './handleOnUpdate.ts'; -import handleUploadEvents, { uploadEvents } from './handleUploadEvents.ts'; -import { isOneOf } from '../lib/assertions.ts'; -import handleListener from '../listener/handler.ts'; -import handleUIKitInteraction, { uikitInteractions } from '../uikit/handler.ts'; -import { RequestContext } from '../../lib/requestContext.ts'; +import handleConstructApp from './construct'; +import handleInitialize from './handleInitialize'; +import handleGetStatus from './handleGetStatus'; +import handleSetStatus from './handleSetStatus'; +import handleOnEnable from './handleOnEnable'; +import handleOnInstall from './handleOnInstall'; +import handleOnDisable from './handleOnDisable'; +import handleOnUninstall from './handleOnUninstall'; +import handleOnPreSettingUpdate from './handleOnPreSettingUpdate'; +import handleOnSettingUpdated from './handleOnSettingUpdated'; +import handleOnUpdate from './handleOnUpdate'; +import handleUploadEvents, { uploadEvents } from './handleUploadEvents'; +import { isOneOf } from '../lib/assertions'; +import handleListener from '../listener/handler'; +import handleUIKitInteraction, { uikitInteractions } from '../uikit/handler'; +import { RequestContext } from '../../lib/requestContext'; export default async function handleApp(request: RequestContext): Promise { const { method } = request; diff --git a/packages/apps/deno-runtime/handlers/listener/handler.ts b/packages/apps/deno-runtime/handlers/listener/handler.ts index 5dc98dea614c7..59da5f7e0e5e5 100644 --- a/packages/apps/deno-runtime/handlers/listener/handler.ts +++ b/packages/apps/deno-runtime/handlers/listener/handler.ts @@ -1,24 +1,19 @@ 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 { AppsEngineException } from '@rocket.chat/apps-engine/definition/exceptions/AppsEngineException'; import { Defined, JsonRpcError } from 'jsonrpc-lite'; -import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; -import { MessageExtender } from '../../lib/accessors/extenders/MessageExtender.ts'; -import { RoomExtender } from '../../lib/accessors/extenders/RoomExtender.ts'; -import { MessageBuilder } from '../../lib/accessors/builders/MessageBuilder.ts'; -import { RoomBuilder } from '../../lib/accessors/builders/RoomBuilder.ts'; -import { AppAccessors, AppAccessorsInstance } from '../../lib/accessors/mod.ts'; -import { require } from '../../lib/require.ts'; -import createRoom from '../../lib/roomFactory.ts'; -import { Room } from '../../lib/room.ts'; -import { RequestContext } from '../../lib/requestContext.ts'; -import { wrapAppForRequest } from '../../lib/wrapAppForRequest.ts'; - -const { AppsEngineException } = require('@rocket.chat/apps-engine/definition/exceptions/AppsEngineException.js') as { - AppsEngineException: typeof _AppsEngineException; -}; +import { AppObjectRegistry } from '../../AppObjectRegistry'; +import { MessageExtender } from '../../lib/accessors/extenders/MessageExtender'; +import { RoomExtender } from '../../lib/accessors/extenders/RoomExtender'; +import { MessageBuilder } from '../../lib/accessors/builders/MessageBuilder'; +import { RoomBuilder } from '../../lib/accessors/builders/RoomBuilder'; +import { AppAccessors, AppAccessorsInstance } from '../../lib/accessors/mod'; +import createRoom from '../../lib/roomFactory'; +import { Room } from '../../lib/room'; +import { RequestContext } from '../../lib/requestContext'; +import { wrapAppForRequest } from '../../lib/wrapAppForRequest'; export default async function handleListener(request: RequestContext): Promise { const { method, params } = request; @@ -49,7 +44,7 @@ export default async function handleListener(request: RequestContext): Promise { const { method: call, params } = request; diff --git a/packages/apps/deno-runtime/handlers/scheduler-handler.ts b/packages/apps/deno-runtime/handlers/scheduler-handler.ts index 9b6dfcad14d3b..88e53b7af5ac2 100644 --- a/packages/apps/deno-runtime/handlers/scheduler-handler.ts +++ b/packages/apps/deno-runtime/handlers/scheduler-handler.ts @@ -2,11 +2,11 @@ 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'; -import { AppAccessorsInstance } from '../lib/accessors/mod.ts'; -import { RequestContext } from '../lib/requestContext.ts'; -import { wrapAppForRequest } from '../lib/wrapAppForRequest.ts'; -import { assertAppAvailable } from './lib/assertions.ts'; +import { AppObjectRegistry } from '../AppObjectRegistry'; +import { AppAccessorsInstance } from '../lib/accessors/mod'; +import { RequestContext } from '../lib/requestContext'; +import { wrapAppForRequest } from '../lib/wrapAppForRequest'; +import { assertAppAvailable } from './lib/assertions'; export default async function handleScheduler(request: RequestContext): Promise { const { method, params } = request; diff --git a/packages/apps/deno-runtime/handlers/slashcommand-handler.ts b/packages/apps/deno-runtime/handlers/slashcommand-handler.ts index 52e3c1419d913..b796992a23948 100644 --- a/packages/apps/deno-runtime/handlers/slashcommand-handler.ts +++ b/packages/apps/deno-runtime/handlers/slashcommand-handler.ts @@ -3,11 +3,11 @@ import type { ISlashCommand } from '@rocket.chat/apps-engine/definition/slashcom 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 createRoom from '../lib/roomFactory.ts'; -import { RequestContext } from '../lib/requestContext.ts'; -import { wrapComposedApp } from '../lib/wrapAppForRequest.ts'; +import { AppObjectRegistry } from '../AppObjectRegistry'; +import { AppAccessors, AppAccessorsInstance } from '../lib/accessors/mod'; +import createRoom from '../lib/roomFactory'; +import { RequestContext } from '../lib/requestContext'; +import { wrapComposedApp } from '../lib/wrapAppForRequest'; export default async function slashCommandHandler(request: RequestContext): Promise { const { method: call, params } = request; diff --git a/packages/apps/deno-runtime/handlers/tests/api-handler.test.ts b/packages/apps/deno-runtime/handlers/tests/api-handler.test.ts index 70f68082bdab3..501174cf36d8e 100644 --- a/packages/apps/deno-runtime/handlers/tests/api-handler.test.ts +++ b/packages/apps/deno-runtime/handlers/tests/api-handler.test.ts @@ -6,9 +6,9 @@ import { spy } from 'https://deno.land/std@0.203.0/testing/mock.ts'; import { assertInstanceOf } from 'https://deno.land/std@0.203.0/assert/assert_instance_of.ts'; import { JsonRpcError } from 'jsonrpc-lite'; -import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; -import apiHandler from '../api-handler.ts'; -import { createMockRequest } from './helpers/mod.ts'; +import { AppObjectRegistry } from '../../AppObjectRegistry'; +import apiHandler from '../api-handler'; +import { createMockRequest } from './helpers/mod'; describe('handlers > api', () => { const mockEndpoint: IApiEndpoint = { diff --git a/packages/apps/deno-runtime/handlers/tests/helpers/mod.ts b/packages/apps/deno-runtime/handlers/tests/helpers/mod.ts index 0bd5d97489489..ce4f4df19a030 100644 --- a/packages/apps/deno-runtime/handlers/tests/helpers/mod.ts +++ b/packages/apps/deno-runtime/handlers/tests/helpers/mod.ts @@ -1,8 +1,8 @@ import type { App } from '@rocket.chat/apps-engine/definition/App'; -import { Logger } from '../../../lib/logger.ts'; -import { RequestDescriptor } from '../../../lib/messenger.ts'; -import { RequestContext } from '../../../lib/requestContext.ts'; +import { Logger } from '../../../lib/logger'; +import { RequestDescriptor } from '../../../lib/messenger'; +import { RequestContext } from '../../../lib/requestContext'; export function createMockRequest({ method, params }: RequestDescriptor): RequestContext { return { diff --git a/packages/apps/deno-runtime/handlers/tests/listener-handler.test.ts b/packages/apps/deno-runtime/handlers/tests/listener-handler.test.ts index 8e355f6ac4d3d..6b22d1acdea64 100644 --- a/packages/apps/deno-runtime/handlers/tests/listener-handler.test.ts +++ b/packages/apps/deno-runtime/handlers/tests/listener-handler.test.ts @@ -2,13 +2,13 @@ import { assertEquals, assertInstanceOf, assertObjectMatch } from 'https://deno.land/std@0.203.0/assert/mod.ts'; import { describe, it } from 'https://deno.land/std@0.203.0/testing/bdd.ts'; -import { parseArgs } from '../listener/handler.ts'; -import { AppAccessors } from '../../lib/accessors/mod.ts'; -import { Room } from '../../lib/room.ts'; -import { MessageExtender } from '../../lib/accessors/extenders/MessageExtender.ts'; -import { RoomExtender } from '../../lib/accessors/extenders/RoomExtender.ts'; -import { MessageBuilder } from '../../lib/accessors/builders/MessageBuilder.ts'; -import { RoomBuilder } from '../../lib/accessors/builders/RoomBuilder.ts'; +import { parseArgs } from '../listener/handler'; +import { AppAccessors } from '../../lib/accessors/mod'; +import { Room } from '../../lib/room'; +import { MessageExtender } from '../../lib/accessors/extenders/MessageExtender'; +import { RoomExtender } from '../../lib/accessors/extenders/RoomExtender'; +import { MessageBuilder } from '../../lib/accessors/builders/MessageBuilder'; +import { RoomBuilder } from '../../lib/accessors/builders/RoomBuilder'; describe('handlers > listeners', () => { const mockAppAccessors = { diff --git a/packages/apps/deno-runtime/handlers/tests/scheduler-handler.test.ts b/packages/apps/deno-runtime/handlers/tests/scheduler-handler.test.ts index 7f5c6eccaf569..94037b2f96427 100644 --- a/packages/apps/deno-runtime/handlers/tests/scheduler-handler.test.ts +++ b/packages/apps/deno-runtime/handlers/tests/scheduler-handler.test.ts @@ -1,10 +1,10 @@ import { assertEquals } from 'https://deno.land/std@0.203.0/assert/mod.ts'; import { afterAll, beforeEach, describe, it } from 'https://deno.land/std@0.203.0/testing/bdd.ts'; -import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; -import { AppAccessors } from '../../lib/accessors/mod.ts'; -import handleScheduler from '../scheduler-handler.ts'; -import { createMockApp, createMockRequest } from './helpers/mod.ts'; +import { AppObjectRegistry } from '../../AppObjectRegistry'; +import { AppAccessors } from '../../lib/accessors/mod'; +import handleScheduler from '../scheduler-handler'; +import { createMockApp, createMockRequest } from './helpers/mod'; describe('handlers > scheduler', () => { const mockAppAccessors = new AppAccessors(() => diff --git a/packages/apps/deno-runtime/handlers/tests/slashcommand-handler.test.ts b/packages/apps/deno-runtime/handlers/tests/slashcommand-handler.test.ts index 7114aa1f85bea..e1a8df72ef96a 100644 --- a/packages/apps/deno-runtime/handlers/tests/slashcommand-handler.test.ts +++ b/packages/apps/deno-runtime/handlers/tests/slashcommand-handler.test.ts @@ -3,11 +3,11 @@ import { assertEquals, assertInstanceOf } from 'https://deno.land/std@0.203.0/as 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'; -import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; -import { AppAccessors } from '../../lib/accessors/mod.ts'; -import { handleExecutor, handlePreviewItem } from '../slashcommand-handler.ts'; -import { Room } from '../../lib/room.ts'; -import { createMockRequest } from './helpers/mod.ts'; +import { AppObjectRegistry } from '../../AppObjectRegistry'; +import { AppAccessors } from '../../lib/accessors/mod'; +import { handleExecutor, handlePreviewItem } from '../slashcommand-handler'; +import { Room } from '../../lib/room'; +import { createMockRequest } from './helpers/mod'; describe('handlers > slashcommand', () => { const mockAppAccessors = { diff --git a/packages/apps/deno-runtime/handlers/tests/uikit-handler.test.ts b/packages/apps/deno-runtime/handlers/tests/uikit-handler.test.ts index b663bd2ae6833..cdc08e214f716 100644 --- a/packages/apps/deno-runtime/handlers/tests/uikit-handler.test.ts +++ b/packages/apps/deno-runtime/handlers/tests/uikit-handler.test.ts @@ -3,14 +3,14 @@ import { assertInstanceOf } from 'https://deno.land/std@0.203.0/assert/mod.ts'; import { afterAll, beforeEach, describe, it } from 'https://deno.land/std@0.203.0/testing/bdd.ts'; import jsonrpc from 'jsonrpc-lite'; -import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; +import { AppObjectRegistry } from '../../AppObjectRegistry'; import handleUIKitInteraction, { UIKitActionButtonInteractionContext, UIKitBlockInteractionContext, UIKitLivechatBlockInteractionContext, UIKitViewCloseInteractionContext, UIKitViewSubmitInteractionContext, -} from '../uikit/handler.ts'; +} from '../uikit/handler'; describe('handlers > uikit', () => { const mockApp = { diff --git a/packages/apps/deno-runtime/handlers/tests/upload-event-handler.test.ts b/packages/apps/deno-runtime/handlers/tests/upload-event-handler.test.ts index 80fb459ba171d..8813d77892403 100644 --- a/packages/apps/deno-runtime/handlers/tests/upload-event-handler.test.ts +++ b/packages/apps/deno-runtime/handlers/tests/upload-event-handler.test.ts @@ -9,10 +9,10 @@ import { afterEach, beforeEach, describe, it } from 'https://deno.land/std@0.203 import { assertSpyCalls, spy } from 'https://deno.land/std@0.203.0/testing/mock.ts'; import { JsonRpcError } from 'jsonrpc-lite'; -import { createMockRequest } from './helpers/mod.ts'; -import handleUploadEvents from '../app/handleUploadEvents.ts'; -import { Errors } from '../lib/assertions.ts'; -import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; +import { createMockRequest } from './helpers/mod'; +import handleUploadEvents from '../app/handleUploadEvents'; +import { Errors } from '../lib/assertions'; +import { AppObjectRegistry } from '../../AppObjectRegistry'; describe('handlers > upload', () => { let app: App & IPreFileUpload; diff --git a/packages/apps/deno-runtime/handlers/tests/videoconference-handler.test.ts b/packages/apps/deno-runtime/handlers/tests/videoconference-handler.test.ts index 7632b08c39258..a204b6d410b68 100644 --- a/packages/apps/deno-runtime/handlers/tests/videoconference-handler.test.ts +++ b/packages/apps/deno-runtime/handlers/tests/videoconference-handler.test.ts @@ -4,9 +4,9 @@ import { beforeEach, describe, it } from 'https://deno.land/std@0.203.0/testing/ import { spy } from 'https://deno.land/std@0.203.0/testing/mock.ts'; import { JsonRpcError } from 'jsonrpc-lite'; -import { createMockRequest } from './helpers/mod.ts'; -import videoconfHandler from '../videoconference-handler.ts'; -import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; +import { createMockRequest } from './helpers/mod'; +import videoconfHandler from '../videoconference-handler'; +import { AppObjectRegistry } from '../../AppObjectRegistry'; describe('handlers > videoconference', () => { // deno-lint-ignore no-unused-vars diff --git a/packages/apps/deno-runtime/handlers/uikit/handler.ts b/packages/apps/deno-runtime/handlers/uikit/handler.ts index 9f45989a03ffb..513850ed8e475 100644 --- a/packages/apps/deno-runtime/handlers/uikit/handler.ts +++ b/packages/apps/deno-runtime/handlers/uikit/handler.ts @@ -1,12 +1,25 @@ import type { App } from '@rocket.chat/apps-engine/definition/App'; +import { + UIKitBlockInteractionContext, + UIKitViewSubmitInteractionContext, + UIKitViewCloseInteractionContext, + UIKitActionButtonInteractionContext, +} from '@rocket.chat/apps-engine/definition/uikit/UIKitInteractionContext'; +import { + IUIKitActionButtonIncomingInteraction, + IUIKitBlockIncomingInteraction, + IUIKitViewCloseIncomingInteraction, + IUIKitViewSubmitIncomingInteraction +} from '@rocket.chat/apps-engine/definition/uikit/UIKitIncomingInteractionTypes'; +import { IUIKitLivechatBlockIncomingInteraction } from '@rocket.chat/apps-engine/definition/uikit/livechat/UIKitLivechatIncomingInteractionType'; +import { UIKitLivechatBlockInteractionContext } from '@rocket.chat/apps-engine/definition/uikit/livechat/UIKitLivechatInteractionContext'; import { Defined, JsonRpcError } from 'jsonrpc-lite'; -import { require } from '../../lib/require.ts'; -import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; -import { AppAccessorsInstance } from '../../lib/accessors/mod.ts'; -import { RequestContext } from '../../lib/requestContext.ts'; -import { isOneOf } from '../lib/assertions.ts'; -import { wrapAppForRequest } from '../../lib/wrapAppForRequest.ts'; +import { AppObjectRegistry } from '../../AppObjectRegistry'; +import { AppAccessorsInstance } from '../../lib/accessors/mod'; +import { RequestContext } from '../../lib/requestContext'; +import { isOneOf } from '../lib/assertions'; +import { wrapAppForRequest } from '../../lib/wrapAppForRequest'; export const uikitInteractions = [ 'executeBlockActionHandler', @@ -16,14 +29,13 @@ export const uikitInteractions = [ 'executeLivechatBlockActionHandler', ] as const; -export const { +export { UIKitBlockInteractionContext, UIKitViewSubmitInteractionContext, UIKitViewCloseInteractionContext, UIKitActionButtonInteractionContext, -} = require('@rocket.chat/apps-engine/definition/uikit/UIKitInteractionContext.js'); - -export const { UIKitLivechatBlockInteractionContext } = require('@rocket.chat/apps-engine/definition/uikit/livechat/UIKitLivechatInteractionContext.js'); + UIKitLivechatBlockInteractionContext, +}; export default async function handleUIKitInteraction(request: RequestContext): Promise { const { method: reqMethod, params } = request; @@ -57,19 +69,19 @@ export default async function handleUIKitInteraction(request: RequestContext): P switch (method) { case 'executeBlockActionHandler': - context = new UIKitBlockInteractionContext(payload); + context = new UIKitBlockInteractionContext(payload as unknown as IUIKitBlockIncomingInteraction); break; case 'executeViewSubmitHandler': - context = new UIKitViewSubmitInteractionContext(payload); + context = new UIKitViewSubmitInteractionContext(payload as unknown as IUIKitViewSubmitIncomingInteraction); break; case 'executeViewClosedHandler': - context = new UIKitViewCloseInteractionContext(payload); + context = new UIKitViewCloseInteractionContext(payload as unknown as IUIKitViewCloseIncomingInteraction); break; case 'executeActionButtonHandler': - context = new UIKitActionButtonInteractionContext(payload); + context = new UIKitActionButtonInteractionContext(payload as unknown as IUIKitActionButtonIncomingInteraction); break; case 'executeLivechatBlockActionHandler': - context = new UIKitLivechatBlockInteractionContext(payload); + context = new UIKitLivechatBlockInteractionContext(payload as unknown as IUIKitLivechatBlockIncomingInteraction); break; } @@ -83,6 +95,6 @@ export default async function handleUIKitInteraction(request: RequestContext): P AppAccessorsInstance.getModifier(), ); } catch (e) { - return JsonRpcError.internalError({ message: e.message }); + return JsonRpcError.internalError({ message: (e as { message?: string }).message }); } } diff --git a/packages/apps/deno-runtime/handlers/videoconference-handler.ts b/packages/apps/deno-runtime/handlers/videoconference-handler.ts index b05c967ca5293..e1fda87000cc8 100644 --- a/packages/apps/deno-runtime/handlers/videoconference-handler.ts +++ b/packages/apps/deno-runtime/handlers/videoconference-handler.ts @@ -1,10 +1,10 @@ import type { IVideoConfProvider } from '@rocket.chat/apps-engine/definition/videoConfProviders/IVideoConfProvider'; import { Defined, JsonRpcError } from 'jsonrpc-lite'; -import { AppObjectRegistry } from '../AppObjectRegistry.ts'; -import { AppAccessorsInstance } from '../lib/accessors/mod.ts'; -import { RequestContext } from '../lib/requestContext.ts'; -import { wrapComposedApp } from '../lib/wrapAppForRequest.ts'; +import { AppObjectRegistry } from '../AppObjectRegistry'; +import { AppAccessorsInstance } from '../lib/accessors/mod'; +import { RequestContext } from '../lib/requestContext'; +import { wrapComposedApp } from '../lib/wrapAppForRequest'; export default async function videoConferenceHandler(request: RequestContext): Promise { const { method: call, params } = request; diff --git a/packages/apps/deno-runtime/lib/accessors/builders/BlockBuilder.ts b/packages/apps/deno-runtime/lib/accessors/builders/BlockBuilder.ts index 77b4c3e8e1696..9460b2c789858 100644 --- a/packages/apps/deno-runtime/lib/accessors/builders/BlockBuilder.ts +++ b/packages/apps/deno-runtime/lib/accessors/builders/BlockBuilder.ts @@ -1,7 +1,6 @@ import { v1 as uuid } from 'uuid'; import type { - BlockType as _BlockType, IActionsBlock, IBlock, IConditionalBlock, @@ -11,8 +10,8 @@ import type { IInputBlock, ISectionBlock, } from '@rocket.chat/apps-engine/definition/uikit/blocks/Blocks'; +import { BlockType } from '@rocket.chat/apps-engine/definition/uikit/blocks/Blocks'; import type { - BlockElementType as _BlockElementType, IBlockElement, IButtonElement, IImageElement, @@ -24,14 +23,10 @@ import type { ISelectElement, IStaticSelectElement, } 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 { BlockElementType } from '@rocket.chat/apps-engine/definition/uikit/blocks/Elements'; +import { TextObjectType, type ITextObject } from '@rocket.chat/apps-engine/definition/uikit/blocks/Objects'; -import { AppObjectRegistry } from '../../../AppObjectRegistry.ts'; -import { require } from '../../../lib/require.ts'; - -const { BlockType } = require('@rocket.chat/apps-engine/definition/uikit/blocks/Blocks.js') as { BlockType: typeof _BlockType }; -const { BlockElementType } = require('@rocket.chat/apps-engine/definition/uikit/blocks/Elements.js') as { BlockElementType: typeof _BlockElementType }; -const { TextObjectType } = require('@rocket.chat/apps-engine/definition/uikit/blocks/Objects.js') as { TextObjectType: typeof _TextObjectType }; +import { AppObjectRegistry } from '../../../AppObjectRegistry'; type BlockFunctionParameter = Omit; type ElementFunctionParameter = T extends IInteractiveElement ? Omit | Partial> diff --git a/packages/apps/deno-runtime/lib/accessors/builders/DiscussionBuilder.ts b/packages/apps/deno-runtime/lib/accessors/builders/DiscussionBuilder.ts index d927844a3377f..f6abec1090ad4 100644 --- a/packages/apps/deno-runtime/lib/accessors/builders/DiscussionBuilder.ts +++ b/packages/apps/deno-runtime/lib/accessors/builders/DiscussionBuilder.ts @@ -1,24 +1,14 @@ -import type { IDiscussionBuilder as _IDiscussionBuilder } from '@rocket.chat/apps-engine/definition/accessors/IDiscussionBuilder'; +import type { 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'; -import type { RoomType as _RoomType } from '@rocket.chat/apps-engine/definition/rooms/RoomType'; +import { RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations'; +import { RoomType } from '@rocket.chat/apps-engine/definition/rooms/RoomType'; -import { RoomBuilder } from './RoomBuilder.ts'; -import { require } from '../../../lib/require.ts'; - -const { RocketChatAssociationModel } = require('@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations.js') as { - RocketChatAssociationModel: typeof _RocketChatAssociationModel; -}; - -const { RoomType } = require('@rocket.chat/apps-engine/definition/rooms/RoomType.js') as { RoomType: typeof _RoomType }; - -export interface IDiscussionBuilder extends _IDiscussionBuilder, IRoomBuilder {} +import { RoomBuilder } from './RoomBuilder'; export class DiscussionBuilder extends RoomBuilder implements IDiscussionBuilder { - public kind: _RocketChatAssociationModel.DISCUSSION; + public override kind: RocketChatAssociationModel.DISCUSSION; private reply?: string; diff --git a/packages/apps/deno-runtime/lib/accessors/builders/LivechatMessageBuilder.ts b/packages/apps/deno-runtime/lib/accessors/builders/LivechatMessageBuilder.ts index 27426179386dd..7dfb66c2dedf7 100644 --- a/packages/apps/deno-runtime/lib/accessors/builders/LivechatMessageBuilder.ts +++ b/packages/apps/deno-runtime/lib/accessors/builders/LivechatMessageBuilder.ts @@ -1,5 +1,5 @@ -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 { RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations'; +import { 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'; @@ -10,19 +10,12 @@ import type { ILivechatMessage as EngineLivechatMessage } from '@rocket.chat/app 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'; - -const { RocketChatAssociationModel } = require('@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations.js') as { - RocketChatAssociationModel: typeof _RocketChatAssociationModel; -}; - -const { RoomType } = require('@rocket.chat/apps-engine/definition/rooms/RoomType.js') as { RoomType: typeof _RoomType }; +import { MessageBuilder } from './MessageBuilder'; export interface ILivechatMessage extends EngineLivechatMessage, IMessage {} export class LivechatMessageBuilder implements ILivechatMessageBuilder { - public kind: _RocketChatAssociationModel.LIVECHAT_MESSAGE; + public kind: RocketChatAssociationModel.LIVECHAT_MESSAGE; private msg: ILivechatMessage; @@ -145,7 +138,7 @@ export class LivechatMessageBuilder implements ILivechatMessageBuilder { } public getEditor(): IUser { - return this.msg.editor; + return this.msg.editor!; } public setGroupable(groupable: boolean): ILivechatMessageBuilder { @@ -177,13 +170,15 @@ export class LivechatMessageBuilder implements ILivechatMessageBuilder { public setVisitor(visitor: IVisitor): ILivechatMessageBuilder { this.msg.visitor = visitor; + + // @ts-expect-error - solidified behavior, we can't change delete this.msg.sender; return this; } public getVisitor(): IVisitor { - return this.msg.visitor; + return this.msg.visitor!; } public getMessage(): ILivechatMessage { diff --git a/packages/apps/deno-runtime/lib/accessors/builders/MessageBuilder.ts b/packages/apps/deno-runtime/lib/accessors/builders/MessageBuilder.ts index acea8aacc0cc8..597e405f9b376 100644 --- a/packages/apps/deno-runtime/lib/accessors/builders/MessageBuilder.ts +++ b/packages/apps/deno-runtime/lib/accessors/builders/MessageBuilder.ts @@ -1,22 +1,17 @@ import { LayoutBlock } from '@rocket.chat/ui-kit'; 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 { 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'; - -const { RocketChatAssociationModel } = require('@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations.js') as { - RocketChatAssociationModel: typeof _RocketChatAssociationModel; -}; +import { BlockBuilder } from './BlockBuilder'; export class MessageBuilder implements IMessageBuilder { - public kind: _RocketChatAssociationModel.MESSAGE; + public kind: RocketChatAssociationModel.MESSAGE; private msg: IMessage; @@ -175,7 +170,7 @@ export class MessageBuilder implements IMessageBuilder { } public getEditor(): IUser { - return this.msg.editor; + return this.msg.editor!; } public setGroupable(groupable: boolean): IMessageBuilder { diff --git a/packages/apps/deno-runtime/lib/accessors/builders/RoomBuilder.ts b/packages/apps/deno-runtime/lib/accessors/builders/RoomBuilder.ts index a2912e44913dd..c972330650df3 100644 --- a/packages/apps/deno-runtime/lib/accessors/builders/RoomBuilder.ts +++ b/packages/apps/deno-runtime/lib/accessors/builders/RoomBuilder.ts @@ -3,16 +3,10 @@ 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'; -import type { RocketChatAssociationModel as _RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations'; - -import { require } from '../../../lib/require.ts'; - -const { RocketChatAssociationModel } = require('@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations.js') as { - RocketChatAssociationModel: typeof _RocketChatAssociationModel; -}; +import { RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations'; export class RoomBuilder implements IRoomBuilder { - public kind: _RocketChatAssociationModel.ROOM | _RocketChatAssociationModel.DISCUSSION; + public kind: RocketChatAssociationModel.ROOM | RocketChatAssociationModel.DISCUSSION; protected room: IRoom; diff --git a/packages/apps/deno-runtime/lib/accessors/builders/UserBuilder.ts b/packages/apps/deno-runtime/lib/accessors/builders/UserBuilder.ts index 079607b4ecfd0..4efb8a99f0e74 100644 --- a/packages/apps/deno-runtime/lib/accessors/builders/UserBuilder.ts +++ b/packages/apps/deno-runtime/lib/accessors/builders/UserBuilder.ts @@ -2,16 +2,10 @@ import type { IUserBuilder } from '@rocket.chat/apps-engine/definition/accessors 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'; - -const { RocketChatAssociationModel } = require('@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations.js') as { - RocketChatAssociationModel: typeof _RocketChatAssociationModel; -}; +import { RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations'; export class UserBuilder implements IUserBuilder { - public kind: _RocketChatAssociationModel.USER; + public kind: RocketChatAssociationModel.USER; private user: Partial; @@ -64,7 +58,7 @@ export class UserBuilder implements IUserBuilder { } public getSettings(): Partial { - return this.user.settings; + return this.user.settings!; } public getUser(): Partial { diff --git a/packages/apps/deno-runtime/lib/accessors/builders/VideoConferenceBuilder.ts b/packages/apps/deno-runtime/lib/accessors/builders/VideoConferenceBuilder.ts index 2ab47745d4b64..77bfafda84d12 100644 --- a/packages/apps/deno-runtime/lib/accessors/builders/VideoConferenceBuilder.ts +++ b/packages/apps/deno-runtime/lib/accessors/builders/VideoConferenceBuilder.ts @@ -1,20 +1,14 @@ 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'; - -import { require } from '../../../lib/require.ts'; - -const { RocketChatAssociationModel } = require('@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations.js') as { - RocketChatAssociationModel: typeof _RocketChatAssociationModel; -}; +import { RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations'; export type AppVideoConference = Pick & { createdBy: IGroupVideoConference['createdBy']['_id']; }; export class VideoConferenceBuilder implements IVideoConferenceBuilder { - public kind: _RocketChatAssociationModel.VIDEO_CONFERENCE = RocketChatAssociationModel.VIDEO_CONFERENCE; + public kind: RocketChatAssociationModel.VIDEO_CONFERENCE = RocketChatAssociationModel.VIDEO_CONFERENCE; protected call: AppVideoConference; @@ -25,7 +19,7 @@ export class VideoConferenceBuilder implements IVideoConferenceBuilder { public setData(data: Partial): IVideoConferenceBuilder { this.call = { rid: data.rid!, - createdBy: data.createdBy, + createdBy: data.createdBy!, providerName: data.providerName!, title: data.title!, discussionRid: data.discussionRid, diff --git a/packages/apps/deno-runtime/lib/accessors/extenders/MessageExtender.ts b/packages/apps/deno-runtime/lib/accessors/extenders/MessageExtender.ts index 0364202b0f320..ca251bc541dcf 100644 --- a/packages/apps/deno-runtime/lib/accessors/extenders/MessageExtender.ts +++ b/packages/apps/deno-runtime/lib/accessors/extenders/MessageExtender.ts @@ -1,16 +1,10 @@ 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 { 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'; - -const { RocketChatAssociationModel } = require('@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations.js') as { - RocketChatAssociationModel: typeof _RocketChatAssociationModel; -}; - export class MessageExtender implements IMessageExtender { - public readonly kind: _RocketChatAssociationModel.MESSAGE; + public readonly kind: RocketChatAssociationModel.MESSAGE; constructor(private msg: IMessage) { this.kind = RocketChatAssociationModel.MESSAGE; diff --git a/packages/apps/deno-runtime/lib/accessors/extenders/RoomExtender.ts b/packages/apps/deno-runtime/lib/accessors/extenders/RoomExtender.ts index ae3ebeaf34f9e..3a22c9277c626 100644 --- a/packages/apps/deno-runtime/lib/accessors/extenders/RoomExtender.ts +++ b/packages/apps/deno-runtime/lib/accessors/extenders/RoomExtender.ts @@ -1,16 +1,10 @@ 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 { 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'; - -const { RocketChatAssociationModel } = require('@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations.js') as { - RocketChatAssociationModel: typeof _RocketChatAssociationModel; -}; - export class RoomExtender implements IRoomExtender { - public kind: _RocketChatAssociationModel.ROOM; + public kind: RocketChatAssociationModel.ROOM; private members: Array; diff --git a/packages/apps/deno-runtime/lib/accessors/extenders/VideoConferenceExtend.ts b/packages/apps/deno-runtime/lib/accessors/extenders/VideoConferenceExtend.ts index de4e4a0121af2..bd28fd12c179f 100644 --- a/packages/apps/deno-runtime/lib/accessors/extenders/VideoConferenceExtend.ts +++ b/packages/apps/deno-runtime/lib/accessors/extenders/VideoConferenceExtend.ts @@ -1,16 +1,10 @@ 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'; - -const { RocketChatAssociationModel } = require('@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations.js') as { - RocketChatAssociationModel: typeof _RocketChatAssociationModel; -}; +import { RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations'; export class VideoConferenceExtender implements IVideoConferenceExtender { - public kind: _RocketChatAssociationModel.VIDEO_CONFERENCE; + public kind: RocketChatAssociationModel.VIDEO_CONFERENCE; constructor(private videoConference: VideoConference) { this.kind = RocketChatAssociationModel.VIDEO_CONFERENCE; @@ -48,6 +42,7 @@ export class VideoConferenceExtender implements IVideoConferenceExtender { public addUser(userId: VideoConferenceMember['_id'], ts?: VideoConferenceMember['ts']): IVideoConferenceExtender { this.videoConference.users.push({ _id: userId, + // @ts-expect-error - Original typing is frail ts, // Name and username will be loaded automatically by the bridge username: '', diff --git a/packages/apps/deno-runtime/lib/accessors/http.ts b/packages/apps/deno-runtime/lib/accessors/http.ts index 76a2a3ac9fc00..78e4e8d7f8d37 100644 --- a/packages/apps/deno-runtime/lib/accessors/http.ts +++ b/packages/apps/deno-runtime/lib/accessors/http.ts @@ -2,9 +2,9 @@ import type { IHttp, IHttpExtend, IHttpRequest, IHttpResponse } from '@rocket.ch 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'; -import { formatErrorResponse } from './formatResponseErrorHandler.ts'; +import * as Messenger from '../messenger'; +import { AppObjectRegistry } from '../../AppObjectRegistry'; +import { formatErrorResponse } from './formatResponseErrorHandler'; type RequestMethod = 'get' | 'post' | 'put' | 'head' | 'delete' | 'patch'; diff --git a/packages/apps/deno-runtime/lib/accessors/mod.ts b/packages/apps/deno-runtime/lib/accessors/mod.ts index cfc6bcf629316..17073545edeb0 100644 --- a/packages/apps/deno-runtime/lib/accessors/mod.ts +++ b/packages/apps/deno-runtime/lib/accessors/mod.ts @@ -18,15 +18,15 @@ import type { IOutboundEmailMessageProvider, } from '@rocket.chat/apps-engine/definition/outboundCommunication/IOutboundCommsProvider'; -import { Http } from './http.ts'; -import { HttpExtend } from './extenders/HttpExtender.ts'; -import * as Messenger from '../messenger.ts'; -import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; -import { ModifyCreator } from './modify/ModifyCreator.ts'; -import { ModifyUpdater } from './modify/ModifyUpdater.ts'; -import { ModifyExtender } from './modify/ModifyExtender.ts'; -import { Notifier } from './notifier.ts'; -import { formatErrorResponse } from './formatResponseErrorHandler.ts'; +import { Http } from './http'; +import { HttpExtend } from './extenders/HttpExtender'; +import * as Messenger from '../messenger'; +import { AppObjectRegistry } from '../../AppObjectRegistry'; +import { ModifyCreator } from './modify/ModifyCreator'; +import { ModifyUpdater } from './modify/ModifyUpdater'; +import { ModifyExtender } from './modify/ModifyExtender'; +import { Notifier } from './notifier'; +import { formatErrorResponse } from './formatResponseErrorHandler'; const httpMethods = ['get', 'post', 'put', 'delete', 'head', 'options', 'patch'] as const; diff --git a/packages/apps/deno-runtime/lib/accessors/modify/ModifyCreator.ts b/packages/apps/deno-runtime/lib/accessors/modify/ModifyCreator.ts index fea76bacddc4a..7c0f7cb01402b 100644 --- a/packages/apps/deno-runtime/lib/accessors/modify/ModifyCreator.ts +++ b/packages/apps/deno-runtime/lib/accessors/modify/ModifyCreator.ts @@ -9,33 +9,28 @@ import type { ILivechatCreator } from '@rocket.chat/apps-engine/definition/acces 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 { UserType } from '@rocket.chat/apps-engine/definition/users/UserType'; +import { 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 { RoomType } from '@rocket.chat/apps-engine/definition/rooms/RoomType'; import type { ILivechatMessageBuilder } from '@rocket.chat/apps-engine/definition/accessors/ILivechatMessageBuilder'; +import type { IDiscussionBuilder } from '@rocket.chat/apps-engine/definition/accessors/IDiscussionBuilder'; +import type { IUser } from '@rocket.chat/apps-engine/definition/users/IUser'; -import * as Messenger from '../../messenger.ts'; - -import { BlockBuilder } from '../builders/BlockBuilder.ts'; -import { MessageBuilder } from '../builders/MessageBuilder.ts'; -import { DiscussionBuilder, IDiscussionBuilder } from '../builders/DiscussionBuilder.ts'; -import { ILivechatMessage, LivechatMessageBuilder } from '../builders/LivechatMessageBuilder.ts'; -import { RoomBuilder } from '../builders/RoomBuilder.ts'; -import { UserBuilder } from '../builders/UserBuilder.ts'; -import { AppVideoConference, VideoConferenceBuilder } from '../builders/VideoConferenceBuilder.ts'; -import { AppObjectRegistry } from '../../../AppObjectRegistry.ts'; -import { require } from '../../../lib/require.ts'; -import { formatErrorResponse } from '../formatResponseErrorHandler.ts'; - -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 { - RocketChatAssociationModel: typeof _RocketChatAssociationModel; -}; +import * as Messenger from '../../messenger'; + +import { BlockBuilder } from '../builders/BlockBuilder'; +import { MessageBuilder } from '../builders/MessageBuilder'; +import { DiscussionBuilder } from '../builders/DiscussionBuilder'; +import { ILivechatMessage, LivechatMessageBuilder } from '../builders/LivechatMessageBuilder'; +import { RoomBuilder } from '../builders/RoomBuilder'; +import { UserBuilder } from '../builders/UserBuilder'; +import { AppVideoConference, VideoConferenceBuilder } from '../builders/VideoConferenceBuilder'; +import { AppObjectRegistry } from '../../../AppObjectRegistry'; +import { formatErrorResponse } from '../formatResponseErrorHandler'; export class ModifyCreator implements IModifyCreator { constructor(private readonly senderFn: typeof Messenger.sendRequest) {} @@ -207,7 +202,7 @@ export class ModifyCreator implements IModifyCreator { case RocketChatAssociationModel.ROOM: return this._finishRoom(builder as IRoomBuilder); case RocketChatAssociationModel.DISCUSSION: - return this._finishDiscussion(builder as IDiscussionBuilder); + return this._finishDiscussion(builder as DiscussionBuilder); case RocketChatAssociationModel.VIDEO_CONFERENCE: return this._finishVideoConference(builder as IVideoConferenceBuilder); case RocketChatAssociationModel.USER: @@ -235,7 +230,7 @@ export class ModifyCreator implements IModifyCreator { throw new Error('Invalid sender assigned to the message.'); } - result.sender = appUser; + result.sender = appUser as IUser; } if (result.blocks?.length) { @@ -279,6 +274,7 @@ export class ModifyCreator implements IModifyCreator { private async _finishRoom(builder: IRoomBuilder): Promise { const result = builder.getRoom(); + // @ts-expect-error - can't conciliate delete result.id; if (!result.type) { @@ -313,8 +309,10 @@ export class ModifyCreator implements IModifyCreator { return String(response.result); } - private async _finishDiscussion(builder: IDiscussionBuilder): Promise { + private async _finishDiscussion(builder: DiscussionBuilder): Promise { const room = builder.getRoom(); + + // @ts-expect-error - can't conciliate delete room.id; if (!room.creator || !room.creator.id) { diff --git a/packages/apps/deno-runtime/lib/accessors/modify/ModifyExtender.ts b/packages/apps/deno-runtime/lib/accessors/modify/ModifyExtender.ts index 01bbca2ab0ee0..c8ba7994638f9 100644 --- a/packages/apps/deno-runtime/lib/accessors/modify/ModifyExtender.ts +++ b/packages/apps/deno-runtime/lib/accessors/modify/ModifyExtender.ts @@ -6,19 +6,14 @@ import type { IVideoConferenceExtender } from '@rocket.chat/apps-engine/definiti 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'; -import { MessageExtender } from '../extenders/MessageExtender.ts'; -import { RoomExtender } from '../extenders/RoomExtender.ts'; -import { VideoConferenceExtender } from '../extenders/VideoConferenceExtend.ts'; -import { require } from '../../../lib/require.ts'; -import { formatErrorResponse } from '../formatResponseErrorHandler.ts'; - -const { RocketChatAssociationModel } = require('@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations.js') as { - RocketChatAssociationModel: typeof _RocketChatAssociationModel; -}; +import { RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations'; + +import * as Messenger from '../../messenger'; +import { AppObjectRegistry } from '../../../AppObjectRegistry'; +import { MessageExtender } from '../extenders/MessageExtender'; +import { RoomExtender } from '../extenders/RoomExtender'; +import { VideoConferenceExtender } from '../extenders/VideoConferenceExtend'; +import { formatErrorResponse } from '../formatResponseErrorHandler'; export class ModifyExtender implements IModifyExtender { constructor(private readonly senderFn: typeof Messenger.sendRequest) {} diff --git a/packages/apps/deno-runtime/lib/accessors/modify/ModifyUpdater.ts b/packages/apps/deno-runtime/lib/accessors/modify/ModifyUpdater.ts index 06bcb07f8765e..1c1ced9be5b59 100644 --- a/packages/apps/deno-runtime/lib/accessors/modify/ModifyUpdater.ts +++ b/packages/apps/deno-runtime/lib/accessors/modify/ModifyUpdater.ts @@ -9,22 +9,16 @@ 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 { RoomType } from '@rocket.chat/apps-engine/definition/rooms/RoomType'; +import { RocketChatAssociationModel } from '@rocket.chat/apps-engine/definition/metadata/RocketChatAssociations'; -import * as Messenger from '../../messenger.ts'; +import * as Messenger from '../../messenger'; -import { MessageBuilder } from '../builders/MessageBuilder.ts'; -import { RoomBuilder } from '../builders/RoomBuilder.ts'; -import { AppObjectRegistry } from '../../../AppObjectRegistry.ts'; +import { MessageBuilder } from '../builders/MessageBuilder'; +import { RoomBuilder } from '../builders/RoomBuilder'; +import { AppObjectRegistry } from '../../../AppObjectRegistry'; -import { require } from '../../../lib/require.ts'; -import { formatErrorResponse } from '../formatResponseErrorHandler.ts'; - -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; -}; +import { formatErrorResponse } from '../formatResponseErrorHandler'; export class ModifyUpdater implements IModifyUpdater { private readonly livechatUpdater: ILivechatUpdater; diff --git a/packages/apps/deno-runtime/lib/accessors/notifier.ts b/packages/apps/deno-runtime/lib/accessors/notifier.ts index 3a6ac012a2797..7dd317d3573d7 100644 --- a/packages/apps/deno-runtime/lib/accessors/notifier.ts +++ b/packages/apps/deno-runtime/lib/accessors/notifier.ts @@ -1,18 +1,13 @@ import type { IMessageBuilder, INotifier } from '@rocket.chat/apps-engine/definition/accessors'; import type { ITypingOptions } from '@rocket.chat/apps-engine/definition/accessors/INotifier'; -import type { _TypingScope } 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 { MessageBuilder } from './builders/MessageBuilder.ts'; -import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; -import * as Messenger from '../messenger.ts'; -import { require } from '../require.ts'; -import { formatErrorResponse } from './formatResponseErrorHandler.ts'; - -const { TypingScope } = require('@rocket.chat/apps-engine/definition/accessors/INotifier.js') as { - TypingScope: typeof _TypingScope; -}; +import { MessageBuilder } from './builders/MessageBuilder'; +import { AppObjectRegistry } from '../../AppObjectRegistry'; +import * as Messenger from '../messenger'; +import { formatErrorResponse } from './formatResponseErrorHandler'; export class Notifier implements INotifier { private senderFn: typeof Messenger.sendRequest; @@ -25,7 +20,7 @@ export class Notifier implements INotifier { if (!message.sender || !message.sender.id) { const appUser = await this.getAppUser(); - message.sender = appUser; + message.sender = appUser!; } await this.callMessageBridge('doNotifyUser', [user, message, AppObjectRegistry.get('id')]); @@ -35,7 +30,7 @@ export class Notifier implements INotifier { if (!message.sender || !message.sender.id) { const appUser = await this.getAppUser(); - message.sender = appUser; + message.sender = appUser!; } await this.callMessageBridge('doNotifyRoom', [room, message, AppObjectRegistry.get('id')]); @@ -79,6 +74,6 @@ export class Notifier implements INotifier { throw formatErrorResponse(err); }); - return response.result; + return response.result as IUser | undefined; } } diff --git a/packages/apps/deno-runtime/lib/accessors/tests/AppAccessors.test.ts b/packages/apps/deno-runtime/lib/accessors/tests/AppAccessors.test.ts index ffc77b6904bb7..52cca5f35cac6 100644 --- a/packages/apps/deno-runtime/lib/accessors/tests/AppAccessors.test.ts +++ b/packages/apps/deno-runtime/lib/accessors/tests/AppAccessors.test.ts @@ -1,8 +1,8 @@ import { afterAll, beforeEach, describe, it } from 'https://deno.land/std@0.203.0/testing/bdd.ts'; import { assertEquals } from 'https://deno.land/std@0.203.0/assert/assert_equals.ts'; -import { AppAccessors } from '../mod.ts'; -import { AppObjectRegistry } from '../../../AppObjectRegistry.ts'; +import { AppAccessors } from '../mod'; +import { AppObjectRegistry } from '../../../AppObjectRegistry'; describe('AppAccessors', () => { let appAccessors: AppAccessors; diff --git a/packages/apps/deno-runtime/lib/accessors/tests/ModifyCreator.test.ts b/packages/apps/deno-runtime/lib/accessors/tests/ModifyCreator.test.ts index d88690a77dbfa..3133ced740f8a 100644 --- a/packages/apps/deno-runtime/lib/accessors/tests/ModifyCreator.test.ts +++ b/packages/apps/deno-runtime/lib/accessors/tests/ModifyCreator.test.ts @@ -3,8 +3,8 @@ import { afterAll, beforeEach, describe, it } from 'https://deno.land/std@0.203. import { assertSpyCall, spy } from 'https://deno.land/std@0.203.0/testing/mock.ts'; import { assert, assertEquals, assertNotInstanceOf, assertRejects } from 'https://deno.land/std@0.203.0/assert/mod.ts'; -import { AppObjectRegistry } from '../../../AppObjectRegistry.ts'; -import { ModifyCreator } from '../modify/ModifyCreator.ts'; +import { AppObjectRegistry } from '../../../AppObjectRegistry'; +import { ModifyCreator } from '../modify/ModifyCreator'; describe('ModifyCreator', () => { const senderFn = (r: any) => diff --git a/packages/apps/deno-runtime/lib/accessors/tests/ModifyExtender.test.ts b/packages/apps/deno-runtime/lib/accessors/tests/ModifyExtender.test.ts index de6fd4a7053b3..a636e5ba0470c 100644 --- a/packages/apps/deno-runtime/lib/accessors/tests/ModifyExtender.test.ts +++ b/packages/apps/deno-runtime/lib/accessors/tests/ModifyExtender.test.ts @@ -3,8 +3,8 @@ import { afterAll, beforeEach, describe, it } from 'https://deno.land/std@0.203. import { assertSpyCall, spy, stub } from 'https://deno.land/std@0.203.0/testing/mock.ts'; import { assertRejects } from 'https://deno.land/std@0.203.0/assert/mod.ts'; -import { AppObjectRegistry } from '../../../AppObjectRegistry.ts'; -import { ModifyExtender } from '../modify/ModifyExtender.ts'; +import { AppObjectRegistry } from '../../../AppObjectRegistry'; +import { ModifyExtender } from '../modify/ModifyExtender'; import jsonrpc from 'jsonrpc-lite'; describe('ModifyExtender', () => { diff --git a/packages/apps/deno-runtime/lib/accessors/tests/ModifyUpdater.test.ts b/packages/apps/deno-runtime/lib/accessors/tests/ModifyUpdater.test.ts index d351d6ebba721..dd2bddc4ab363 100644 --- a/packages/apps/deno-runtime/lib/accessors/tests/ModifyUpdater.test.ts +++ b/packages/apps/deno-runtime/lib/accessors/tests/ModifyUpdater.test.ts @@ -3,9 +3,9 @@ import { afterAll, beforeEach, describe, it } from 'https://deno.land/std@0.203. import { assertSpyCall, spy, stub } from 'https://deno.land/std@0.203.0/testing/mock.ts'; import { assertEquals, assertRejects } from 'https://deno.land/std@0.203.0/assert/mod.ts'; -import { AppObjectRegistry } from '../../../AppObjectRegistry.ts'; -import { ModifyUpdater } from '../modify/ModifyUpdater.ts'; -import { RoomBuilder } from '../builders/RoomBuilder.ts'; +import { AppObjectRegistry } from '../../../AppObjectRegistry'; +import { ModifyUpdater } from '../modify/ModifyUpdater'; +import { RoomBuilder } from '../builders/RoomBuilder'; import jsonrpc from 'jsonrpc-lite'; describe('ModifyUpdater', () => { diff --git a/packages/apps/deno-runtime/lib/accessors/tests/formatResponseErrorHandler.test.ts b/packages/apps/deno-runtime/lib/accessors/tests/formatResponseErrorHandler.test.ts index c909fecdd04a1..45e9fac18c560 100644 --- a/packages/apps/deno-runtime/lib/accessors/tests/formatResponseErrorHandler.test.ts +++ b/packages/apps/deno-runtime/lib/accessors/tests/formatResponseErrorHandler.test.ts @@ -3,7 +3,7 @@ import { assertEquals, assertInstanceOf, assertStrictEquals } from 'https://deno import { describe, it } from 'https://deno.land/std@0.203.0/testing/bdd.ts'; import * as jsonrpc from 'jsonrpc-lite'; -import { formatErrorResponse } from '../formatResponseErrorHandler.ts'; +import { formatErrorResponse } from '../formatResponseErrorHandler'; describe('formatErrorResponse', () => { describe('JSON-RPC ErrorObject handling', () => { diff --git a/packages/apps/deno-runtime/lib/accessors/tests/http.test.ts b/packages/apps/deno-runtime/lib/accessors/tests/http.test.ts index 88392dec774cc..732ffe6c5d1f0 100644 --- a/packages/apps/deno-runtime/lib/accessors/tests/http.test.ts +++ b/packages/apps/deno-runtime/lib/accessors/tests/http.test.ts @@ -2,8 +2,8 @@ import { assertRejects } from 'https://deno.land/std@0.203.0/assert/mod.ts'; import { beforeEach, describe, it, afterAll } from 'https://deno.land/std@0.203.0/testing/bdd.ts'; -import { Http } from '../http.ts'; -import { AppObjectRegistry } from '../../../AppObjectRegistry.ts'; +import { Http } from '../http'; +import { AppObjectRegistry } from '../../../AppObjectRegistry'; import { stub } from 'https://deno.land/std@0.203.0/testing/mock.ts'; describe('Http accessor error handling integration', () => { diff --git a/packages/apps/deno-runtime/lib/ast/mod.ts b/packages/apps/deno-runtime/lib/ast/mod.ts index 555b4defc36a0..f18d3de4ffc9d 100644 --- a/packages/apps/deno-runtime/lib/ast/mod.ts +++ b/packages/apps/deno-runtime/lib/ast/mod.ts @@ -4,8 +4,8 @@ import { parse, Program } from 'acorn'; // @deno-types="../../acorn-walk.d.ts" import { fullAncestor } from 'acorn-walk'; -import * as operations from './operations.ts'; -import type { WalkerState } from './operations.ts'; +import * as operations from './operations'; +import type { WalkerState } from './operations'; function fixAst(ast: Program): boolean { const pendingOperations = [ diff --git a/packages/apps/deno-runtime/lib/ast/tests/operations.test.ts b/packages/apps/deno-runtime/lib/ast/tests/operations.test.ts index 809de475013c9..9086e1c1de39b 100644 --- a/packages/apps/deno-runtime/lib/ast/tests/operations.test.ts +++ b/packages/apps/deno-runtime/lib/ast/tests/operations.test.ts @@ -8,7 +8,7 @@ import { getFunctionIdentifier, WalkerState, wrapWithAwait, -} from '../operations.ts'; +} from '../operations'; import { ArrowFunctionDerefCallExpression, AssignmentExpressionOfArrowFunctionToFooIdentifier, @@ -23,7 +23,7 @@ import { MethodDefinitionOfFooInClassBar, SimpleCallExpressionOfFoo, SyncFunctionDeclarationWithAsyncCallExpression, -} from './data/ast_blocks.ts'; +} from './data/ast_blocks'; import { AnyNode, ArrowFunctionExpression, @@ -33,7 +33,7 @@ import { MethodDefinition, ReturnStatement, VariableDeclaration, -} from '../../../acorn.d.ts'; +} from '../../../acorn.d'; import { assertNotEquals } from 'https://deno.land/std@0.203.0/assert/assert_not_equals.ts'; describe('getFunctionIdentifier', () => { diff --git a/packages/apps/deno-runtime/lib/codec.ts b/packages/apps/deno-runtime/lib/codec.ts index 90456c76968c2..300ea2f60ff03 100644 --- a/packages/apps/deno-runtime/lib/codec.ts +++ b/packages/apps/deno-runtime/lib/codec.ts @@ -1,19 +1,14 @@ import { Buffer } from 'node:buffer'; import { decode, Decoder, Encoder, ExtensionCodec } from '@msgpack/msgpack'; -import type { App as _App } from '@rocket.chat/apps-engine/definition/App'; +import { App } from '@rocket.chat/apps-engine/definition/App'; -import { require } from './require.ts'; -import { applySecureFields, type WithSecureFields } from './secureFields.ts'; +import { applySecureFields, type WithSecureFields } from './secureFields'; const FUNCTION_DISABLER_EXT = 0; const BUFFER_HANDLER_EXT = 1; const SECURE_FIELDS_HANDLER_EXT = 2; -const { App } = require('@rocket.chat/apps-engine/definition/App.js') as { - App: typeof _App; -}; - const extensionCodec = new ExtensionCodec(); extensionCodec.register({ diff --git a/packages/apps/deno-runtime/lib/logger.ts b/packages/apps/deno-runtime/lib/logger.ts index 336c420080d37..59b6206471518 100644 --- a/packages/apps/deno-runtime/lib/logger.ts +++ b/packages/apps/deno-runtime/lib/logger.ts @@ -1,5 +1,5 @@ import stackTrace from 'stack-trace'; -import { AppObjectRegistry } from '../AppObjectRegistry.ts'; +import { AppObjectRegistry } from '../AppObjectRegistry'; export interface StackFrame { getTypeName(): string; diff --git a/packages/apps/deno-runtime/lib/messenger.ts b/packages/apps/deno-runtime/lib/messenger.ts index 3a55aba594f7c..4b938459e9715 100644 --- a/packages/apps/deno-runtime/lib/messenger.ts +++ b/packages/apps/deno-runtime/lib/messenger.ts @@ -2,8 +2,8 @@ import { writeAll } from '@std/io'; import * as jsonrpc from 'jsonrpc-lite'; -import { encoder } from './codec.ts'; -import { RequestContext } from './requestContext.ts'; +import { encoder } from './codec'; +import { RequestContext } from './requestContext'; export type RequestDescriptor = Pick; diff --git a/packages/apps/deno-runtime/lib/metricsCollector.ts b/packages/apps/deno-runtime/lib/metricsCollector.ts index 8484aef826f9b..ac968caccace3 100644 --- a/packages/apps/deno-runtime/lib/metricsCollector.ts +++ b/packages/apps/deno-runtime/lib/metricsCollector.ts @@ -1,5 +1,5 @@ import { writeAll } from '@std/io'; -import { Queue } from './messenger.ts'; +import { Queue } from './messenger'; export function collectMetrics() { return { diff --git a/packages/apps/deno-runtime/lib/requestContext.ts b/packages/apps/deno-runtime/lib/requestContext.ts index 91e9346f34bd4..28b36cdeacb3d 100644 --- a/packages/apps/deno-runtime/lib/requestContext.ts +++ b/packages/apps/deno-runtime/lib/requestContext.ts @@ -1,6 +1,6 @@ import { RequestObject } from 'jsonrpc-lite'; -import { Logger } from './logger.ts'; +import { Logger } from './logger'; export type RequestContext = RequestObject & { context: { diff --git a/packages/apps/deno-runtime/lib/roomFactory.ts b/packages/apps/deno-runtime/lib/roomFactory.ts index 5f7f71a5e7852..ba3490268a091 100644 --- a/packages/apps/deno-runtime/lib/roomFactory.ts +++ b/packages/apps/deno-runtime/lib/roomFactory.ts @@ -1,9 +1,9 @@ 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 { formatErrorResponse } from './accessors/formatResponseErrorHandler.ts'; -import { Room } from './room.ts'; +import { AppAccessors } from './accessors/mod'; +import { formatErrorResponse } from './accessors/formatResponseErrorHandler'; +import { Room } from './room'; const getMockAppManager = (senderFn: AppAccessors['senderFn']) => ({ getBridges: () => ({ @@ -22,8 +22,8 @@ const getMockAppManager = (senderFn: AppAccessors['senderFn']) => ({ }), }); -export default function createRoom(room: IRoom, senderFn: AppAccessors['senderFn']) { +export default function createRoom(room: IRoom, senderFn: AppAccessors['senderFn']): IRoom { const mockAppManager = getMockAppManager(senderFn); - return new Room(room, mockAppManager as unknown as AppManager); + return new Room(room, mockAppManager as unknown as AppManager) as unknown as IRoom; } diff --git a/packages/apps/deno-runtime/lib/sanitizeDeprecatedUsage.ts b/packages/apps/deno-runtime/lib/sanitizeDeprecatedUsage.ts index 4b5838bce12d1..aa2898418db81 100644 --- a/packages/apps/deno-runtime/lib/sanitizeDeprecatedUsage.ts +++ b/packages/apps/deno-runtime/lib/sanitizeDeprecatedUsage.ts @@ -1,4 +1,4 @@ -import { fixBrokenSynchronousAPICalls } from './ast/mod.ts'; +import { fixBrokenSynchronousAPICalls } from './ast/mod'; function hasPotentialDeprecatedUsage(source: string) { return ( diff --git a/packages/apps/deno-runtime/lib/secureFields.ts b/packages/apps/deno-runtime/lib/secureFields.ts index aabb5cf854b5c..e028c824c5951 100644 --- a/packages/apps/deno-runtime/lib/secureFields.ts +++ b/packages/apps/deno-runtime/lib/secureFields.ts @@ -1,7 +1,7 @@ import { kSecureFields, WithSecureFields } from '@rocket.chat/apps/dist/lib/SecureFields'; import type { App } from '@rocket.chat/apps-engine/definition/App'; -import { AppObjectRegistry } from '../AppObjectRegistry.ts'; +import { AppObjectRegistry } from '../AppObjectRegistry'; export type { WithSecureFields } from '@rocket.chat/apps/dist/lib/SecureFields'; diff --git a/packages/apps/deno-runtime/lib/tests/logger.test.ts b/packages/apps/deno-runtime/lib/tests/logger.test.ts index 7ccc49b3b9ca4..ee3da4bc8340d 100644 --- a/packages/apps/deno-runtime/lib/tests/logger.test.ts +++ b/packages/apps/deno-runtime/lib/tests/logger.test.ts @@ -1,6 +1,6 @@ import { assertEquals } from 'https://deno.land/std@0.203.0/assert/mod.ts'; import { describe, it } from 'https://deno.land/std@0.203.0/testing/bdd.ts'; -import { Logger } from '../logger.ts'; +import { Logger } from '../logger'; describe('Logger', () => { it('getLogs should return an array of entries', () => { diff --git a/packages/apps/deno-runtime/lib/tests/messenger.test.ts b/packages/apps/deno-runtime/lib/tests/messenger.test.ts index 47b46f0db6e33..d278c4ccbd545 100644 --- a/packages/apps/deno-runtime/lib/tests/messenger.test.ts +++ b/packages/apps/deno-runtime/lib/tests/messenger.test.ts @@ -2,10 +2,10 @@ import { assertEquals, assertObjectMatch } from 'https://deno.land/std@0.203.0/a import { afterAll, 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'; -import * as Messenger from '../messenger.ts'; -import { AppObjectRegistry } from '../../AppObjectRegistry.ts'; -import { createMockRequest } from '../../handlers/tests/helpers/mod.ts'; -import { RequestContext } from '../requestContext.ts'; +import * as Messenger from '../messenger'; +import { AppObjectRegistry } from '../../AppObjectRegistry'; +import { createMockRequest } from '../../handlers/tests/helpers/mod'; +import { RequestContext } from '../requestContext'; import { JsonRpc } from 'jsonrpc-lite'; describe('Messenger', () => { diff --git a/packages/apps/deno-runtime/lib/tests/secureFields.test.ts b/packages/apps/deno-runtime/lib/tests/secureFields.test.ts index a27332eb35fdc..d6d780c0fffaf 100644 --- a/packages/apps/deno-runtime/lib/tests/secureFields.test.ts +++ b/packages/apps/deno-runtime/lib/tests/secureFields.test.ts @@ -1,8 +1,8 @@ import { assertEquals, assertThrows } 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 { AppObjectRegistry } from '../../AppObjectRegistry.ts'; -import { applySecureFields } from '../secureFields.ts'; +import { AppObjectRegistry } from '../../AppObjectRegistry'; +import { applySecureFields } from '../secureFields'; const SECURE_FIELDS_KEY = '@@SecureFields'; @@ -13,7 +13,7 @@ describe('applySecureFields', () => { it('throws when app is unavailable', () => { assertThrows( - () => applySecureFields({ foo: 'bar', [SECURE_FIELDS_KEY]: [] } as any), + () => applySecureFields({ foo: 'bar', [SECURE_FIELDS_KEY]: [] }), Error, "App unavailable, can't parse object with secure fields", ); @@ -32,7 +32,7 @@ describe('applySecureFields', () => { { permission: 'abac.read', name: 'abacAttributes', value: { department: 'support' } }, { permission: 'api.read', name: 'apiToken', value: 'secret' }, ], - } as any); + }); assertEquals(parsed, { foo: 'bar', @@ -50,7 +50,7 @@ describe('applySecureFields', () => { const parsed = applySecureFields({ abacAttributes: null, [SECURE_FIELDS_KEY]: [{ permission: 'abac.read', name: 'abacAttributes', value: { tenant: 'alpha' } }], - } as any); + }); assertEquals(parsed, { abacAttributes: { tenant: 'alpha' }, diff --git a/packages/apps/deno-runtime/lib/wrapAppForRequest.ts b/packages/apps/deno-runtime/lib/wrapAppForRequest.ts index 40bc49eca744c..33ea2d8cdb4dd 100644 --- a/packages/apps/deno-runtime/lib/wrapAppForRequest.ts +++ b/packages/apps/deno-runtime/lib/wrapAppForRequest.ts @@ -1,7 +1,7 @@ import type { App } from '@rocket.chat/apps-engine/definition/App'; -import { RequestContext } from './requestContext.ts'; -import { isApp, isRecord } from '../handlers/lib/assertions.ts'; +import { RequestContext } from './requestContext'; +import { isApp, isRecord } from '../handlers/lib/assertions'; export function wrapAppForRequest(app: App, req: RequestContext): App { return new Proxy(app, { diff --git a/packages/apps/deno-runtime/main.ts b/packages/apps/deno-runtime/main.ts index 1ce1b15b7a2cd..13ce43302923c 100644 --- a/packages/apps/deno-runtime/main.ts +++ b/packages/apps/deno-runtime/main.ts @@ -10,19 +10,19 @@ if (!Deno.args.includes('--subprocess')) { import { JsonRpcError } from 'jsonrpc-lite'; -import * as Messenger from './lib/messenger.ts'; -import { decoder } from './lib/codec.ts'; -import { Logger } from './lib/logger.ts'; - -import slashcommandHandler from './handlers/slashcommand-handler.ts'; -import videoConferenceHandler from './handlers/videoconference-handler.ts'; -import apiHandler from './handlers/api-handler.ts'; -import handleApp from './handlers/app/handler.ts'; -import handleScheduler from './handlers/scheduler-handler.ts'; -import registerErrorListeners from './error-handlers.ts'; -import { sendMetrics } from './lib/metricsCollector.ts'; -import outboundMessageHandler from './handlers/outboundcomms-handler.ts'; -import { RequestContext } from './lib/requestContext.ts'; +import * as Messenger from './lib/messenger'; +import { decoder } from './lib/codec'; +import { Logger } from './lib/logger'; + +import slashcommandHandler from './handlers/slashcommand-handler'; +import videoConferenceHandler from './handlers/videoconference-handler'; +import apiHandler from './handlers/api-handler'; +import handleApp from './handlers/app/handler'; +import handleScheduler from './handlers/scheduler-handler'; +import registerErrorListeners from './error-handlers'; +import { sendMetrics } from './lib/metricsCollector'; +import outboundMessageHandler from './handlers/outboundcomms-handler'; +import { RequestContext } from './lib/requestContext'; type Handlers = { app: typeof handleApp; diff --git a/packages/apps/package.json b/packages/apps/package.json index d2f922ab57020..d44d39262a212 100644 --- a/packages/apps/package.json +++ b/packages/apps/package.json @@ -17,7 +17,7 @@ "dev": "tsc -p tsconfig.json --watch --preserveWatchOutput", "lint": "eslint .", "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\"", + "test:node": "NODE_ENV=test node --require ts-node/register/transpile-only --test-reporter spec --test-concurrency=1 --test \"tests/**/*.test.ts\"", "testunit": "yarn test:node && yarn test:deno", "typecheck": "tsc -p tsconfig.json --noEmit" },