import json

with open('router.js', 'r', encoding='utf-8') as f:
    js = f.read()

path = 'workflows/telegram-expense-tracker-workflow.json'
with open(path, 'r', encoding='utf-8') as f:
    wf = json.load(f)

for node in wf['nodes']:
    if node['id'] == 'router-node':
        node['parameters']['jsCode'] = js
        break

out = json.dumps(wf, indent=2, ensure_ascii=False)
with open(path, 'w', encoding='utf-8') as f:
    f.write(out)

parsed = json.loads(out)
jscode = next(n for n in parsed['nodes'] if n['id'] == 'router-node')['parameters']['jsCode']
assert 'PRODUCT_HE' in jscode
assert 'shopping_add_product' in jscode
assert 'customProducts' in jscode
assert 'buildListsKb' in jscode
assert 'buildItemPickerKb' in jscode
assert 'select_list_' in jscode
assert 'lit_' in jscode
assert 'sd.lists' in jscode
assert 'menu_lists' in jscode
print(f"OK: {len(out)} bytes, jsCode={len(jscode)} chars")
print("All assertions passed")
