@ai-matrx/desktop-protocol 0.17.0 → 0.17.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/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.17.1
4
+
5
+ - buildToolStatus: a uuid in a test name (the agent a chat proof ran) is not part of the proof's
6
+ identity, so the same proof under a new test agent replaces the old agent's result instead of
7
+ standing beside it forever.
8
+
9
+ Consumer action: none.
10
+
11
+ ## Unreleased
12
+
13
+ - **`useDesktopRequest(op, params, { refreshMs })`: live data without a hand-rolled poller.** Re-runs
14
+ every `refreshMs` while the page is visible, never while hidden, and at once on return. Matrx 2's
15
+ screens each carried their own `setInterval` loop (five shapes); this is the one. Guard:
16
+ `src/react.test.tsx` ("refreshMs polls while visible …").
17
+ - **`useDesktopAction({ onDone })`: a screen's writes.** One `busy` flag and one typed error for
18
+ create/save/remove/open, with a refetch after each success. Replaces the per-screen
19
+ `busy`/`error` `useState` pairs. Guard: `src/react.test.tsx` ("useDesktopAction tracks busy …").
20
+
3
21
  ## 0.17.0 (protocol 1.6)
4
22
 
5
23
  - The `audio` capability: `audio.devices` (microphones and speakers), `audio.record` (a clip to a
package/dist/index.cjs CHANGED
@@ -2440,6 +2440,7 @@ function builtOps() {
2440
2440
  // src/tools/status.ts
2441
2441
  var TOOL_LEVELS = ["programmatic", "protocol", "chat"];
2442
2442
  var TOOL_PLATFORMS = ["darwin", "win32", "linux"];
2443
+ var UUID_IN_NAME = /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/gi;
2443
2444
  var REQUIRED = {
2444
2445
  programmatic: [{ label: "in process", ok: (e) => e.transport === "in_process" }],
2445
2446
  protocol: [
@@ -2453,7 +2454,7 @@ function cellFor(tool2, platform, level, evidence) {
2453
2454
  if (!tool2.platforms.includes(platform)) return { state: "unsupported", missing: [], last_run_at_ms: null, evidence: [] };
2454
2455
  const latest = /* @__PURE__ */ new Map();
2455
2456
  for (const e of evidence) {
2456
- const key = `${e.suite}\0${e.test}\0${e.transport}\0${e.remote_network}`;
2457
+ const key = `${e.suite}\0${e.test.replace(UUID_IN_NAME, "<id>")}\0${e.transport}\0${e.remote_network}`;
2457
2458
  const prev = latest.get(key);
2458
2459
  if (!prev || prev.run_at_ms < e.run_at_ms) latest.set(key, e);
2459
2460
  }