Compare commits
15 Commits
1ad12a9818
...
v2.3.14
| Author | SHA1 | Date | |
|---|---|---|---|
| 13be6544ab | |||
| b18bc21ada | |||
| 18556c818d | |||
| 1a5dfc96c1 | |||
| ad9f6e1a64 | |||
| 10ac7b4877 | |||
| a662c6bfe8 | |||
| 55a03daf2f | |||
| 564b77a2f3 | |||
| 6d109a7636 | |||
| 849c4808b8 | |||
| 40e35cd013 | |||
| ec6379c582 | |||
| 9623ca4b0d | |||
| 49f5c67aa2 |
111
.env.bak
Normal file
111
.env.bak
Normal file
@@ -0,0 +1,111 @@
|
||||
# ============================================================================
|
||||
# KLZ Cables - Environment Configuration
|
||||
# ============================================================================
|
||||
# Copy this file to .env for local development
|
||||
# For production, use .env.production as a template
|
||||
# ============================================================================
|
||||
|
||||
# ────────────────────────────────────────────────────────────────────────────
|
||||
# Application Configuration
|
||||
# ────────────────────────────────────────────────────────────────────────────
|
||||
NODE_ENV=development
|
||||
NEXT_PUBLIC_BASE_URL=http://localhost:3000
|
||||
# TARGET is used to differentiate between environments (testing, staging, production)
|
||||
# NEXT_PUBLIC_TARGET makes this information available to the frontend
|
||||
TARGET=development
|
||||
NEXT_PUBLIC_FEEDBACK_ENABLED=false
|
||||
NEXT_PUBLIC_RECORD_MODE_ENABLED=true
|
||||
|
||||
# ────────────────────────────────────────────────────────────────────────────
|
||||
# Analytics (Umami)
|
||||
# ────────────────────────────────────────────────────────────────────────────
|
||||
# Optional: Leave empty to disable analytics
|
||||
UMAMI_WEBSITE_ID=
|
||||
UMAMI_API_ENDPOINT=https://analytics.infra.mintel.me
|
||||
|
||||
# ────────────────────────────────────────────────────────────────────────────
|
||||
# Error Tracking (GlitchTip/Sentry)
|
||||
# ────────────────────────────────────────────────────────────────────────────
|
||||
# Optional: Leave empty to disable error tracking
|
||||
SENTRY_DSN=
|
||||
|
||||
# ────────────────────────────────────────────────────────────────────────────
|
||||
# Email Configuration (SMTP)
|
||||
# ────────────────────────────────────────────────────────────────────────────
|
||||
# Required for contact form functionality
|
||||
MAIL_HOST=smtp.eu.mailgun.org
|
||||
MAIL_PORT=587
|
||||
MAIL_USERNAME=
|
||||
MAIL_PASSWORD=
|
||||
MAIL_FROM=KLZ Cables <noreply@klz-cables.com>
|
||||
MAIL_RECIPIENTS=info@klz-cables.com
|
||||
|
||||
# ────────────────────────────────────────────────────────────────────────────
|
||||
# Logging
|
||||
# ────────────────────────────────────────────────────────────────────────────
|
||||
LOG_LEVEL=info
|
||||
GATEKEEPER_PASSWORD=klz2026
|
||||
SENTRY_DSN=
|
||||
# SENTRY_ENVIRONMENT is set automatically by CI
|
||||
|
||||
# ────────────────────────────────────────────────────────────────────────────
|
||||
# AI Agent (Payload CMS Agent via OpenRouter)
|
||||
# ────────────────────────────────────────────────────────────────────────────
|
||||
# Required for the Payload CMS AI Chat Agent
|
||||
MISTRAL_API_KEY=
|
||||
|
||||
# ────────────────────────────────────────────────────────────────────────────
|
||||
# Payload Infrastructure (Dockerized)
|
||||
# ────────────────────────────────────────────────────────────────────────────
|
||||
# The POSTGRES_URI and PAYLOAD_SECRET are automatically constructed and injected
|
||||
# by docker-compose.yml using these base DB credentials, so you don't need to
|
||||
# manually write the connection strings here.
|
||||
PAYLOAD_DB_NAME=payload
|
||||
PAYLOAD_DB_USER=payload
|
||||
PAYLOAD_DB_PASSWORD=120in09oenaoinsd9iaidon
|
||||
|
||||
# ────────────────────────────────────────────────────────────────────────────
|
||||
# Deployment Configuration (CI/CD only)
|
||||
# ────────────────────────────────────────────────────────────────────────────
|
||||
# These are typically set by the CI/CD workflow
|
||||
IMAGE_TAG=latest
|
||||
TRAEFIK_HOST=klz-cables.com
|
||||
ENV_FILE=.env
|
||||
# IMGPROXY_URL: The backend URL of the imgproxy instance (e.g. img.infra.mintel.me)
|
||||
# Next.js will proxy requests from /_img to this URL.
|
||||
IMGPROXY_URL=https://img.infra.mintel.me
|
||||
|
||||
# ────────────────────────────────────────────────────────────────────────────
|
||||
# Varnish Configuration
|
||||
# ────────────────────────────────────────────────────────────────────────────
|
||||
VARNISH_CACHE_SIZE=256M
|
||||
|
||||
# ============================================================================
|
||||
# IMPORTANT NOTES
|
||||
# ============================================================================
|
||||
#
|
||||
# BUILD-TIME vs RUNTIME Variables:
|
||||
# ─────────────────────────────────
|
||||
# • NEXT_PUBLIC_* variables are baked into the client bundle at BUILD time
|
||||
# They must be provided as --build-arg when building the Docker image
|
||||
#
|
||||
# • All other variables are used at RUNTIME only
|
||||
# They are loaded from the .env file by docker-compose
|
||||
#
|
||||
# Docker Deployment:
|
||||
# ──────────────────
|
||||
# 1. Build-time: Only NEXT_PUBLIC_* vars are needed (via --build-arg)
|
||||
# 2. Runtime: All vars are loaded from .env file on the server
|
||||
# 3. Branch Deployments:
|
||||
# - main branch uses .env.prod
|
||||
# - staging branch uses .env.staging
|
||||
# - CI/CD supports STAGING_ prefix for all secrets to override defaults
|
||||
# - TRAEFIK_HOST is automatically derived from NEXT_PUBLIC_BASE_URL
|
||||
#
|
||||
# Security:
|
||||
# ─────────
|
||||
# • NEVER commit .env files with real credentials to git
|
||||
# • Use Gitea/GitHub secrets for CI/CD workflows
|
||||
# • Store production .env file securely on the server only
|
||||
#
|
||||
# ============================================================================
|
||||
@@ -121,19 +121,27 @@ jobs:
|
||||
# ⏳ Wait for Upstream Packages/Images if Tagged
|
||||
if [[ "${{ github.ref_type }}" == "tag" ]]; then
|
||||
echo "🔎 Checking for @mintel dependencies in package.json..."
|
||||
# Extract any @mintel/ version (they should be synced in monorepo)
|
||||
UPSTREAM_VERSION=$(grep -o '"@mintel/.*": "[^"]*"' package.json | grep -v "next-utils" | cut -d'"' -f4 | sed 's/\^//; s/\~//' | sort -V | tail -1)
|
||||
TAG_TO_WAIT="v$UPSTREAM_VERSION"
|
||||
# Extract @mintel versions, cleaning caret/tilde, and filtering out workspace refs
|
||||
VERSIONS=$(grep "@mintel/" package.json | sed -E 's/.*: "[^0-9]*([0-9]+\.[0-9]+\.[0-9]+).*/\1/' | sort -u)
|
||||
echo "Found @mintel versions in package.json: $VERSIONS"
|
||||
|
||||
if [[ -n "$UPSTREAM_VERSION" && "$UPSTREAM_VERSION" != "workspace:"* ]]; then
|
||||
UPSTREAM_VERSION=$(echo "$VERSIONS" | sort -V | tail -1)
|
||||
|
||||
if [[ -n "$UPSTREAM_VERSION" ]]; then
|
||||
TAG_TO_WAIT="v$UPSTREAM_VERSION"
|
||||
echo "🔎 Verifying tag $TAG_TO_WAIT in mmintel/at-mintel..."
|
||||
|
||||
# 1. Discovery (Works without token for public repositories)
|
||||
UPSTREAM_SHA=$(git ls-remote --tags https://git.infra.mintel.me/mmintel/at-mintel.git "$TAG_TO_WAIT" | grep "$TAG_TO_WAIT" | tail -n1 | awk '{print $1}')
|
||||
|
||||
if [[ -z "$UPSTREAM_SHA" ]]; then
|
||||
echo "❌ Error: Tag $TAG_TO_WAIT not found in mmintel/at-mintel."
|
||||
exit 1
|
||||
echo "⚠️ Warning: Tag $TAG_TO_WAIT not found in mmintel/at-mintel."
|
||||
echo " The deployment will proceed, but ensure that the matching images are available."
|
||||
echo "Full @mintel dependencies in package.json:"
|
||||
grep "@mintel/" package.json
|
||||
else
|
||||
echo "✅ Tag verified: Found upstream SHA $UPSTREAM_SHA for $TAG_TO_WAIT"
|
||||
fi
|
||||
echo "✅ Tag verified: Found upstream SHA $UPSTREAM_SHA for $TAG_TO_WAIT"
|
||||
|
||||
# 2. Status Check (Requires GITEA_PAT for cross-repo API access)
|
||||
POLL_TOKEN="${{ secrets.GITEA_PAT || secrets.MINTEL_PRIVATE_TOKEN }}"
|
||||
|
||||
@@ -4,6 +4,7 @@ import { sendEmail } from '@/lib/mail/mailer';
|
||||
import { render, ContactFormNotification, ConfirmationMessage } from '@mintel/mail';
|
||||
import React from 'react';
|
||||
import { getServerAppServices } from '@/lib/services/create-services.server';
|
||||
import { env } from '@/lib/env';
|
||||
|
||||
export async function sendContactFormAction(formData: FormData) {
|
||||
const services = getServerAppServices();
|
||||
@@ -95,6 +96,7 @@ export async function sendContactFormAction(formData: FormData) {
|
||||
);
|
||||
|
||||
if (!isTestSubmission) {
|
||||
logger.info('Sending internal notification', { recipients: env.MAIL_RECIPIENTS });
|
||||
const notificationResult = await sendEmail({
|
||||
replyTo: email,
|
||||
subject: notificationSubject,
|
||||
@@ -106,14 +108,18 @@ export async function sendContactFormAction(formData: FormData) {
|
||||
messageId: notificationResult.messageId,
|
||||
});
|
||||
} else {
|
||||
logger.error('Notification email FAILED', {
|
||||
logger.error('Notification email DELIVERY FAILED', {
|
||||
error: notificationResult.error,
|
||||
subject: notificationSubject,
|
||||
email,
|
||||
recipients: env.MAIL_RECIPIENTS,
|
||||
});
|
||||
services.errors.captureException(
|
||||
new Error(`Notification email failed: ${notificationResult.error}`),
|
||||
{ action: 'sendContactFormAction_notification', email },
|
||||
{
|
||||
action: 'sendContactFormAction_notification',
|
||||
email,
|
||||
recipients: env.MAIL_RECIPIENTS
|
||||
},
|
||||
);
|
||||
}
|
||||
} else {
|
||||
@@ -130,6 +136,7 @@ export async function sendContactFormAction(formData: FormData) {
|
||||
);
|
||||
|
||||
if (!isTestSubmission) {
|
||||
logger.info('Sending customer confirmation', { to: email });
|
||||
const confirmationResult = await sendEmail({
|
||||
to: email,
|
||||
subject: confirmationSubject,
|
||||
@@ -141,7 +148,7 @@ export async function sendContactFormAction(formData: FormData) {
|
||||
messageId: confirmationResult.messageId,
|
||||
});
|
||||
} else {
|
||||
logger.error('Confirmation email FAILED', {
|
||||
logger.error('Confirmation email DELIVERY FAILED', {
|
||||
error: confirmationResult.error,
|
||||
subject: confirmationSubject,
|
||||
to: email,
|
||||
|
||||
@@ -5,7 +5,6 @@ import { z } from 'zod';
|
||||
import * as Sentry from '@sentry/nextjs';
|
||||
import { generateText } from 'ai';
|
||||
import { createOpenAI } from '@ai-sdk/openai';
|
||||
// @ts-expect-error - Local version of @mintel/payload-ai/tools/mcpAdapter might not have types published yet
|
||||
import { createMcpTools } from '@mintel/payload-ai/tools/mcpAdapter';
|
||||
|
||||
export const dynamic = 'force-dynamic';
|
||||
|
||||
@@ -1,64 +0,0 @@
|
||||
import { NextRequest, NextResponse } from 'next/server';
|
||||
import { getPayload } from 'payload';
|
||||
import configPromise from '@payload-config';
|
||||
import { renderToStream } from '@react-pdf/renderer';
|
||||
import React from 'react';
|
||||
import { PDFPage } from '@/lib/pdf-page';
|
||||
|
||||
export async function GET(req: NextRequest, { params }: { params: Promise<{ slug: string }> }) {
|
||||
try {
|
||||
const { slug } = await params;
|
||||
|
||||
// Get Payload App
|
||||
const payload = await getPayload({ config: configPromise });
|
||||
|
||||
// Fetch the page
|
||||
const pages = await payload.find({
|
||||
collection: 'pages',
|
||||
where: {
|
||||
slug: { equals: slug },
|
||||
_status: { equals: 'published' },
|
||||
},
|
||||
limit: 1,
|
||||
});
|
||||
|
||||
if (pages.totalDocs === 0) {
|
||||
return new NextResponse('Page not found', { status: 404 });
|
||||
}
|
||||
|
||||
const page = pages.docs[0];
|
||||
|
||||
// Determine locale from searchParams or default to 'de'
|
||||
const searchParams = req.nextUrl.searchParams;
|
||||
const locale = (searchParams.get('locale') as 'en' | 'de') || 'de';
|
||||
|
||||
// Render the React-PDF document into a stream
|
||||
const stream = await renderToStream(<PDFPage page={page} locale={locale} />);
|
||||
|
||||
// Pipe the Node.js Readable stream into a valid fetch/Web Response stream
|
||||
const body = new ReadableStream({
|
||||
start(controller) {
|
||||
stream.on('data', (chunk) => controller.enqueue(chunk));
|
||||
stream.on('end', () => controller.close());
|
||||
stream.on('error', (err) => controller.error(err));
|
||||
},
|
||||
cancel() {
|
||||
(stream as any).destroy?.();
|
||||
},
|
||||
});
|
||||
|
||||
const filename = `${slug}.pdf`;
|
||||
|
||||
return new NextResponse(body, {
|
||||
status: 200,
|
||||
headers: {
|
||||
'Content-Type': 'application/pdf',
|
||||
'Content-Disposition': `attachment; filename="${filename}"`,
|
||||
// Cache control if needed, skip for now.
|
||||
},
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('Error generating PDF:', error);
|
||||
return new NextResponse('Internal Server Error', { status: 500 });
|
||||
}
|
||||
}
|
||||
@@ -112,6 +112,7 @@ services:
|
||||
- klz_qdrant_data:/qdrant/storage
|
||||
networks:
|
||||
- default
|
||||
ports:
|
||||
- "16333:6333"
|
||||
|
||||
klz-kabelfachmann:
|
||||
|
||||
@@ -42,7 +42,7 @@ const envExtension = {
|
||||
MAIL_USERNAME: z.string().optional(),
|
||||
MAIL_PASSWORD: z.string().optional(),
|
||||
MAIL_FROM: z.string().optional(),
|
||||
MAIL_RECIPIENTS: z.string().optional(),
|
||||
MAIL_RECIPIENTS: z.string().trim().optional(),
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -32,16 +32,27 @@ interface SendEmailOptions {
|
||||
}
|
||||
|
||||
export async function sendEmail({ to, replyTo, subject, html }: SendEmailOptions) {
|
||||
const recipients = to || config.mail.recipients;
|
||||
const logger = getServerAppServices().logger.child({ component: 'mailer' });
|
||||
|
||||
// Resolve recipients: priority to 'to' override, fallback to global MAIL_RECIPIENTS
|
||||
const resolvedTo = to || config.mail.recipients;
|
||||
|
||||
// Normalize recipients (handle arrays or comma-strings)
|
||||
const recipients = Array.isArray(resolvedTo)
|
||||
? resolvedTo.join(', ')
|
||||
: (resolvedTo?.toString() || '');
|
||||
|
||||
if (!recipients) {
|
||||
logger.error('No email recipients configured (MAIL_RECIPIENTS is empty and no "to" provided)', { subject });
|
||||
if (!recipients || recipients.trim() === '') {
|
||||
logger.error('Email delivery ABORTED: No recipients configured', {
|
||||
subject,
|
||||
providedTo: to,
|
||||
configRecipients: config.mail.recipients
|
||||
});
|
||||
return { success: false as const, error: 'No recipients configured' };
|
||||
}
|
||||
|
||||
if (!config.mail.from) {
|
||||
logger.error('MAIL_FROM is not configured — cannot send email', { subject, recipients });
|
||||
logger.error('Email delivery ABORTED: MAIL_FROM is missing', { subject, recipients });
|
||||
return { success: false as const, error: 'MAIL_FROM is not configured' };
|
||||
}
|
||||
|
||||
@@ -53,14 +64,36 @@ export async function sendEmail({ to, replyTo, subject, html }: SendEmailOptions
|
||||
html,
|
||||
};
|
||||
|
||||
|
||||
try {
|
||||
const info = await getTransporter().sendMail(mailOptions);
|
||||
logger.info('Email sent successfully', { messageId: info.messageId, subject, recipients });
|
||||
const transporter = getTransporter();
|
||||
logger.info('Attempting to send email via SMTP', {
|
||||
host: config.mail.host,
|
||||
subject,
|
||||
recipients,
|
||||
hasReplyTo: !!replyTo
|
||||
});
|
||||
|
||||
const info = await transporter.sendMail(mailOptions);
|
||||
|
||||
logger.info('Email sent successfully', {
|
||||
messageId: info.messageId,
|
||||
subject,
|
||||
recipients,
|
||||
response: info.response
|
||||
});
|
||||
|
||||
return { success: true, messageId: info.messageId };
|
||||
} catch (error) {
|
||||
const errorMsg = error instanceof Error ? error.message : String(error);
|
||||
logger.error('Error sending email', { error: errorMsg, subject, recipients });
|
||||
logger.error('SMTP Transport failed', {
|
||||
error: errorMsg,
|
||||
subject,
|
||||
recipients,
|
||||
config: {
|
||||
host: config.mail.host,
|
||||
user: config.mail.user ? '***' : 'not set'
|
||||
}
|
||||
});
|
||||
return { success: false, error: errorMsg };
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,12 +51,26 @@ export default async function middleware(request: NextRequest) {
|
||||
const hostHeader = headers.get('x-forwarded-host') || headers.get('host') || fallbackHost;
|
||||
|
||||
urlObj.protocol = proto;
|
||||
|
||||
effectiveRequest = new NextRequest(urlObj, {
|
||||
headers: request.headers,
|
||||
method: request.method,
|
||||
body: request.body,
|
||||
});
|
||||
// Do NOT reconstruct NextRequest for GET/HEAD requests to avoid stream locking/piping errors.
|
||||
// next-intl middleware primarily uses the URL and headers, so a simplified request-like object
|
||||
// or a redirected URL is often enough. For robustness, we only clone if we really have to.
|
||||
if (method === 'GET' || method === 'HEAD') {
|
||||
// In Next.js 15+, we can clone headers but avoid re-passing the body stream.
|
||||
effectiveRequest = new NextRequest(urlObj, {
|
||||
headers: new Headers(request.headers),
|
||||
method: request.method,
|
||||
// No body for GET/HEAD
|
||||
});
|
||||
} else {
|
||||
// For POST/PUT etc, we must be careful. Re-passing the body can only be done once.
|
||||
// If we don't need to fix the URL for the body-reading part, we can skip it.
|
||||
// But usually intl-middleware doesn't care about the body.
|
||||
effectiveRequest = new NextRequest(urlObj, {
|
||||
headers: new Headers(request.headers),
|
||||
method: request.method,
|
||||
body: request.body,
|
||||
});
|
||||
}
|
||||
|
||||
if (process.env.NODE_ENV !== 'production' || !process.env.CI) {
|
||||
console.log(
|
||||
|
||||
@@ -7,7 +7,7 @@ import { withPayload } from '@payloadcms/next/withPayload';
|
||||
const isProd = process.env.NODE_ENV === 'production';
|
||||
/** @type {import('next').NextConfig} */
|
||||
const nextConfig = {
|
||||
transpilePackages: ['react-image-crop', '@react-three/fiber'],
|
||||
transpilePackages: ['react-image-crop', '@react-three/fiber', '@mintel/payload-ai'],
|
||||
onDemandEntries: {
|
||||
// Keep compiled pages/routes in memory for 5 minutes (reduced from 25m to prevent OOM)
|
||||
maxInactiveAge: 5 * 60 * 1000,
|
||||
|
||||
22
package.json
22
package.json
@@ -6,11 +6,11 @@
|
||||
"dependencies": {
|
||||
"@ai-sdk/google": "^3.0.31",
|
||||
"@ai-sdk/openai": "^3.0.36",
|
||||
"@mintel/mail": "^1.9.0",
|
||||
"@mintel/next-config": "^1.9.0",
|
||||
"@mintel/next-feedback": "^1.9.0",
|
||||
"@mintel/next-utils": "^1.9.0",
|
||||
"@mintel/payload-ai": "^1.9.15",
|
||||
"@mintel/mail": "1.9.11",
|
||||
"@mintel/next-config": "1.9.11",
|
||||
"@mintel/next-feedback": "1.9.11",
|
||||
"@mintel/next-utils": "1.9.11",
|
||||
"@mintel/payload-ai": "1.9.18",
|
||||
"@payloadcms/db-postgres": "^3.77.0",
|
||||
"@payloadcms/email-nodemailer": "^3.77.0",
|
||||
"@payloadcms/next": "^3.77.0",
|
||||
@@ -65,8 +65,8 @@
|
||||
"@commitlint/config-conventional": "^20.4.0",
|
||||
"@cspell/dict-de-de": "^4.1.2",
|
||||
"@lhci/cli": "^0.15.1",
|
||||
"@mintel/eslint-config": "^1.9.0",
|
||||
"@mintel/tsconfig": "^1.9.0",
|
||||
"@mintel/eslint-config": "^1.9.11",
|
||||
"@mintel/tsconfig": "^1.9.11",
|
||||
"@next/bundle-analyzer": "^16.1.6",
|
||||
"@tailwindcss/cli": "^4.1.18",
|
||||
"@tailwindcss/postcss": "^4.1.18",
|
||||
@@ -160,7 +160,7 @@
|
||||
"prepare": "husky",
|
||||
"preinstall": "npx only-allow pnpm"
|
||||
},
|
||||
"version": "2.2.12",
|
||||
"version": "2.3.14",
|
||||
"pnpm": {
|
||||
"onlyBuiltDependencies": [
|
||||
"@parcel/watcher",
|
||||
@@ -171,10 +171,12 @@
|
||||
],
|
||||
"overrides": {
|
||||
"next": "16.1.6",
|
||||
"minimatch": ">=10.2.2"
|
||||
"minimatch": ">=10.2.2",
|
||||
"@mintel/content-engine": "1.9.11",
|
||||
"@mintel/thumbnail-generator": "1.9.11"
|
||||
},
|
||||
"patchedDependencies": {
|
||||
"@mintel/payload-ai@1.9.15": "patches/@mintel__payload-ai@1.9.15.patch"
|
||||
"@mintel/payload-ai@1.9.18": "patches/@mintel__payload-ai@1.9.18.patch"
|
||||
}
|
||||
},
|
||||
"browserslist": [
|
||||
|
||||
@@ -1,131 +0,0 @@
|
||||
diff --git a/dist/components/ChatWindow/index.js b/dist/components/ChatWindow/index.js
|
||||
index 90c65bae4abb78beec98d8308e808e8ba341dcc2..f675dbc69ff82b64438288f53599c93a56391b64 100644
|
||||
--- a/dist/components/ChatWindow/index.js
|
||||
+++ b/dist/components/ChatWindow/index.js
|
||||
@@ -2,7 +2,6 @@
|
||||
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
||||
import { useState } from 'react';
|
||||
import { useChat } from '@ai-sdk/react';
|
||||
-import './ChatWindow.scss';
|
||||
export const ChatWindowProvider = ({ children }) => {
|
||||
return (_jsxs(_Fragment, { children: [children, _jsx(ChatWindow, {})] }));
|
||||
};
|
||||
@@ -14,47 +13,63 @@ const ChatWindow = () => {
|
||||
initialMessages: []
|
||||
});
|
||||
// Basic implementation to toggle chat window and submit messages
|
||||
- return (_jsxs("div", { className: "payload-mcp-chat-container", children: [_jsx("button", { className: "payload-mcp-chat-toggle", onClick: () => setIsOpen(!isOpen), style: {
|
||||
- position: 'fixed',
|
||||
- bottom: '20px',
|
||||
- right: '20px',
|
||||
- zIndex: 9999,
|
||||
- padding: '12px 24px',
|
||||
- backgroundColor: '#000',
|
||||
- color: '#fff',
|
||||
- borderRadius: '8px',
|
||||
- border: 'none',
|
||||
- cursor: 'pointer',
|
||||
- fontWeight: 'bold'
|
||||
- }, children: isOpen ? 'Close AI Chat' : 'Ask AI' }), isOpen && (_jsxs("div", { className: "payload-mcp-chat-window", style: {
|
||||
- position: 'fixed',
|
||||
- bottom: '80px',
|
||||
- right: '20px',
|
||||
- width: '400px',
|
||||
- height: '600px',
|
||||
- backgroundColor: '#fff',
|
||||
- border: '1px solid #eaeaea',
|
||||
- borderRadius: '12px',
|
||||
- zIndex: 9999,
|
||||
- display: 'flex',
|
||||
- flexDirection: 'column',
|
||||
- boxShadow: '0 10px 40px rgba(0,0,0,0.1)'
|
||||
- }, children: [_jsx("div", { className: "chat-header", style: { padding: '16px', borderBottom: '1px solid #eaeaea', backgroundColor: '#f9f9f9', borderTopLeftRadius: '12px', borderTopRightRadius: '12px' }, children: _jsx("h3", { style: { margin: 0, fontSize: '16px' }, children: "Payload MCP Chat" }) }), _jsx("div", { className: "chat-messages", style: { flex: 1, padding: '16px', overflowY: 'auto' }, children: messages.map((m) => (_jsx("div", { style: {
|
||||
- marginBottom: '12px',
|
||||
- textAlign: m.role === 'user' ? 'right' : 'left'
|
||||
- }, children: _jsxs("div", { style: {
|
||||
- display: 'inline-block',
|
||||
- padding: '8px 12px',
|
||||
- borderRadius: '8px',
|
||||
- backgroundColor: m.role === 'user' ? '#000' : '#f0f0f0',
|
||||
- color: m.role === 'user' ? '#fff' : '#000',
|
||||
- maxWidth: '80%'
|
||||
- }, children: [m.role === 'user' ? 'G: ' : 'AI: ', m.content] }) }, m.id))) }), _jsx("form", { onSubmit: handleSubmit, style: { padding: '16px', borderTop: '1px solid #eaeaea' }, children: _jsx("input", { value: input, placeholder: "Ask me anything or use /commands...", onChange: handleInputChange, style: {
|
||||
- width: '100%',
|
||||
- padding: '12px',
|
||||
- borderRadius: '8px',
|
||||
- border: '1px solid #eaeaea',
|
||||
- boxSizing: 'border-box'
|
||||
- } }) })] }))] }));
|
||||
+ return (_jsxs("div", {
|
||||
+ className: "payload-mcp-chat-container", children: [_jsx("button", {
|
||||
+ className: "payload-mcp-chat-toggle", onClick: () => setIsOpen(!isOpen), style: {
|
||||
+ position: 'fixed',
|
||||
+ bottom: '20px',
|
||||
+ right: '20px',
|
||||
+ zIndex: 9999,
|
||||
+ padding: '12px 24px',
|
||||
+ backgroundColor: '#000',
|
||||
+ color: '#fff',
|
||||
+ borderRadius: '8px',
|
||||
+ border: 'none',
|
||||
+ cursor: 'pointer',
|
||||
+ fontWeight: 'bold'
|
||||
+ }, children: isOpen ? 'Close AI Chat' : 'Ask AI'
|
||||
+ }), isOpen && (_jsxs("div", {
|
||||
+ className: "payload-mcp-chat-window", style: {
|
||||
+ position: 'fixed',
|
||||
+ bottom: '80px',
|
||||
+ right: '20px',
|
||||
+ width: '400px',
|
||||
+ height: '600px',
|
||||
+ backgroundColor: '#fff',
|
||||
+ border: '1px solid #eaeaea',
|
||||
+ borderRadius: '12px',
|
||||
+ zIndex: 9999,
|
||||
+ display: 'flex',
|
||||
+ flexDirection: 'column',
|
||||
+ boxShadow: '0 10px 40px rgba(0,0,0,0.1)'
|
||||
+ }, children: [_jsx("div", { className: "chat-header", style: { padding: '16px', borderBottom: '1px solid #eaeaea', backgroundColor: '#f9f9f9', borderTopLeftRadius: '12px', borderTopRightRadius: '12px' }, children: _jsx("h3", { style: { margin: 0, fontSize: '16px' }, children: "Payload MCP Chat" }) }), _jsx("div", {
|
||||
+ className: "chat-messages", style: { flex: 1, padding: '16px', overflowY: 'auto' }, children: messages.map((m) => (_jsx("div", {
|
||||
+ style: {
|
||||
+ marginBottom: '12px',
|
||||
+ textAlign: m.role === 'user' ? 'right' : 'left'
|
||||
+ }, children: _jsxs("div", {
|
||||
+ style: {
|
||||
+ display: 'inline-block',
|
||||
+ padding: '8px 12px',
|
||||
+ borderRadius: '8px',
|
||||
+ backgroundColor: m.role === 'user' ? '#000' : '#f0f0f0',
|
||||
+ color: m.role === 'user' ? '#fff' : '#000',
|
||||
+ maxWidth: '80%'
|
||||
+ }, children: [m.role === 'user' ? 'G: ' : 'AI: ', m.content]
|
||||
+ })
|
||||
+ }, m.id)))
|
||||
+ }), _jsx("form", {
|
||||
+ onSubmit: handleSubmit, style: { padding: '16px', borderTop: '1px solid #eaeaea' }, children: _jsx("input", {
|
||||
+ value: input, placeholder: "Ask me anything or use /commands...", onChange: handleInputChange, style: {
|
||||
+ width: '100%',
|
||||
+ padding: '12px',
|
||||
+ borderRadius: '8px',
|
||||
+ border: '1px solid #eaeaea',
|
||||
+ boxSizing: 'border-box'
|
||||
+ }
|
||||
+ })
|
||||
+ })]
|
||||
+ }))]
|
||||
+ }));
|
||||
};
|
||||
//# sourceMappingURL=index.js.map
|
||||
\ No newline at end of file
|
||||
diff --git a/src/components/ChatWindow/index.tsx b/src/components/ChatWindow/index.tsx
|
||||
index 9081ae77d4eae53ce660e285c1a6babde99ceaab..f262f1dd0fd1199734024cc27905d956e31900a2 100644
|
||||
--- a/src/components/ChatWindow/index.tsx
|
||||
+++ b/src/components/ChatWindow/index.tsx
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
import React, { useState } from 'react'
|
||||
import { useChat } from '@ai-sdk/react'
|
||||
-import './ChatWindow.scss'
|
||||
|
||||
export const ChatWindowProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {
|
||||
return (
|
||||
28
patches/@mintel__payload-ai@1.9.18.patch
Normal file
28
patches/@mintel__payload-ai@1.9.18.patch
Normal file
@@ -0,0 +1,28 @@
|
||||
diff --git a/dist/endpoints/chatEndpoint.js b/dist/endpoints/chatEndpoint.js
|
||||
index 1f1b2327d8d5d3c57b29fdfaf70bec3a537782c7..be8df4bae39e470f557985bb154be15492f22263 100644
|
||||
--- a/dist/endpoints/chatEndpoint.js
|
||||
+++ b/dist/endpoints/chatEndpoint.js
|
||||
@@ -97,7 +97,7 @@ export const handleMcpChat = async (req) => {
|
||||
: "";
|
||||
try {
|
||||
const result = streamText({
|
||||
- model: openrouter("google/gemini-3.0-flash"),
|
||||
+ model: openrouter("google/gemini-3.1-flash-lite-preview"),
|
||||
messages,
|
||||
tools: activeTools,
|
||||
// @ts-expect-error - AI SDK type mismatch with maxSteps
|
||||
diff --git a/package.json b/package.json
|
||||
index df232b30d7edbca2ebad6d6c08592c7be5385b15..b2944cc4c6058ea52b0f613acf3d6e7ac12ff684 100644
|
||||
--- a/package.json
|
||||
+++ b/package.json
|
||||
@@ -11,8 +11,8 @@
|
||||
"types": "./dist/index.d.ts",
|
||||
"exports": {
|
||||
".": "./dist/index.js",
|
||||
- "./components/FieldGenerators/*": "./dist/components/FieldGenerators/*.js",
|
||||
- "./components/*": "./dist/components/*.js",
|
||||
+ "./components/FieldGenerators/*": "./dist/components/FieldGenerators/*",
|
||||
+ "./components/*": "./dist/components/*",
|
||||
"./actions/*": "./dist/actions/*.js",
|
||||
"./globals/*": "./dist/globals/*.js",
|
||||
"./endpoints/*": "./dist/endpoints/*.js",
|
||||
112
pnpm-lock.yaml
generated
112
pnpm-lock.yaml
generated
@@ -7,11 +7,13 @@ settings:
|
||||
overrides:
|
||||
next: 16.1.6
|
||||
minimatch: '>=10.2.2'
|
||||
'@mintel/content-engine': 1.9.11
|
||||
'@mintel/thumbnail-generator': 1.9.11
|
||||
|
||||
patchedDependencies:
|
||||
'@mintel/payload-ai@1.9.15':
|
||||
hash: 934315d3f15180552789a94bf76c34624501f601cc7409c24da3dc27af96c8fb
|
||||
path: patches/@mintel__payload-ai@1.9.15.patch
|
||||
'@mintel/payload-ai@1.9.18':
|
||||
hash: 43debd141338c5597a5260d00c742e6ffabc4d3c31ffd82f2b7e6501c72b8d84
|
||||
path: patches/@mintel__payload-ai@1.9.18.patch
|
||||
|
||||
importers:
|
||||
|
||||
@@ -24,20 +26,20 @@ importers:
|
||||
specifier: ^3.0.36
|
||||
version: 3.0.36(zod@3.25.76)
|
||||
'@mintel/mail':
|
||||
specifier: ^1.9.0
|
||||
version: 1.9.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
|
||||
specifier: 1.9.11
|
||||
version: 1.9.11(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
|
||||
'@mintel/next-config':
|
||||
specifier: ^1.9.0
|
||||
version: 1.9.5(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@swc/helpers@0.5.18)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3)(typescript@5.9.3)(webpack@5.105.0(esbuild@0.25.12))
|
||||
specifier: 1.9.11
|
||||
version: 1.9.11(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@swc/helpers@0.5.18)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3)(typescript@5.9.3)(webpack@5.105.0(esbuild@0.25.12))
|
||||
'@mintel/next-feedback':
|
||||
specifier: ^1.9.0
|
||||
version: 1.9.5(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3)
|
||||
specifier: 1.9.11
|
||||
version: 1.9.11(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3)
|
||||
'@mintel/next-utils':
|
||||
specifier: ^1.9.0
|
||||
version: 1.9.5(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(@swc/helpers@0.5.18)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3)(typescript@5.9.3)
|
||||
specifier: 1.9.11
|
||||
version: 1.9.11(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(@swc/helpers@0.5.18)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3)(typescript@5.9.3)
|
||||
'@mintel/payload-ai':
|
||||
specifier: ^1.9.15
|
||||
version: 1.9.15(patch_hash=934315d3f15180552789a94bf76c34624501f601cc7409c24da3dc27af96c8fb)(@payloadcms/next@3.77.0(@types/react@19.2.13)(graphql@16.12.0)(monaco-editor@0.55.1)(next@16.1.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3))(payload@3.77.0(graphql@16.12.0)(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(@payloadcms/ui@3.77.0(@types/react@19.2.13)(monaco-editor@0.55.1)(next@16.1.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3))(payload@3.77.0(graphql@16.12.0)(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(payload@3.77.0(graphql@16.12.0)(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3)(ws@8.19.0)
|
||||
specifier: 1.9.18
|
||||
version: 1.9.18(patch_hash=43debd141338c5597a5260d00c742e6ffabc4d3c31ffd82f2b7e6501c72b8d84)(@payloadcms/next@3.77.0(@types/react@19.2.13)(graphql@16.12.0)(monaco-editor@0.55.1)(next@16.1.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3))(payload@3.77.0(graphql@16.12.0)(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(@payloadcms/ui@3.77.0(@types/react@19.2.13)(monaco-editor@0.55.1)(next@16.1.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3))(payload@3.77.0(graphql@16.12.0)(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(payload@3.77.0(graphql@16.12.0)(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3)(ws@8.19.0)
|
||||
'@payloadcms/db-postgres':
|
||||
specifier: ^3.77.0
|
||||
version: 3.77.0(@opentelemetry/api@1.9.0)(payload@3.77.0(graphql@16.12.0)(typescript@5.9.3))
|
||||
@@ -196,11 +198,11 @@ importers:
|
||||
specifier: ^0.15.1
|
||||
version: 0.15.1
|
||||
'@mintel/eslint-config':
|
||||
specifier: ^1.9.0
|
||||
version: 1.9.5(@typescript-eslint/parser@8.56.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
|
||||
specifier: ^1.9.11
|
||||
version: 1.9.11(@typescript-eslint/parser@8.56.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
|
||||
'@mintel/tsconfig':
|
||||
specifier: ^1.9.0
|
||||
version: 1.9.5
|
||||
specifier: ^1.9.11
|
||||
version: 1.9.11
|
||||
'@next/bundle-analyzer':
|
||||
specifier: ^16.1.6
|
||||
version: 16.1.6
|
||||
@@ -1798,38 +1800,38 @@ packages:
|
||||
'@medv/finder@4.0.2':
|
||||
resolution: {integrity: sha512-RraNY9SCcx4KZV0Dh6BEW6XEW2swkqYca74pkFFRw6hHItSHiy+O/xMnpbofjYbzXj0tSpBGthUF1hHTsr3vIQ==}
|
||||
|
||||
'@mintel/content-engine@1.9.10':
|
||||
resolution: {integrity: sha512-rv5vJ1bQkW713q14tPLOgRt5Y7+t4tu76i3H3tJkCADAqGvLrM/QuI9SF6aR9H8/KHzzF7BjRHDFsHPYqzQhpg==, tarball: https://git.infra.mintel.me/api/packages/mmintel/npm/%40mintel%2Fcontent-engine/-/1.9.10/content-engine-1.9.10.tgz}
|
||||
'@mintel/content-engine@1.9.11':
|
||||
resolution: {integrity: sha512-jKskI7HP7Dxcw92pORiPZxDsxNOZ5tjsomqr2/ktEEyVTKrjzuROpELfVFPoIgW3Fn7eTI8WbHob0gP9HMXBDA==, tarball: https://git.infra.mintel.me/api/packages/mmintel/npm/%40mintel%2Fcontent-engine/-/1.9.11/content-engine-1.9.11.tgz}
|
||||
|
||||
'@mintel/eslint-config@1.9.5':
|
||||
resolution: {integrity: sha512-nZylW/99gnzkU/oCQNR5Muj6/gGYsf1EJSM8LSRAU3sU6wR3kUu4cba7LVQPb6uTrfW8CzD2JsL8pzanDqSZzA==, tarball: https://git.infra.mintel.me/api/packages/mmintel/npm/%40mintel%2Feslint-config/-/1.9.5/eslint-config-1.9.5.tgz}
|
||||
'@mintel/eslint-config@1.9.11':
|
||||
resolution: {integrity: sha512-g0FfWbSjfNuKAWa9yd4eC02mr9db66Y71TZ+FN3aUrLLMjwn3qqtEHez+8Dbray0loLiGDkm75EI7N0+mgA9yA==, tarball: https://git.infra.mintel.me/api/packages/mmintel/npm/%40mintel%2Feslint-config/-/1.9.11/eslint-config-1.9.11.tgz}
|
||||
|
||||
'@mintel/journaling@1.9.10':
|
||||
resolution: {integrity: sha512-wuOz6bhloVgw1yiA3OhRMxak7pqB5kft62QjxPz1w+LSRaRR4nDXRR1qhSdKlcqLhEJL5+kljJnVMZ3N2UhJnw==, tarball: https://git.infra.mintel.me/api/packages/mmintel/npm/%40mintel%2Fjournaling/-/1.9.10/journaling-1.9.10.tgz}
|
||||
'@mintel/journaling@1.9.11':
|
||||
resolution: {integrity: sha512-oQKq4bFY6b66opJZ+rMV34SauKeSZqzSLiTziREByO7AzIz7ZANyUal+taZ6jKLHifEBVsdSZ7k57FQZh8bquw==, tarball: https://git.infra.mintel.me/api/packages/mmintel/npm/%40mintel%2Fjournaling/-/1.9.11/journaling-1.9.11.tgz}
|
||||
|
||||
'@mintel/mail@1.9.5':
|
||||
resolution: {integrity: sha512-g7+pL2/NFrmjAgMUHHj4GTpWestabdIZBR0UkMiJBsEFpxu7TFJXorFw418w/z+G21JQDKLyQrT/NpNLaCFW+Q==, tarball: https://git.infra.mintel.me/api/packages/mmintel/npm/%40mintel%2Fmail/-/1.9.5/mail-1.9.5.tgz}
|
||||
'@mintel/mail@1.9.11':
|
||||
resolution: {integrity: sha512-kvmrYYpFqtyqft5wCCY5kUhgDm7D7ocCLrv0SMPXp6w8ULuv7cuCEPWoJ+BbfJ1eXDGDnCpW3CYJSKGjoVrLIA==, tarball: https://git.infra.mintel.me/api/packages/mmintel/npm/%40mintel%2Fmail/-/1.9.11/mail-1.9.11.tgz}
|
||||
peerDependencies:
|
||||
react: ^19.0.0
|
||||
react-dom: ^19.0.0
|
||||
|
||||
'@mintel/meme-generator@1.9.10':
|
||||
resolution: {integrity: sha512-Mg89RH4KgKOmpFF1G6DNu/LPzzQg2CgV15lazpsLa8ce/XydcSXOv2QvS2jk3kytGHOgqnu3j3xAn10Yi4KgvA==, tarball: https://git.infra.mintel.me/api/packages/mmintel/npm/%40mintel%2Fmeme-generator/-/1.9.10/meme-generator-1.9.10.tgz}
|
||||
'@mintel/meme-generator@1.9.11':
|
||||
resolution: {integrity: sha512-ml5Eo2RHd6KLFFOucVotwM8fU2ziJGRgO7qipDvaCd02cQqV1bLntdaiVOuvtW5cSLS+Ri+tpSKcTG2HgLHrKw==, tarball: https://git.infra.mintel.me/api/packages/mmintel/npm/%40mintel%2Fmeme-generator/-/1.9.11/meme-generator-1.9.11.tgz}
|
||||
|
||||
'@mintel/next-config@1.9.5':
|
||||
resolution: {integrity: sha512-gnEtpoGXHjFwPIccU5GUoqqkAL1vni1uNtxSJ1XkG4z8HVQ9C3dH4IxxmUqMJaLL0fTSDOZpZKZIV0C1C28iyg==, tarball: https://git.infra.mintel.me/api/packages/mmintel/npm/%40mintel%2Fnext-config/-/1.9.5/next-config-1.9.5.tgz}
|
||||
'@mintel/next-config@1.9.11':
|
||||
resolution: {integrity: sha512-9MvrTdXvkl8uneLdlq8DBx2g/5kq7LfN369LkYMm65tKqJMgKFxjBlzzBhbjeMgPZimyj7E87boqEaHcIJZttA==, tarball: https://git.infra.mintel.me/api/packages/mmintel/npm/%40mintel%2Fnext-config/-/1.9.11/next-config-1.9.11.tgz}
|
||||
|
||||
'@mintel/next-feedback@1.9.5':
|
||||
resolution: {integrity: sha512-7h9ClhTiEA86u+8hrdJohoPJUkVGy6txSo9P9/7//wS/CL81c5azV7GrGDS/pdGmAYdkVSp14i3/8Uq9lqTlZA==, tarball: https://git.infra.mintel.me/api/packages/mmintel/npm/%40mintel%2Fnext-feedback/-/1.9.5/next-feedback-1.9.5.tgz}
|
||||
'@mintel/next-feedback@1.9.11':
|
||||
resolution: {integrity: sha512-qMmU/LSXnXe4KyQI+8qwv8JpBz9ZdqK7gqHLSla6s2QZyv1woRAIYM3Ryr+Uhho56Ehyv/no50K6sOnra5iKPw==, tarball: https://git.infra.mintel.me/api/packages/mmintel/npm/%40mintel%2Fnext-feedback/-/1.9.11/next-feedback-1.9.11.tgz}
|
||||
peerDependencies:
|
||||
react: ^19.0.0
|
||||
react-dom: ^19.0.0
|
||||
|
||||
'@mintel/next-utils@1.9.5':
|
||||
resolution: {integrity: sha512-Ndcf2AONTccw8zMbsyFudubBsnoXfYuYoRPGq3d5OLcKfzlz+2g0ee8xcsNFwa9fpnAAMlvauYu0mIRGA/ydVA==, tarball: https://git.infra.mintel.me/api/packages/mmintel/npm/%40mintel%2Fnext-utils/-/1.9.5/next-utils-1.9.5.tgz}
|
||||
'@mintel/next-utils@1.9.11':
|
||||
resolution: {integrity: sha512-Yxg2EdKbWfjQ9/HcOQN0/TDwVXwCkWaEo1DXKekJF1V2Au3y01py2qD+0yVXZ5l80vLj95ct5/O4s6i6l27MlA==, tarball: https://git.infra.mintel.me/api/packages/mmintel/npm/%40mintel%2Fnext-utils/-/1.9.11/next-utils-1.9.11.tgz}
|
||||
|
||||
'@mintel/payload-ai@1.9.15':
|
||||
resolution: {integrity: sha512-8TZ1imcLgOjXZsBt6fQMVLfkhsIRKz7tJqq5aTnOO28kwCb+TvTh+5AgZWKWxxTSXPYcpc3Zt97kNraOT18dzg==, tarball: https://git.infra.mintel.me/api/packages/mmintel/npm/%40mintel%2Fpayload-ai/-/1.9.15/payload-ai-1.9.15.tgz}
|
||||
'@mintel/payload-ai@1.9.18':
|
||||
resolution: {integrity: sha512-wDxuF+ypFILZXrm9vX04qxWFf4ReNmvZnBa3Y+cvkZHDKXrXUSNO+UsDeIt71VyFpG4FQscL3f3G20mohG5C9Q==, tarball: https://git.infra.mintel.me/api/packages/mmintel/npm/%40mintel%2Fpayload-ai/-/1.9.18/payload-ai-1.9.18.tgz}
|
||||
peerDependencies:
|
||||
'@payloadcms/next': '>=3.0.0'
|
||||
'@payloadcms/ui': '>=3.0.0'
|
||||
@@ -1837,11 +1839,11 @@ packages:
|
||||
react: '>=18.0.0'
|
||||
react-dom: '>=18.0.0'
|
||||
|
||||
'@mintel/thumbnail-generator@1.9.10':
|
||||
resolution: {integrity: sha512-3YcM4w7ysuffsxUJenx7RRSyTFhirDXDTgQ1KbRhNxkQH+9fCQUrH72w9lDNCZmP2776TSmwDPK46KD5CAGKzw==, tarball: https://git.infra.mintel.me/api/packages/mmintel/npm/%40mintel%2Fthumbnail-generator/-/1.9.10/thumbnail-generator-1.9.10.tgz}
|
||||
'@mintel/thumbnail-generator@1.9.11':
|
||||
resolution: {integrity: sha512-kAnovXTsOs+2qsf4L2oPy9oDDXc6Aqx7zoAAAspFsJtlhJmItN/btpuduuYvmi6qM8+JqQRLDflhzH3YANeMnA==, tarball: https://git.infra.mintel.me/api/packages/mmintel/npm/%40mintel%2Fthumbnail-generator/-/1.9.11/thumbnail-generator-1.9.11.tgz}
|
||||
|
||||
'@mintel/tsconfig@1.9.5':
|
||||
resolution: {integrity: sha512-dxYJoGAE+9vwaPIpQL3NCzyEKMFYuJyDwWmCuUeP0lFo91brgSpHfl4cw98sK8UsrncIP6r4YvAgncooVnovaQ==, tarball: https://git.infra.mintel.me/api/packages/mmintel/npm/%40mintel%2Ftsconfig/-/1.9.5/tsconfig-1.9.5.tgz}
|
||||
'@mintel/tsconfig@1.9.11':
|
||||
resolution: {integrity: sha512-nZ6RfIgvcT2kMtskHAprR8SIQFDxStMoIe1X7GMFzA/5lP5QQyv5rGpSQY8KcPwB17Dcz9rxO+QilE0Gj86qkg==, tarball: https://git.infra.mintel.me/api/packages/mmintel/npm/%40mintel%2Ftsconfig/-/1.9.11/tsconfig-1.9.11.tgz}
|
||||
|
||||
'@modelcontextprotocol/sdk@1.27.1':
|
||||
resolution: {integrity: sha512-sr6GbP+4edBwFndLbM60gf07z0FQ79gaExpnsjMGePXqFcSSb7t6iscpjk9DhFhwd+mTEQrzNafGP8/iGGFYaA==}
|
||||
@@ -10712,11 +10714,11 @@ snapshots:
|
||||
|
||||
'@medv/finder@4.0.2': {}
|
||||
|
||||
'@mintel/content-engine@1.9.10(ws@8.19.0)(zod@3.25.76)':
|
||||
'@mintel/content-engine@1.9.11(ws@8.19.0)(zod@3.25.76)':
|
||||
dependencies:
|
||||
'@mintel/journaling': 1.9.10(ws@8.19.0)(zod@3.25.76)
|
||||
'@mintel/meme-generator': 1.9.10(ws@8.19.0)(zod@3.25.76)
|
||||
'@mintel/thumbnail-generator': 1.9.10
|
||||
'@mintel/journaling': 1.9.11(ws@8.19.0)(zod@3.25.76)
|
||||
'@mintel/meme-generator': 1.9.11(ws@8.19.0)(zod@3.25.76)
|
||||
'@mintel/thumbnail-generator': 1.9.11
|
||||
dotenv: 17.3.1
|
||||
openai: 4.104.0(ws@8.19.0)(zod@3.25.76)
|
||||
transitivePeerDependencies:
|
||||
@@ -10725,7 +10727,7 @@ snapshots:
|
||||
- ws
|
||||
- zod
|
||||
|
||||
'@mintel/eslint-config@1.9.5(@typescript-eslint/parser@8.56.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
|
||||
'@mintel/eslint-config@1.9.11(@typescript-eslint/parser@8.56.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
|
||||
dependencies:
|
||||
'@eslint/eslintrc': 3.3.4
|
||||
'@eslint/js': 9.39.3
|
||||
@@ -10742,7 +10744,7 @@ snapshots:
|
||||
- supports-color
|
||||
- typescript
|
||||
|
||||
'@mintel/journaling@1.9.10(ws@8.19.0)(zod@3.25.76)':
|
||||
'@mintel/journaling@1.9.11(ws@8.19.0)(zod@3.25.76)':
|
||||
dependencies:
|
||||
axios: 1.13.5(debug@4.4.3)
|
||||
openai: 4.104.0(ws@8.19.0)(zod@3.25.76)
|
||||
@@ -10752,13 +10754,13 @@ snapshots:
|
||||
- ws
|
||||
- zod
|
||||
|
||||
'@mintel/mail@1.9.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
|
||||
'@mintel/mail@1.9.11(react-dom@19.2.4(react@19.2.4))(react@19.2.4)':
|
||||
dependencies:
|
||||
'@react-email/components': 0.0.33(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
|
||||
react: 19.2.4
|
||||
react-dom: 19.2.4(react@19.2.4)
|
||||
|
||||
'@mintel/meme-generator@1.9.10(ws@8.19.0)(zod@3.25.76)':
|
||||
'@mintel/meme-generator@1.9.11(ws@8.19.0)(zod@3.25.76)':
|
||||
dependencies:
|
||||
openai: 4.104.0(ws@8.19.0)(zod@3.25.76)
|
||||
transitivePeerDependencies:
|
||||
@@ -10766,7 +10768,7 @@ snapshots:
|
||||
- ws
|
||||
- zod
|
||||
|
||||
'@mintel/next-config@1.9.5(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@swc/helpers@0.5.18)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3)(typescript@5.9.3)(webpack@5.105.0(esbuild@0.25.12))':
|
||||
'@mintel/next-config@1.9.11(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(@swc/helpers@0.5.18)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3)(typescript@5.9.3)(webpack@5.105.0(esbuild@0.25.12))':
|
||||
dependencies:
|
||||
'@sentry/nextjs': 10.39.0(@opentelemetry/context-async-hooks@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/core@2.5.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@2.5.1(@opentelemetry/api@1.9.0))(next@16.1.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3))(react@19.2.4)(webpack@5.105.0(esbuild@0.25.12))
|
||||
next: 16.1.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3)
|
||||
@@ -10789,7 +10791,7 @@ snapshots:
|
||||
- typescript
|
||||
- webpack
|
||||
|
||||
'@mintel/next-feedback@1.9.5(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3)':
|
||||
'@mintel/next-feedback@1.9.11(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3)':
|
||||
dependencies:
|
||||
'@medv/finder': 4.0.2
|
||||
clsx: 2.1.1
|
||||
@@ -10809,7 +10811,7 @@ snapshots:
|
||||
- babel-plugin-react-compiler
|
||||
- sass
|
||||
|
||||
'@mintel/next-utils@1.9.5(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(@swc/helpers@0.5.18)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3)(typescript@5.9.3)':
|
||||
'@mintel/next-utils@1.9.11(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(@swc/helpers@0.5.18)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3)(typescript@5.9.3)':
|
||||
dependencies:
|
||||
next: 16.1.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3)
|
||||
next-intl: 4.8.2(@swc/helpers@0.5.18)(next@16.1.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3))(react@19.2.4)(typescript@5.9.3)
|
||||
@@ -10826,12 +10828,12 @@ snapshots:
|
||||
- sass
|
||||
- typescript
|
||||
|
||||
'@mintel/payload-ai@1.9.15(patch_hash=934315d3f15180552789a94bf76c34624501f601cc7409c24da3dc27af96c8fb)(@payloadcms/next@3.77.0(@types/react@19.2.13)(graphql@16.12.0)(monaco-editor@0.55.1)(next@16.1.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3))(payload@3.77.0(graphql@16.12.0)(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(@payloadcms/ui@3.77.0(@types/react@19.2.13)(monaco-editor@0.55.1)(next@16.1.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3))(payload@3.77.0(graphql@16.12.0)(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(payload@3.77.0(graphql@16.12.0)(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3)(ws@8.19.0)':
|
||||
'@mintel/payload-ai@1.9.18(patch_hash=43debd141338c5597a5260d00c742e6ffabc4d3c31ffd82f2b7e6501c72b8d84)(@payloadcms/next@3.77.0(@types/react@19.2.13)(graphql@16.12.0)(monaco-editor@0.55.1)(next@16.1.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3))(payload@3.77.0(graphql@16.12.0)(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(@payloadcms/ui@3.77.0(@types/react@19.2.13)(monaco-editor@0.55.1)(next@16.1.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3))(payload@3.77.0(graphql@16.12.0)(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(payload@3.77.0(graphql@16.12.0)(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3)(ws@8.19.0)':
|
||||
dependencies:
|
||||
'@ai-sdk/openai': 3.0.41(zod@3.25.76)
|
||||
'@ai-sdk/react': 3.0.118(react@19.2.4)(zod@3.25.76)
|
||||
'@mintel/content-engine': 1.9.10(ws@8.19.0)(zod@3.25.76)
|
||||
'@mintel/thumbnail-generator': 1.9.10
|
||||
'@mintel/content-engine': 1.9.11(ws@8.19.0)(zod@3.25.76)
|
||||
'@mintel/thumbnail-generator': 1.9.11
|
||||
'@modelcontextprotocol/sdk': 1.27.1(zod@3.25.76)
|
||||
'@payloadcms/next': 3.77.0(@types/react@19.2.13)(graphql@16.12.0)(monaco-editor@0.55.1)(next@16.1.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3))(payload@3.77.0(graphql@16.12.0)(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3)
|
||||
'@payloadcms/ui': 3.77.0(@types/react@19.2.13)(monaco-editor@0.55.1)(next@16.1.6(@babel/core@7.29.0)(@opentelemetry/api@1.9.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.97.3))(payload@3.77.0(graphql@16.12.0)(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3)
|
||||
@@ -10850,11 +10852,11 @@ snapshots:
|
||||
- typescript
|
||||
- ws
|
||||
|
||||
'@mintel/thumbnail-generator@1.9.10':
|
||||
'@mintel/thumbnail-generator@1.9.11':
|
||||
dependencies:
|
||||
replicate: 1.4.0
|
||||
|
||||
'@mintel/tsconfig@1.9.5': {}
|
||||
'@mintel/tsconfig@1.9.11': {}
|
||||
|
||||
'@modelcontextprotocol/sdk@1.27.1(zod@3.25.76)':
|
||||
dependencies:
|
||||
|
||||
Reference in New Issue
Block a user