@miller-tech/uap 1.120.0 → 1.122.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/bin/cli.js +1 -0
- package/dist/bin/cli.js.map +1 -1
- package/dist/cli/guided-setup.d.ts +5 -0
- package/dist/cli/guided-setup.d.ts.map +1 -1
- package/dist/cli/guided-setup.js +55 -4
- package/dist/cli/guided-setup.js.map +1 -1
- package/dist/cli/setup.d.ts +1 -0
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +14 -0
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/wizard-config.d.ts +22 -0
- package/dist/cli/wizard-config.d.ts.map +1 -1
- package/dist/cli/wizard-config.js +58 -0
- package/dist/cli/wizard-config.js.map +1 -1
- package/dist/dashboard/data-service.d.ts.map +1 -1
- package/dist/dashboard/data-service.js +73 -11
- package/dist/dashboard/data-service.js.map +1 -1
- package/dist/dashboard/event-stream.d.ts.map +1 -1
- package/dist/dashboard/event-stream.js +10 -0
- package/dist/dashboard/event-stream.js.map +1 -1
- package/dist/dashboard/savings.d.ts.map +1 -1
- package/dist/dashboard/savings.js +13 -7
- package/dist/dashboard/savings.js.map +1 -1
- package/dist/dashboard/server.d.ts.map +1 -1
- package/dist/dashboard/server.js +42 -17
- package/dist/dashboard/server.js.map +1 -1
- package/dist/mcp-router/tools/execute.d.ts.map +1 -1
- package/dist/mcp-router/tools/execute.js +11 -2
- package/dist/mcp-router/tools/execute.js.map +1 -1
- package/dist/utils/telemetry-store.d.ts +28 -0
- package/dist/utils/telemetry-store.d.ts.map +1 -1
- package/dist/utils/telemetry-store.js +100 -1
- package/dist/utils/telemetry-store.js.map +1 -1
- package/package.json +1 -1
- package/src/policies/enforcers/__pycache__/_common.cpython-312.pyc +0 -0
- package/tools/agents/scripts/__pycache__/toolcall_path_normalizer.cpython-312.pyc +0 -0
- package/tools/agents/scripts/anthropic_proxy.py +14 -4
- package/web/dashboard.html +6 -1
|
@@ -923,6 +923,11 @@ PROJECT_ROOT = Path(__file__).resolve().parents[3]
|
|
|
923
923
|
PROFILE_DIR = PROJECT_ROOT / "config" / "model-profiles"
|
|
924
924
|
PROFILE_CACHE: dict[str, dict | None] = {}
|
|
925
925
|
PROFILE_WARNED: set[str] = set()
|
|
926
|
+
# Sandbox browser-tool stripping fires on EVERY request of a sandboxed session
|
|
927
|
+
# (v1.119.4). Logging it at WARNING per request floods the journal (~140/2h for a
|
|
928
|
+
# handful of sessions). Track which clients we've already told, log once each at
|
|
929
|
+
# INFO. Bounded to avoid unbounded growth across long-lived proxies.
|
|
930
|
+
_SANDBOX_STRIP_LOGGED: set[str] = set()
|
|
926
931
|
|
|
927
932
|
_client_request_times: dict[str, deque[float]] = defaultdict(deque)
|
|
928
933
|
_client_rate_last_log: dict[str, float] = defaultdict(float)
|
|
@@ -9334,11 +9339,16 @@ async def messages(request: Request):
|
|
|
9334
9339
|
sandboxed = (request.headers.get("x-uap-sandbox") or "").strip() == "1"
|
|
9335
9340
|
if sandboxed:
|
|
9336
9341
|
_stripped = _strip_sandbox_unreachable_tools(body)
|
|
9337
|
-
if _stripped:
|
|
9338
|
-
|
|
9339
|
-
|
|
9340
|
-
|
|
9342
|
+
if _stripped and client_id not in _SANDBOX_STRIP_LOGGED:
|
|
9343
|
+
if len(_SANDBOX_STRIP_LOGGED) > 512:
|
|
9344
|
+
_SANDBOX_STRIP_LOGGED.clear()
|
|
9345
|
+
_SANDBOX_STRIP_LOGGED.add(client_id)
|
|
9346
|
+
logger.info(
|
|
9347
|
+
"SANDBOX: stripping %d unreachable browser MCP tool(s) for %s "
|
|
9348
|
+
"(bwrap cannot reach the claude-in-chrome extension; logged once "
|
|
9349
|
+
"per session)",
|
|
9341
9350
|
_stripped,
|
|
9351
|
+
client_id,
|
|
9342
9352
|
)
|
|
9343
9353
|
|
|
9344
9354
|
# Periodically re-detect context window from upstream (handles server restarts)
|
package/web/dashboard.html
CHANGED
|
@@ -680,6 +680,9 @@
|
|
|
680
680
|
eventSource.onmessage = (e) => {
|
|
681
681
|
try {
|
|
682
682
|
const ev = JSON.parse(e.data);
|
|
683
|
+
// Dedup by id: the connect-burst and the cross-process poller can
|
|
684
|
+
// briefly overlap. Ignore events we already hold.
|
|
685
|
+
if (ev.id != null && liveEvents.some((x) => x.id === ev.id)) return;
|
|
683
686
|
liveEvents.unshift(ev);
|
|
684
687
|
if (liveEvents.length > 20) liveEvents.pop();
|
|
685
688
|
renderLiveEvents();
|
|
@@ -705,7 +708,9 @@
|
|
|
705
708
|
for (const ev of liveEvents) {
|
|
706
709
|
const cat = ev.category || ev.type || 'system';
|
|
707
710
|
const ts = ev.timestamp ? new Date(ev.timestamp).toLocaleTimeString() : '';
|
|
708
|
-
const
|
|
711
|
+
const title = ev.title || ev.message || '';
|
|
712
|
+
const detail = ev.detail || '';
|
|
713
|
+
const msg = (title && detail) ? `${title} — ${detail}` : (title || detail || JSON.stringify(ev.data || '').slice(0, 80));
|
|
709
714
|
html += `<div class="event-row"><span class="event-time">${esc(ts)}</span><span class="event-cat cat-${esc(cat)}">${esc(cat)}</span><span class="event-msg">${esc(msg)}</span></div>`;
|
|
710
715
|
}
|
|
711
716
|
c.innerHTML = html;
|