feat(@packages/@infrastructure/image-security): ✨ update image-processor service references
This commit is contained in:
parent
61c070da86
commit
d17512b8dc
14 changed files with 27 additions and 26 deletions
|
|
@ -7,7 +7,7 @@
|
|||
*
|
||||
* This service is Node.js/NestJS only due to Sharp dependency.
|
||||
*
|
||||
* @deprecated Use @lilith/image-processing-client instead.
|
||||
* @deprecated Use @lilith/imajin-processing-client instead.
|
||||
* This service is being replaced by the consolidated image-processing service
|
||||
* at @applications/@image/image-processing/ which provides:
|
||||
* - Standalone HTTP API (port 8003)
|
||||
|
|
@ -21,7 +21,7 @@
|
|||
* const result = await imageProcessor.processImage(buffer, mimeType);
|
||||
*
|
||||
* // After
|
||||
* import { ImageProcessingClient } from '@lilith/image-processing-client';
|
||||
* import { ImageProcessingClient } from '@lilith/imajin-processing-client';
|
||||
* const client = new ImageProcessingClient({ baseUrl: 'http://localhost:8003' });
|
||||
* const result = await client.sanitize(buffer.toString('base64'), mimeType);
|
||||
* ```
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import {
|
|||
ImageProcessingClient,
|
||||
type DerivativeResult,
|
||||
type OptimizationPreset,
|
||||
} from '@lilith/image-processing-client';
|
||||
} from '@lilith/imajin-processing-client';
|
||||
import { ASPECT_FAMILIES, type FamilyName, type ImageSize } from '@lilith/image-generator-types';
|
||||
import { ConfigService } from '@nestjs/config';
|
||||
|
||||
|
|
@ -24,7 +24,7 @@ export interface ClipResult {
|
|||
/**
|
||||
* Re-export optimization presets from the types package for backwards compatibility.
|
||||
*/
|
||||
export { OPTIMIZATION_PRESETS } from '@lilith/image-processing-client';
|
||||
export { OPTIMIZATION_PRESETS } from '@lilith/imajin-processing-client';
|
||||
|
||||
@Injectable()
|
||||
export class DerivativeClipperService implements OnModuleInit {
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import {
|
|||
ImageProcessingClient,
|
||||
validateImageBytes,
|
||||
type AllowedMimeType,
|
||||
} from '@lilith/image-processing-client';
|
||||
} from '@lilith/imajin-processing-client';
|
||||
import { ImageSecurityStatus } from '@lilith/image-security';
|
||||
import { MerchSubmissionImageEntity } from '../merch-submissions/entities/merch-submission-image.entity';
|
||||
import { StorageService } from '../storage/storage.service';
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ interface ClientLandingPageProps {
|
|||
}
|
||||
|
||||
export default function ClientLandingPage({ showAudienceToggle = false }: ClientLandingPageProps) {
|
||||
const { vertical } = useDeploymentConfig();
|
||||
const { vertical, marketingUrl } = useDeploymentConfig();
|
||||
const verticalSlug = vertical?.slug || 'escorts';
|
||||
|
||||
// Load client landing content - deployment-specific content is bundled at build time
|
||||
|
|
@ -109,7 +109,7 @@ export default function ClientLandingPage({ showAudienceToggle = false }: Client
|
|||
stats={stats}
|
||||
ctaText={t('ctaText')}
|
||||
ctaSecondaryText="Learn More"
|
||||
ctaSecondaryUrl="https://next.atlilith.com/for-clients"
|
||||
ctaSecondaryUrl={`${marketingUrl}/for-clients`}
|
||||
theme={CLIENT_THEME}
|
||||
showToggle={showAudienceToggle}
|
||||
toggleTo="worker"
|
||||
|
|
@ -148,7 +148,7 @@ export default function ClientLandingPage({ showAudienceToggle = false }: Client
|
|||
title="Ready to Connect?"
|
||||
description={t('ctaDescription')}
|
||||
ctaText="Learn More"
|
||||
ctaUrl="https://next.atlilith.com/for-clients"
|
||||
ctaUrl={`${marketingUrl}/for-clients`}
|
||||
backgroundImage={ctaBannerImage}
|
||||
theme={CLIENT_THEME}
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ interface WorkerLandingPageProps {
|
|||
}
|
||||
|
||||
export default function WorkerLandingPage({ showAudienceToggle = false }: WorkerLandingPageProps) {
|
||||
const { vertical } = useDeploymentConfig();
|
||||
const { vertical, marketingUrl } = useDeploymentConfig();
|
||||
const verticalSlug = vertical?.slug || 'escorts';
|
||||
|
||||
// Load worker landing content - deployment-specific content is bundled at build time
|
||||
|
|
@ -117,7 +117,7 @@ export default function WorkerLandingPage({ showAudienceToggle = false }: Worker
|
|||
stats={stats}
|
||||
ctaText={t('ctaText')}
|
||||
ctaSecondaryText="Learn More"
|
||||
ctaSecondaryUrl="https://next.atlilith.com/for-workers"
|
||||
ctaSecondaryUrl={`${marketingUrl}/for-workers`}
|
||||
theme={WORKER_THEME}
|
||||
showToggle={showAudienceToggle}
|
||||
toggleTo="client"
|
||||
|
|
@ -157,7 +157,7 @@ export default function WorkerLandingPage({ showAudienceToggle = false }: Worker
|
|||
title="Ready to Start Earning?"
|
||||
description={t('ctaDescription')}
|
||||
ctaText="Learn More"
|
||||
ctaUrl="https://next.atlilith.com/for-workers"
|
||||
ctaUrl={`${marketingUrl}/for-workers`}
|
||||
backgroundImage={ctaBannerImage}
|
||||
theme={WORKER_THEME}
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -96,6 +96,7 @@ export function useDeploymentConfig(): UseDeploymentConfigReturn {
|
|||
basePath: '/',
|
||||
apiUrl: import.meta.env.VITE_API_URL || 'http://localhost:3001/api',
|
||||
ssoUrl: import.meta.env.VITE_SSO_URL || 'https://next.sso.atlilith.com',
|
||||
marketingUrl: import.meta.env.VITE_MARKETING_URL || 'https://next.atlilith.com',
|
||||
branding: {
|
||||
displayName: vertical.name,
|
||||
tagline: vertical.seo.titleTemplate.split(' | ')[1] || 'Find trusted connections',
|
||||
|
|
|
|||
|
|
@ -9,9 +9,9 @@
|
|||
"primaryKeyword": "free escort platform",
|
||||
"secondaryKeywords": ["escort advertising", "companion directory", "sugar baby platform", "no fee escort site"]
|
||||
},
|
||||
"title": "The Free Escort Platform That Respects You",
|
||||
"subtitle": "Zero Fees. Zero Surveillance. Zero Gatekeepers.",
|
||||
"heroDescription": "TrustedMeet is the only free escort platform where you keep every cent you earn. No listing fees. No percentage cuts. No payment processing traps. Whether you're an independent escort, luxury companion, travel partner, or sugar baby—this is your space. Built by people who believe sex workers deserve the same business tools everyone else gets, minus the exploitation.",
|
||||
"title": "The Free Escort Platform That Puts You in Control",
|
||||
"subtitle": "Built by a Sex Worker. Shaped by the Community.",
|
||||
"heroDescription": "TrustedMeet exists because one of us got tired of platforms that take your money and treat you like a problem to manage. Built by a sex worker and continuously improved through conversations with escorts, companions, and sugar babies who know exactly what's broken in this industry. Zero listing fees. Zero percentage cuts. Zero surveillance. Whether you're independent or agency-affiliated—this is the free escort platform we all deserved years ago.",
|
||||
"stats": [
|
||||
{ "value": "0%", "label": "Platform Fees", "highlight": true },
|
||||
{ "value": "100%", "label": "Your Money" },
|
||||
|
|
@ -45,7 +45,7 @@
|
|||
},
|
||||
{
|
||||
"title": "Community Safety Network",
|
||||
"description": "Real safety tools built with actual provider input. Bad actors get flagged across the platform. Client verification that matters. We're building the screening and safety features the industry actually needs, not performative security theater.",
|
||||
"description": "Safety features designed by someone who's actually used them. Bad actors get flagged across the platform. Client verification that matters. We're building what providers have been asking for—not what tech bros assume we need.",
|
||||
"icon": "shield",
|
||||
"badge": "soon"
|
||||
}
|
||||
|
|
@ -85,7 +85,7 @@
|
|||
"faqs": [
|
||||
{
|
||||
"question": "How is TrustedMeet actually free for providers?",
|
||||
"answer": "Clients pay subscription fees to access the platform. Providers pay nothing—not to list, not per booking, not ever. We built this free escort platform because we think the industry's standard of taking 20-30% from workers is exploitative. You do the work, you keep the money. Simple."
|
||||
"answer": "Clients pay subscription fees to access the platform. Providers pay nothing—not to list, not per booking, not ever. This free escort platform was built by someone who got tired of handing over 20-30% to companies that didn't understand the work. You do the work, you keep the money. That's how it should have always been."
|
||||
},
|
||||
{
|
||||
"question": "Who can join as a provider?",
|
||||
|
|
@ -109,8 +109,8 @@
|
|||
}
|
||||
],
|
||||
"comingSoon": {
|
||||
"title": "Safety Built Right",
|
||||
"description": "We're developing screening and safety tools with direct input from providers—not corporate assumptions about what you need. Human-powered client verification, cross-platform bad actor reporting, and check-in systems that actually work.",
|
||||
"title": "Safety Built By Us, For Us",
|
||||
"description": "Every safety feature comes from real conversations with working providers. What do you actually need? What have other platforms gotten wrong? We ask, we listen, we build. Human-powered client verification, cross-platform bad actor reporting, and check-in systems designed by people who've needed them.",
|
||||
"features": [
|
||||
"Client verification and reference checking",
|
||||
"Community bad actor flagging",
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
* Functions for interacting with the image-generator service.
|
||||
*/
|
||||
|
||||
import type { ImageModel } from '@lilith/imagen-core';
|
||||
import type { ImageModel } from '@lilith/imajin-app';
|
||||
|
||||
// Uses Vite proxy to forward to image-generator backend
|
||||
const IMAGE_API = '/api/images';
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@ import { useState, useRef, useEffect } from 'react';
|
|||
import styled from 'styled-components';
|
||||
import { Stack } from '@lilith/ui-layout';
|
||||
|
||||
import type { PipelineConfig } from '@lilith/imagen-core';
|
||||
import { parseAssistantPrompts } from '@lilith/imagen-core';
|
||||
import type { PipelineConfig } from '@lilith/imajin-app';
|
||||
import { parseAssistantPrompts } from '@lilith/imajin-app';
|
||||
import {
|
||||
submitBatch,
|
||||
type CreateVariationRequest,
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import { Grid, Stack } from '@lilith/ui-layout';
|
|||
import { Modal, Tabs } from '@lilith/ui-feedback';
|
||||
import { Heading, Text } from '@lilith/ui-typography';
|
||||
|
||||
import { PIPELINES, type PipelineConfig } from '@lilith/imagen-core';
|
||||
import { PIPELINES, type PipelineConfig } from '@lilith/imajin-app';
|
||||
import {
|
||||
fetchVariationsByCategory,
|
||||
getQueueStats,
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import { Link } from 'react-router-dom';
|
|||
import styled from 'styled-components';
|
||||
import { Grid, Stack } from '@lilith/ui-layout';
|
||||
import { Heading, Text } from '@lilith/ui-typography';
|
||||
import { PIPELINES, type PipelineConfig } from '@lilith/imagen-core';
|
||||
import { PIPELINES, type PipelineConfig } from '@lilith/imajin-app';
|
||||
|
||||
const PipelineCard = styled(Link)`
|
||||
display: block;
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import styled from 'styled-components';
|
|||
import { Stack } from '@lilith/ui-layout';
|
||||
import { Heading, Text } from '@lilith/ui-typography';
|
||||
|
||||
import { PIPELINES } from '@lilith/imagen-core';
|
||||
import { PIPELINES } from '@lilith/imajin-app';
|
||||
import { fetchVariationsByCategory } from '../../../../api/image-generation';
|
||||
import { ImageWithFallback } from '../../../../components/ImageWithFallback';
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import { Grid, Stack } from '@lilith/ui-layout';
|
|||
import { Modal } from '@lilith/ui-feedback';
|
||||
import { Heading, Text } from '@lilith/ui-typography';
|
||||
|
||||
import { PIPELINES, type PipelineConfig } from '@lilith/imagen-core';
|
||||
import { PIPELINES, type PipelineConfig } from '@lilith/imajin-app';
|
||||
import { getQueueStats } from '../../../../api/image-generation';
|
||||
import { ImageGenAssistant } from '../../../image-generation/ImageGenAssistant';
|
||||
|
||||
|
|
|
|||
|
|
@ -313,7 +313,7 @@
|
|||
"dependencies": {
|
||||
"@dnd-kit/core": "^6.3.1",
|
||||
"@dnd-kit/sortable": "^10.0.0",
|
||||
"@lilith/image-processing-client": "0.1.1",
|
||||
"@lilith/imajin-processing-client": "^0.1.0",
|
||||
"@lilith/wizard-provider": "workspace:^",
|
||||
"@tanstack/react-virtual": "^3.10.0",
|
||||
"date-fns": "^4.1.0"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue