← Commit history

v1.3.14 (insiders): grok_activity counts calls again: its thread filter is now named thread, because ab puts a caller object into every call and that matched nothing.

John Lauer ·773ca33288 ·5d ago ·parent 08231f5
4 files changed +8−4
BRIDGE_VERSION+1−1
@@ -1 +1 @@-1.3.13\ No newline at end of file+1.3.14\ No newline at end of file
bridge.json+1−1
@@ -2,7 +2,7 @@   "manifest_version": 1,   "name": "grok",   "displayName": "Grok Bot",-  "version": "1.3.13",+  "version": "1.3.14",   "description": "Drive Grok Bot (standalone Electron app, Grok Bot.exe) from Adom Bridge: open/close/resize/screenshot/record the app, read thinking vs idle and the visible transcript of the focused thread, queue messages, bind the Grok Bridge webhook and create bots/channels. No public Grok HTTP API \u2014 the runtime talks back to ab over desktop_* callbacks. Cursor is last-resort fallback only if Grok Bot.exe is missing.",   "homepage": "https://wiki.adom.inc/adom/grok-bridge",   "author": "Adom Inc.",
handlers/describe.py+1−1
@@ -227,7 +227,7 @@ VERB_CATALOG = {     "activity": {         "summary": "Who called which grok_* verb on this PC, when, and what came back; webhook fires, throttles and the shared budget.",         "long": False,-        "hint": "grok_activity {minutes?=60, verb?, caller?, limit?=40}. Reads ~/.adom/grok-bridge-activity.jsonl (one line per call: ts, caller thread, verb, ms, ok, errorCode, httpStatus, event, nonce, runUuid). webhookBudget shows fires in the last minute per thread and any Grok cooldown.",+        "hint": "grok_activity {minutes?=60, verb?, thread?, limit?=40}. Reads ~/.adom/grok-bridge-activity.jsonl (one line per call: ts, caller thread, verb, ms, ok, errorCode, httpStatus, event, nonce, runUuid). webhookBudget shows fires in the last minute per thread and any Grok cooldown.",         "related": ["grok_webhook_fire", "grok_webhook_status"],         "pitfalls": ["Per PC: each PC running grok-bridge has its own log and budget.", "Never contains webhook keys or message text."],     },
server.py+5−1
@@ -111,7 +111,11 @@ def handle_activity(args: dict) -> dict:         limit = max(0, min(500, int(args.get("limit") or 40)))     except (TypeError, ValueError):         limit = 40-    out = activity.read_recent(minutes, limit, str(args.get("verb") or ""), str(args.get("caller") or ""))+    # Filter is "thread", never "caller": ab injects args["caller"] = {aiThread, ...} into every+    # relayed call, and filtering on that dict matched nothing (1.3.13 always reported 0 calls).+    thread = args.get("thread")+    out = activity.read_recent(minutes, limit, str(args.get("verb") or ""),+                               thread if isinstance(thread, str) else "")     out.update({"success": True, "logPath": activity.LOG_PATH, "webhookBudget": activity.budget_state()})     w = out["webhook"]     out["_hint"] = (