create-mercato-app 0.6.5-develop.4384.1.ce2ec6eaaa → 0.6.5-develop.4393.1.de282b5dfd
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
package/template/.env.example
CHANGED
|
@@ -597,6 +597,27 @@ ACME_EMAIL=
|
|
|
597
597
|
# TRAEFIK_HTTPS_PORT=443
|
|
598
598
|
# TRAEFIK_DASHBOARD_PORT=8081
|
|
599
599
|
|
|
600
|
+
# --- Email / Communication Channels (per-user email integration) ---
|
|
601
|
+
# All optional. The two signing secrets fall back to KMS_MASTER_KEY (via HKDF)
|
|
602
|
+
# and only fail closed in production if neither they nor KMS_MASTER_KEY are set.
|
|
603
|
+
# HMAC key for inbound reply-threading tokens. Generate: openssl rand -hex 32
|
|
604
|
+
# OM_THREAD_TOKEN_SECRET=
|
|
605
|
+
# AES key for the per-user OAuth state cookie. Generate: openssl rand -hex 32
|
|
606
|
+
# OM_HUB_OAUTH_STATE_KEY=
|
|
607
|
+
# Inbound poll scheduler tick cadence (seconds).
|
|
608
|
+
# OM_HUB_POLL_SCHEDULER_TICK_SECONDS=60
|
|
609
|
+
# Gmail push (Pub/Sub) — leave unset to fall back to polling.
|
|
610
|
+
# OM_GMAIL_PUBSUB_TOPIC=
|
|
611
|
+
# OM_GMAIL_PUBSUB_AUDIENCE=
|
|
612
|
+
# OM_GMAIL_PUBSUB_SERVICE_ACCOUNT_EMAIL=
|
|
613
|
+
# Push-subscription renewal lead times (hours before expiry).
|
|
614
|
+
# OM_PUSH_RENEWAL_GMAIL_LEAD_HOURS=24
|
|
615
|
+
# IMAP/SMTP provider safety + tuning. Keep the two ALLOW_* off in production.
|
|
616
|
+
# OM_CHANNEL_IMAP_ALLOW_INSECURE_TRANSPORT=false
|
|
617
|
+
# OM_CHANNEL_IMAP_ALLOW_INTERNAL_HOSTS=false
|
|
618
|
+
# OM_CHANNEL_IMAP_HARD_CAP_PER_POLL=200
|
|
619
|
+
# OM_CHANNEL_IMAP_SOCKET_TIMEOUT_MS=60000
|
|
620
|
+
|
|
600
621
|
# --- Test-only Host spoof (NEVER set in production) ---
|
|
601
622
|
# Activates only when NODE_ENV=test. Used by Playwright to drive arbitrary
|
|
602
623
|
# Host values without DNS. Generate with: openssl rand -hex 32
|
|
@@ -32,6 +32,9 @@ services:
|
|
|
32
32
|
TENANT_DATA_ENCRYPTION_DEBUG: ${TENANT_DATA_ENCRYPTION_DEBUG:-false}
|
|
33
33
|
TENANT_DATA_ENCRYPTION_FALLBACK_KEY: ${TENANT_DATA_ENCRYPTION_FALLBACK_KEY:-dev-tenant-encryption-fallback-key-32chars}
|
|
34
34
|
NODE_ENV: development
|
|
35
|
+
# Prevents V8 from growing toward total host RAM before GC kicks in.
|
|
36
|
+
# Override in .env to tune for your host: --max-old-space-size=6144 suits 16 GB+ servers.
|
|
37
|
+
NODE_OPTIONS: ${NODE_OPTIONS:---max-old-space-size=3072}
|
|
35
38
|
DEPLOY_ENV: ${DEPLOY_ENV:-local}
|
|
36
39
|
PORT: ${CONTAINER_PORT:-3000}
|
|
37
40
|
DATABASE_URL: postgres://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@postgres:5432/${POSTGRES_DB:-open-mercato}
|
|
@@ -41,6 +41,8 @@
|
|
|
41
41
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
42
42
|
"@open-mercato/ai-assistant": "{{PACKAGE_VERSION}}",
|
|
43
43
|
"@open-mercato/cache": "{{PACKAGE_VERSION}}",
|
|
44
|
+
"@open-mercato/channel-gmail": "{{PACKAGE_VERSION}}",
|
|
45
|
+
"@open-mercato/channel-imap": "{{PACKAGE_VERSION}}",
|
|
44
46
|
"@open-mercato/checkout": "{{PACKAGE_VERSION}}",
|
|
45
47
|
"@open-mercato/cli": "{{PACKAGE_VERSION}}",
|
|
46
48
|
"@open-mercato/content": "{{PACKAGE_VERSION}}",
|
package/template/src/modules.ts
CHANGED
|
@@ -95,6 +95,10 @@ export const enabledModules: ModuleEntry[] = [
|
|
|
95
95
|
{ id: 'data_sync', from: '@open-mercato/core' },
|
|
96
96
|
{ id: 'sync_excel', from: '@open-mercato/core' },
|
|
97
97
|
{ id: 'messages', from: '@open-mercato/core' },
|
|
98
|
+
// Communication channels hub (SPEC-045d) — bridges external chat/email channels
|
|
99
|
+
// (Slack, WhatsApp, Email) to the unified Messages inbox. Provider packages
|
|
100
|
+
// (channel-slack, channel-whatsapp, future email providers) register adapters here.
|
|
101
|
+
{ id: 'communication_channels', from: '@open-mercato/core' },
|
|
98
102
|
{ id: 'ai_assistant', from: '@open-mercato/ai-assistant' },
|
|
99
103
|
{ id: 'translations', from: '@open-mercato/core' },
|
|
100
104
|
{ id: 'scheduler', from: '@open-mercato/scheduler' },
|
|
@@ -102,6 +106,11 @@ export const enabledModules: ModuleEntry[] = [
|
|
|
102
106
|
{ id: 'payment_gateways', from: '@open-mercato/core' },
|
|
103
107
|
{ id: 'checkout', from: '@open-mercato/checkout' },
|
|
104
108
|
{ id: 'gateway_stripe', from: '@open-mercato/gateway-stripe' },
|
|
109
|
+
// Per-user email channels for the Communications Hub (SPEC-045d / email
|
|
110
|
+
// integration spec). Each provider package registers its `ChannelAdapter`
|
|
111
|
+
// at import time via `setup.ts`; the hub picks them up by `providerKey`.
|
|
112
|
+
{ id: 'channel_imap', from: '@open-mercato/channel-imap' },
|
|
113
|
+
{ id: 'channel_gmail', from: '@open-mercato/channel-gmail' },
|
|
105
114
|
{ id: 'sync_akeneo', from: '@open-mercato/sync-akeneo' },
|
|
106
115
|
{ id: 'shipping_carriers', from: '@open-mercato/core' },
|
|
107
116
|
{ id: 'webhooks', from: '@open-mercato/webhooks' },
|