system-prompts-and-models-o.../dealix/auto_client_acquisition/revenue_launch/offer_i18n.py
Sami Assiri b13cb389cc feat(dealix): sync full Dealix package to repo
- API routers, ACA modules, integrations (draft operators)
- Docs, landing pages, scripts (launch readiness, scorecard)
- Tests and CI workflow updates for Dealix

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-01 21:01:17 +03:00

76 lines
2.6 KiB
Python

"""Optional English labels for revenue offer JSON (?lang=en) — keeps all Arabic keys."""
from __future__ import annotations
from copy import deepcopy
from typing import Any
from auto_client_acquisition.revenue_launch.offer_builder import (
build_499_pilot_offer,
build_growth_os_pilot_offer,
build_private_beta_offer,
)
_EN_BY_OFFER_ID: dict[str, dict[str, Any]] = {
"private_beta_shell": {
"title_en": "Private beta — Dealix",
"summary_en": "Limited pilot: opportunities, drafts, approvals, and proof — no live outbound by default.",
"includes_en": ["Diagnostic or opportunity sprint", "Approval cards", "Trial proof pack"],
},
"pilot_7d_499": {
"title_en": "Pilot — 7 days (499 SAR)",
"summary_en": "Ten B2B opportunities with why-now, Arabic message drafts, contactability review, 7-day follow-up plan, short proof pack.",
"deliverables_en": [
"Short growth diagnostic or 3 sample opportunities",
"10 B2B opportunities with why-now",
"10 Arabic message drafts",
"Contactability and risk review",
"7-day follow-up plan",
"Short proof pack",
],
"payment_en": "Manual invoice or payment link via Moyasar dashboard — no in-app API charge at this stage.",
},
"growth_os_pilot_30d": {
"title_en": "Growth OS pilot — 30 days",
"summary_en": "Wider rhythm: daily brief, opportunities, list intelligence as applicable, channel drafts (no live send), weekly proof.",
"deliverables_en": [
"Trial daily brief",
"10 opportunities + list intelligence where applicable",
"Channel drafts (no live send)",
"Weekly proof pack",
],
},
}
def _merge_en(offer: dict[str, Any]) -> dict[str, Any]:
out = deepcopy(offer)
oid = str(out.get("offer_id") or "")
extra = _EN_BY_OFFER_ID.get(oid)
if extra:
out.update(extra)
return out
def build_revenue_offers_payload(lang: str) -> dict[str, Any]:
"""Return bundle for GET /revenue-launch/offer; lang 'en' adds *_en fields alongside Arabic."""
ln = (lang or "ar").lower()
if ln not in ("ar", "en"):
ln = "ar"
p = build_private_beta_offer()
q = build_499_pilot_offer()
g = build_growth_os_pilot_offer()
if ln == "en":
p = _merge_en(p)
q = _merge_en(q)
g = _merge_en(g)
return {
"locale": ln,
"private_beta_shell": p,
"pilot_499": q,
"growth_os_pilot": g,
"no_live_send": True,
"no_live_charge": True,
"demo": True,
}