Commit Graph

387 Commits

Author SHA1 Message Date
operator-main 566edf20c6 muse-chat-api.py upload: --dry-run/--message as real argparse flags 2026-10-04 01:25:10 +00:00
operator-main b5f718a885 muse-chat-api.py: upload subcommand (CDP file attach)
Attach a file to the agent chat composer via DOM.setFileInputFiles.
--dry-run stages the attachment and verifies the preview chip without
sending; otherwise sends (optional --message caption) and verifies via
read-back. Supports the box console upload flow (v0.2).

Session: sidechat/box-console
2026-10-04 01:23:22 +00:00
operator-main f19aff9b79 Fix supervisor SIGKILL loop killing restarted browsers (opm/pip)
Root cause: agent-health.service runs Type=oneshot with the default
KillMode=control-group. restart_browser() spawned the replacement
chromium with nohup under the service, so systemd SIGKILLed it the
moment the service exited. Every 5-min tick: FAIL -> restart ->
RECOVERED -> SIGKILL at teardown. opm and pip were permanently dark
and dm.py read masked it (empty output, exit 0).

Fix: launch replacements via systemd-run --user --scope (backgrounded)
so the browser lives in a transient scope outside the service cgroup
and survives teardown. setsid does NOT escape either. Note:
systemd-run --scope waits for the scope even with --no-block
(verified 2026-10-03), hence the backgrounding. Same fix in
chromebox-watchdog.sh (timers currently off).

dm.py: dm_read() now uses run_full() and prints a WARNING to stderr
with rc + last error line instead of failing silently on empty reads.

Trailers: Session: sidechat/opm-blind-fix
2026-10-04 01:16:59 +00:00
operator 3a1f0107ba Add holdings logging to muse-auth.py (log_holdings/get_holdings, logs/auth-holdings.log) 2026-10-03 22:32:54 +00:00
operator 08f05263e6 dm.py: Add UUID, logging, and read-back verification. No trust required. 2026-10-03 21:36:42 +00:00
operator 027d7baa30 multi-account selection: --account-name hint, exit 3 NEEDS_HUMAN
onboard-driver.py accepts --account-name and forwards to muse-signin.py.
muse-signin.py detects Meta multi-account selection after OTP submit:
with a hint it clicks the matching display-name button (never the +1
collapsed entry); without a hint (or no match) it exits 3 so the queue
marks the job needs_human instead of stalling.
2026-10-03 21:30:32 +00:00
operator a7639e2341 propagation: single registry drives all node references
New bin/netvm-registry.py parses NODES.md (node -> cdp_port); every
consumer reads from it instead of hardcoding:
- onboard-driver.py: CDP_PORTS dict -> registry lookup (new nodes work)
- muse-signin.py: hardcoded 9410 -> --node/--cdp-port args
- muse-chat-api.py: hardcoded ACCOUNTS -> registry-built
- agent-health.sh: hardcoded muse/pip blocks -> loop over all active
  nodes (646 and opm now get health coverage too)
NODES.md: record opm node (9440).
2026-10-03 21:28:36 +00:00
operator 1191cbd86e Add muse-auth.py: login state detection, sign-in vs sign-up notes 2026-10-03 21:06:22 +00:00
operator 02cf10acc8 bulk onboarding step 1: netvm-provision-node.sh + CDP_PORT_OVERRIDE
One command provisions a full client node: Warp identity (operator-
authorized 2026-10-03), netns + tunnel, chrome-box profile, NODES.md
registry entry with next-free 94x0 CDP port. Idempotent per stage.
netvm-names.sh gains CDP_PORT_OVERRIDE (backwards compatible) so the
CDP relay and the browser share the assigned port.
2026-10-03 20:54:56 +00:00
operator 2006ecd5a2 Add opm (operator-main) to DM system on CDP 9440 2026-10-03 20:50:53 +00:00
operator 9d6805060e Remove wrongly-specced opp-dm.py and dev-dm.py; dm.py is the headless DM tool 2026-10-03 20:34:33 +00:00
operator 7272ccfeea opp-dm.py: fix to work from bl or container, verify writes 2026-10-03 20:28:18 +00:00
operator 3ad28cb679 opp-dm.py and dev-dm.py: separate operator vs developer DM systems 2026-10-03 20:25:21 +00:00
operator e934a31778 dm-listener: auto-route 646 Message commands 2026-10-03 20:00:43 +00:00
operator 9fde2232fd dm.py: Headless DM function class, separate from Chat 2026-10-03 19:48:09 +00:00
operator fced2e79a4 thread-listener: auto-execute 646 THREAD commands 2026-10-03 19:43:40 +00:00
operator 169b7d1f35 p2p-relay: add watermark to prevent duplicates 2026-10-03 19:25:42 +00:00
operator 828f67ffc8 p2p-relay: 646 to muse via headless 2026-10-03 19:21:04 +00:00
operator 667755e312 meta-acct: Accounts Center read API (list-linked, security-status, login-activity)\n\nImplements the read ops from META-ACCOUNTS-API.md via the agent browser\nsession. Key finding: phone-OTP login leaves a full Meta session -\naccountscenter.meta.com loads without redirect.\n\nAlso: 646 node fully registered (warp-646, CDP 9430, active). 2026-10-03 19:20:47 +00:00
operator 1b3faf0126 bridge: add P2P 646-muse channels 2026-10-03 19:19:30 +00:00
operator 75368424c2 bridge: add 646-reports to #ops 2026-10-03 19:17:39 +00:00
operator a8d456529f muse-chat-api: add sidechat use/main/list commands 2026-10-03 19:15:50 +00:00
operator 23bf83a09f bridge: add 646 test mapping for #ops 2026-10-03 19:02:21 +00:00
operator abd4497bd6 bridge: clean test mapping 2026-10-03 18:59:59 +00:00
operator 63b62b5f0c bridge.py: front-door to muse.ai metadata bridge CLI 2026-10-03 18:59:52 +00:00
operator a5a821f3b1 BRIDGE_SPEC.md: front-door to muse.ai metadata bridge v0.1 2026-10-03 18:58:25 +00:00
operator 5b9e6e55d7 muse-chat-api.py: remove stale 646 duplicate 2026-10-03 18:52:47 +00:00
operator e8c6362c3e muse-chat-api.py: add 646 2026-10-03 18:37:13 +00:00
operator f11da73efe SIDECHAT_SPEC.md: side chat data model v0.1 2026-10-03 18:18:56 +00:00
operator 00772e408c Fix GOLDEN PATH header (preserve docstring) 2026-10-03 18:06:42 +00:00
operator ed45611912 Add GOLDEN PATH headers to agent loops 2026-10-03 18:04:57 +00:00
operator baae422b5f agent-health.sh: operator health monitor 2026-10-03 18:03:17 +00:00
operator 4be49314d3 ACCOUNTS.md: pip active (4th OTP) 2026-10-03 17:30:25 +00:00
operator b62a578a65 docs: pip approval dialog screenshot 2026-10-03 17:21:11 +00:00
operator 46da437ccc muse-chat-api.py: approval handling (auto-approve trusted IPs) 2026-10-03 17:20:46 +00:00
operator b358bdd6fb NODES.md: unified names 2026-10-03 17:19:07 +00:00
operator 235e5309ef muse-chat-api.py: unified naming, node==agent 2026-10-03 17:18:09 +00:00
operator 7ab615901a muse-chat-api.py: unified agent naming (muse, pip) 2026-10-03 17:15:53 +00:00
operator ee7524d7f1 ACCOUNTS.md: unified registry with login_type, flat schema 2026-10-03 17:15:21 +00:00
operator c6ba4cce3d muse-chat-api.py: multi-account support (--account) 2026-10-03 17:10:44 +00:00
operator a90cbee30b INFRA.md: in-browser approvals, sign-in flow 2026-10-03 15:58:06 +00:00
operator 0ce24abd1d muse-signin.py: automated sign-in with in-browser OTP approval 2026-10-03 15:57:37 +00:00
operator 323ea06d99 INFRA.md: document layout 2026-10-03 15:47:19 +00:00
operator 1920750967 netvm-reaper.sh: reap stale headless browsers 2026-10-03 15:46:35 +00:00
operator 1a0662d752 meta-creds.sh: operator CLI for Meta credential store 2026-10-03 14:48:24 +00:00
Antigravity Agent 4b92277686 muse-chat-api: add navigate command for thread URLs 2026-10-03 10:21:31 -04:00
Antigravity Agent b061a53c6d muse-chat-api.py: CDP chat client (send/messages/wait) for smoke headless 2026-10-03 10:19:22 -04:00
Antigravity Agent 95553b92e8 smoke: assign to muse-646-patha (646's profile) 2026-10-03 10:13:33 -04:00
Antigravity Agent a2e15b6e1a smoke: active — muse.ai login completed 2026-10-03 2026-10-03 10:04:07 -04:00
Antigravity Agent 8d11925fe1 enforce WireGuard persistent-keepalive 25 (NAT expiry fix) 2026-10-03 10:01:13 -04:00