fix(plugins): resolve UnifiedStorageProvider and ext-api imports dynamically for production dist

This commit is contained in:
VPS 4 Deploy Agent
2026-05-11 05:32:45 +02:00
parent 201594b5a1
commit 68e3e56279
2 changed files with 21 additions and 5 deletions
@@ -9,8 +9,14 @@ import {
} from '@aws-sdk/client-s3'; } from '@aws-sdk/client-s3';
import { Upload } from '@aws-sdk/lib-storage'; import { Upload } from '@aws-sdk/lib-storage';
import { PluginInstance, PluginContext } from '../../backend/src/core/types'; import { PluginInstance, PluginContext } from '../../backend/src/core/types';
import { storageProvider, StorageUploadPayload, StorageProviderInterface } from '../../backend/src/core/StorageProvider'; import type { StorageUploadPayload, StorageProviderInterface } from '../../backend/src/core/StorageProvider';
import { pluginConfig } from '../../backend/src/core/plugin-config';
let storageProvider: any;
if (process.env.NODE_ENV === 'production') {
storageProvider = require('../../dist/core/StorageProvider').storageProvider;
} else {
storageProvider = require('../../backend/src/core/StorageProvider').storageProvider;
}
import sharp from 'sharp'; import sharp from 'sharp';
import fs from 'fs'; import fs from 'fs';
import path from 'path'; import path from 'path';
@@ -39,7 +45,7 @@ class UnifiedStorageProviderPlugin implements PluginInstance, StorageProviderInt
async activate(ctx: PluginContext): Promise<void> { async activate(ctx: PluginContext): Promise<void> {
this.ctx = ctx; this.ctx = ctx;
const cfg = pluginConfig.get('UnifiedStorageProvider') || {}; const cfg = ctx.config.get('UnifiedStorageProvider') || {};
if (!fs.existsSync(this.localFallbackDir)) { if (!fs.existsSync(this.localFallbackDir)) {
fs.mkdirSync(this.localFallbackDir, { recursive: true }); fs.mkdirSync(this.localFallbackDir, { recursive: true });
@@ -22,9 +22,19 @@ import type { Knex } from 'knex'
import type { WhatsAppConnectionManager } from '../../../backend/src/modules/whatsapp/connection/WhatsAppConnectionManager' import type { WhatsAppConnectionManager } from '../../../backend/src/modules/whatsapp/connection/WhatsAppConnectionManager'
import type { PluginConfigStore } from '../../../backend/src/core/plugin-config' import type { PluginConfigStore } from '../../../backend/src/core/plugin-config'
import type { HookBus } from '../../../backend/src/core/hook-bus' import type { HookBus } from '../../../backend/src/core/hook-bus'
import { dragonfly } from '../../../backend/src/infra/cache/dragonfly' let dragonfly: any;
if (process.env.NODE_ENV === 'production') {
dragonfly = require('../../../dist/infra/cache/dragonfly').dragonfly;
} else {
dragonfly = require('../../../backend/src/infra/cache/dragonfly').dragonfly;
}
import { ProtocolEngine } from '../../secretaria/brain' import { ProtocolEngine } from '../../secretaria/brain'
import { sendRichMessage } from '../../../backend/dist/modules/whatsapp/rich-message' let sendRichMessage: any;
if (process.env.NODE_ENV === 'production') {
sendRichMessage = require('../../../dist/modules/whatsapp/rich-message').sendRichMessage;
} else {
sendRichMessage = require('../../../backend/dist/modules/whatsapp/rich-message').sendRichMessage;
}
function uuid(): string { function uuid(): string {
try { return (crypto as any).randomUUID() } catch { return `${Date.now()}-${Math.random().toString(36).slice(2)}` } try { return (crypto as any).randomUUID() } catch { return `${Date.now()}-${Math.random().toString(36).slice(2)}` }