create-mercato-app 0.6.5-develop.4384.1.ce2ec6eaaa → 0.6.5-develop.4397.1.9a65481757

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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-mercato-app",
3
- "version": "0.6.5-develop.4384.1.ce2ec6eaaa",
3
+ "version": "0.6.5-develop.4397.1.9a65481757",
4
4
  "type": "module",
5
5
  "description": "Create a new Open Mercato application",
6
6
  "main": "./dist/index.js",
@@ -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}}",
@@ -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' },