Native WhatsApp Web multi-device client in C++ (src/whatsapp/, namespace detz::wa), built on OpenSSL plus a vendored public-domain ed25519 ref10 (third_party/ed25519, zlib) for XEdDSA and the nayuki QR generator (third_party/qrcodegen, MIT); no new runtime dependency. - WaCrypto, WaBinary, WaProto, WaNoise, WaSignal, WaDevice, WaSocket, WaClient, WaStore, WaQr, WaWizard. - Verified offline against golden vectors captured from the real Baileys client (tests/whatsapp_data, from jfelipesjc/wa-go, MIT): HKDF/PBKDF2 RFC vectors, XEdDSA roundtrips, codec battery 19/19, ClientPayload byte-exact, the Noise handshake, and a 4-exchange Signal session byte-exact. Unit test build/whatsapp_test (16/16), run_all step whatsapp.unit. - Verified live against web.whatsapp.com: `detz --whatsapp-link` connects, completes the Noise handshake, receives pair-device, renders a scannable QR in the terminal, and persists the device to the vault (whatsapp/<profile>.db). Also --whatsapp-status / --whatsapp-unlink. - Agent tools whatsapp_send and whatsapp_contacts (detz-only, in DetzTools). - Pairing completion after the phone scans, and the message send path (usync + prekey fetch + Signal encrypt + send node), are ported faithfully from whatsmeow but unverified in-tree (no linked account in development). send_image and own-device fan-out are not wired yet. See docs/whatsapp.md. Also in this snapshot: the terminal-screenshot tool (src/termshot/, terminal_screenshot, docs/termshot.md, research/terminal-screenshot-rendering) and a concurrent session's in-progress llm/muse failover changes carried along in the shared files. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
76 lines
1.2 KiB
JSON
76 lines
1.2 KiB
JSON
[
|
|
"{}",
|
|
"[]",
|
|
"null",
|
|
"true",
|
|
"false",
|
|
"0",
|
|
"-0",
|
|
"1",
|
|
"-1",
|
|
"123456789012",
|
|
"1.5",
|
|
"-0.25",
|
|
"1e3",
|
|
"1E-7",
|
|
"0.1",
|
|
"1e22",
|
|
"1e16",
|
|
"123456789.123456789",
|
|
"0.00001",
|
|
"0.0001",
|
|
"100.0",
|
|
"1e-5",
|
|
"5e-324",
|
|
"1.7976931348623157e308",
|
|
"NaN",
|
|
"Infinity",
|
|
"-Infinity",
|
|
"\"plain\"",
|
|
"\"quote\\\"inside\"",
|
|
"\"back\\\\slash\"",
|
|
"\"tab\\there\"",
|
|
"\"nl\\nhere\"",
|
|
"\"cr\\rhere\"",
|
|
"\"\\b\\f\"",
|
|
"\"\\u00e9\"",
|
|
"\"\\u20ac\"",
|
|
"\"\\ud83d\\ude00\"",
|
|
"\"\\u007f\"",
|
|
"\"\\u0000\"",
|
|
"\"\\u001f\"",
|
|
"\"/\"",
|
|
"\"\\/\"",
|
|
"\"caf\u00e9\"",
|
|
"\"\u20ac100\"",
|
|
"\"\ud83d\ude00 smile\"",
|
|
"\"\\ud83d\"",
|
|
"{\"a\": 1, \"b\": [1, 2, {\"c\": null}], \"d\": \"e\"}",
|
|
"{\"z\": 1, \"a\": 2, \"z\": 3}",
|
|
"[1, [2, [3, [4]]]]",
|
|
" { \"x\" : [ 1 , 2 ] } ",
|
|
"{\"source\": \"tai-bundled\", \"mode\": \"bundled\", \"scope\": \"home\", \"files\": {\"SKILL.md\": \"abc12345\"}, \"installed_at\": \"2026-10-25T10:11:12.123456+00:00\"}",
|
|
"[1,2",
|
|
"{\"a\":}",
|
|
"{\"a\" 1}",
|
|
"{'a': 1}",
|
|
"\"unterminated",
|
|
"[1,]",
|
|
"{\"a\":1,}",
|
|
"tru",
|
|
"01",
|
|
"1.",
|
|
".5",
|
|
"+1",
|
|
"\"\\x41\"",
|
|
"",
|
|
" ",
|
|
"{} extra",
|
|
"\"a\nb\"",
|
|
"[true, false, null, 1, 2.0, \"s\"]",
|
|
"{\"k\": \"\\u00e9\\u20ac\\ud83d\\ude00\"}",
|
|
"12345678901234567890",
|
|
"-9223372036854775808",
|
|
"9223372036854775807"
|
|
]
|