import json

path = "/Users/harvey/.openclaw/openclaw.json"
with open(path) as f:
    cfg = json.load(f)

slack = cfg.setdefault("channels", {}).setdefault("slack", {})
channels_entry = slack.setdefault("channels", {})

# New channels to add (requireMention=True = monitor only, won't respond)
new_channels = {
    "C02NFPKNZ1U": {"enabled": True, "requireMention": False},   # emilys-team
    "CDP3Y6YB0":   {"enabled": True, "requireMention": False},   # calls
    "C06BDMHSVAP": {"enabled": True, "requireMention": True},    # nas-team (contractor, monitor)
    "C06P3UP8MD1": {"enabled": True, "requireMention": False},   # issues-complaints
    "C083CUZURJ9": {"enabled": True, "requireMention": True},    # commercial-cleaning (monitor)
    "C0878VA9KHC": {"enabled": True, "requireMention": False},   # marketing
    "C088UHBH682": {"enabled": True, "requireMention": False},   # finance
    "C0A7LPRKVDG": {"enabled": True, "requireMention": True},    # inbound-txts (monitor)
    "C0ALMPY48BW": {"enabled": True, "requireMention": False},   # quotes
    "C0AP2L7U3C2": {"enabled": True, "requireMention": True},    # contractors (monitor)
    "C0APKR676TV": {"enabled": True, "requireMention": True},    # jobs (monitor)
    "C0APWDMBD7S": {"enabled": True, "requireMention": False},   # issues
    "C0APXMHJWCR": {"enabled": True, "requireMention": False},   # ops-internal
    "C0AQD5H5UG3": {"enabled": True, "requireMention": False},   # meetings
}

added = []
for cid, settings in new_channels.items():
    if cid not in channels_entry:
        channels_entry[cid] = settings
        added.append(cid)

with open(path, "w") as f:
    json.dump(cfg, f, indent=2)

print(f"Added {len(added)} channels. Total Slack channels: {len(channels_entry)}")
print("Added:", added)
