winclaw 2026.2.24 → 2026.2.25

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.
Files changed (40) hide show
  1. package/dist/{audio-preflight-DB-4E4JU.js → audio-preflight-B0raXw7a.js} +4 -4
  2. package/dist/{audio-preflight-Df37y6jN.js → audio-preflight-LdVHjAU5.js} +4 -4
  3. package/dist/build-info.json +3 -3
  4. package/dist/bundled/boot-md/handler.js +6 -6
  5. package/dist/bundled/session-memory/handler.js +6 -6
  6. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  7. package/dist/{chrome-DqrrNesc.js → chrome-jNhhv_aK.js} +9 -9
  8. package/dist/{chrome-Cs-db0E-.js → chrome-rG1z9TM8.js} +9 -9
  9. package/dist/control-ui/apple-touch-icon.png +0 -0
  10. package/dist/control-ui/assets/index-DQUBvi8C.js +8229 -0
  11. package/dist/control-ui/assets/index-DQUBvi8C.js.map +1 -0
  12. package/dist/control-ui/assets/index-DTnCURMS.css +1 -0
  13. package/dist/control-ui/assets/pt-BR-CRyhhrf_.js +2 -0
  14. package/dist/control-ui/assets/pt-BR-CRyhhrf_.js.map +1 -0
  15. package/dist/control-ui/assets/zh-CN-Cxq8CegT.js +2 -0
  16. package/dist/control-ui/assets/zh-CN-Cxq8CegT.js.map +1 -0
  17. package/dist/control-ui/assets/zh-TW-CVVbj_wP.js +2 -0
  18. package/dist/control-ui/assets/zh-TW-CVVbj_wP.js.map +1 -0
  19. package/dist/control-ui/favicon-32.png +0 -0
  20. package/dist/control-ui/favicon.ico +0 -0
  21. package/dist/control-ui/favicon.svg +31 -0
  22. package/dist/control-ui/index.html +17 -0
  23. package/dist/control-ui/logo.png +0 -0
  24. package/dist/{deliver-C-W-ICiC.js → deliver-4ABvBgl8.js} +1 -1
  25. package/dist/{deliver-ClIQowWV.js → deliver-DMtytcVn.js} +1 -1
  26. package/dist/extensionAPI.js +6 -6
  27. package/dist/{image-C8iC9cEc.js → image-CfavMwey.js} +1 -1
  28. package/dist/{image-CrXucUBQ.js → image-fBzPx9HU.js} +1 -1
  29. package/dist/llm-slug-generator.js +6 -6
  30. package/dist/{pi-embedded-BjVROinO.js → pi-embedded-CFbfCwir.js} +17 -17
  31. package/dist/{pi-embedded-BYvmhb5S.js → pi-embedded-CRTZ_Xjg.js} +17 -17
  32. package/dist/{pi-embedded-helpers-CkJ7T8ji.js → pi-embedded-helpers-BQhkNTIv.js} +4 -4
  33. package/dist/{pi-embedded-helpers-BPS54R27.js → pi-embedded-helpers-btfqQWiY.js} +4 -4
  34. package/dist/{pw-ai-KqXc0zjm.js → pw-ai-CLsMNz9s.js} +1 -1
  35. package/dist/{pw-ai-DqAkkL5A.js → pw-ai-DYS4skmK.js} +1 -1
  36. package/dist/{runner-BvJ6MAQR.js → runner-BKyrwCGt.js} +1 -1
  37. package/dist/{runner-0tIxLXqk.js → runner-t_gvAcSx.js} +1 -1
  38. package/dist/{web-CKEINqop.js → web-4L4bA-5c.js} +6 -6
  39. package/dist/{web-Lcj4AaBT.js → web-Bprul-Ec.js} +6 -6
  40. package/package.json +2 -1
@@ -11,11 +11,11 @@ import "./accounts-Da9OR7Kn.js";
11
11
  import "./image-ops-Bn9zLRX4.js";
12
12
  import "./pi-model-discovery-DaNAekda.js";
13
13
  import "./message-channel-CXoFENXx.js";
14
- import "./pi-embedded-helpers-CkJ7T8ji.js";
14
+ import "./pi-embedded-helpers-BQhkNTIv.js";
15
15
  import "./config-yz5_QQkv.js";
16
16
  import "./manifest-registry-DxnR6ozt.js";
17
17
  import "./dock-lWYQwmXO.js";
18
- import "./chrome-Cs-db0E-.js";
18
+ import "./chrome-rG1z9TM8.js";
19
19
  import "./ssrf-ueWxHyi3.js";
20
20
  import "./skills-BIrB_-qK.js";
21
21
  import "./redact-C-_c_n2p.js";
@@ -26,11 +26,11 @@ import "./accounts-k0w1tbTz.js";
26
26
  import "./paths-CSznMKGP.js";
27
27
  import "./tool-images-CkOvXv4F.js";
28
28
  import "./thinking-ZaPrKXBc.js";
29
- import "./image-C8iC9cEc.js";
29
+ import "./image-CfavMwey.js";
30
30
  import "./gemini-auth-DRhsxGm8.js";
31
31
  import "./fetch-guard-DZYRqPSF.js";
32
32
  import "./local-roots-BbMx0S8X.js";
33
- import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-BvJ6MAQR.js";
33
+ import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-BKyrwCGt.js";
34
34
 
35
35
  //#region src/media-understanding/audio-preflight.ts
36
36
  /**
@@ -13,11 +13,11 @@ import "./accounts-DIeBAJ9W.js";
13
13
  import "./image-ops-DbUwpQPn.js";
14
14
  import "./pi-model-discovery-C-yOXpma.js";
15
15
  import "./message-channel--tWvtEzJ.js";
16
- import "./pi-embedded-helpers-BPS54R27.js";
16
+ import "./pi-embedded-helpers-btfqQWiY.js";
17
17
  import "./config-Cp6gM5MF.js";
18
18
  import "./manifest-registry-DakyPWRx.js";
19
19
  import "./dock-CUU0YPGS.js";
20
- import "./chrome-DqrrNesc.js";
20
+ import "./chrome-jNhhv_aK.js";
21
21
  import "./ssrf-BM54dmk8.js";
22
22
  import "./frontmatter-CJcwtnDA.js";
23
23
  import "./skills-lj-BAVOT.js";
@@ -29,11 +29,11 @@ import "./accounts-BpSMbrmm.js";
29
29
  import "./paths-BNWgkszk.js";
30
30
  import "./tool-images-CoxzlHzb.js";
31
31
  import "./thinking-CJoHneR6.js";
32
- import "./image-CrXucUBQ.js";
32
+ import "./image-fBzPx9HU.js";
33
33
  import "./gemini-auth-PJ2wsks8.js";
34
34
  import "./fetch-guard-DtjalEA9.js";
35
35
  import "./local-roots-4EtJnbO5.js";
36
- import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-0tIxLXqk.js";
36
+ import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-t_gvAcSx.js";
37
37
 
38
38
  //#region src/media-understanding/audio-preflight.ts
39
39
  /**
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2026.2.24",
3
- "commit": "8cca076a4f4f0b2667c8ee42a1ba6223c2e686f8",
4
- "builtAt": "2026-02-24T14:55:35.995Z"
2
+ "version": "2026.2.25",
3
+ "commit": "8914cafc8e8f4d363cd53f1db34b54325bd1be92",
4
+ "builtAt": "2026-02-25T08:33:06.322Z"
5
5
  }
@@ -8,13 +8,13 @@ import "../../github-copilot-token-MztaNB-X.js";
8
8
  import "../../env-C8fknKBq.js";
9
9
  import "../../boolean-mcn6kL0s.js";
10
10
  import { n as SILENT_REPLY_TOKEN } from "../../tokens-BNGAb7cj.js";
11
- import { a as createDefaultDeps, i as agentCommand } from "../../pi-embedded-BjVROinO.js";
11
+ import { a as createDefaultDeps, i as agentCommand } from "../../pi-embedded-CFbfCwir.js";
12
12
  import "../../plugins-CtbmEGyr.js";
13
13
  import "../../accounts-CV2Pknmw.js";
14
14
  import "../../bindings-DM7JScd5.js";
15
15
  import "../../send-DQ3cSGaR.js";
16
16
  import "../../send-Cmq2lcO7.js";
17
- import "../../deliver-C-W-ICiC.js";
17
+ import "../../deliver-4ABvBgl8.js";
18
18
  import "../../diagnostic-DuT_7YFG.js";
19
19
  import "../../diagnostic-session-state-C0Sxjfox.js";
20
20
  import "../../accounts-DIeBAJ9W.js";
@@ -22,11 +22,11 @@ import "../../send-Dmvzg1Oe.js";
22
22
  import "../../image-ops-DbUwpQPn.js";
23
23
  import "../../pi-model-discovery-C-yOXpma.js";
24
24
  import "../../message-channel--tWvtEzJ.js";
25
- import "../../pi-embedded-helpers-BPS54R27.js";
25
+ import "../../pi-embedded-helpers-btfqQWiY.js";
26
26
  import "../../config-Cp6gM5MF.js";
27
27
  import "../../manifest-registry-DakyPWRx.js";
28
28
  import "../../dock-CUU0YPGS.js";
29
- import "../../chrome-DqrrNesc.js";
29
+ import "../../chrome-jNhhv_aK.js";
30
30
  import "../../ssrf-BM54dmk8.js";
31
31
  import "../../frontmatter-CJcwtnDA.js";
32
32
  import "../../skills-lj-BAVOT.js";
@@ -38,7 +38,7 @@ import "../../accounts-BpSMbrmm.js";
38
38
  import { l as resolveStorePath } from "../../paths-BNWgkszk.js";
39
39
  import "../../tool-images-CoxzlHzb.js";
40
40
  import "../../thinking-CJoHneR6.js";
41
- import "../../image-CrXucUBQ.js";
41
+ import "../../image-fBzPx9HU.js";
42
42
  import "../../reply-prefix-hwrx6ShS.js";
43
43
  import "../../manager-Bdv0XXb-.js";
44
44
  import "../../gemini-auth-PJ2wsks8.js";
@@ -53,7 +53,7 @@ import "../../ir-DPxbjrBJ.js";
53
53
  import "../../render-loap2gRq.js";
54
54
  import "../../commands-registry-D7uPMxQ9.js";
55
55
  import "../../skill-commands-DS72lJb2.js";
56
- import "../../runner-0tIxLXqk.js";
56
+ import "../../runner-t_gvAcSx.js";
57
57
  import "../../fetch-Deq6btpj.js";
58
58
  import "../../channel-activity-DGqaDJko.js";
59
59
  import "../../tables-BFxjRTXY.js";
@@ -8,13 +8,13 @@ import "../../github-copilot-token-MztaNB-X.js";
8
8
  import "../../env-C8fknKBq.js";
9
9
  import "../../boolean-mcn6kL0s.js";
10
10
  import "../../tokens-BNGAb7cj.js";
11
- import "../../pi-embedded-BjVROinO.js";
11
+ import "../../pi-embedded-CFbfCwir.js";
12
12
  import "../../plugins-CtbmEGyr.js";
13
13
  import "../../accounts-CV2Pknmw.js";
14
14
  import "../../bindings-DM7JScd5.js";
15
15
  import "../../send-DQ3cSGaR.js";
16
16
  import "../../send-Cmq2lcO7.js";
17
- import "../../deliver-C-W-ICiC.js";
17
+ import "../../deliver-4ABvBgl8.js";
18
18
  import "../../diagnostic-DuT_7YFG.js";
19
19
  import "../../diagnostic-session-state-C0Sxjfox.js";
20
20
  import "../../accounts-DIeBAJ9W.js";
@@ -22,11 +22,11 @@ import "../../send-Dmvzg1Oe.js";
22
22
  import "../../image-ops-DbUwpQPn.js";
23
23
  import "../../pi-model-discovery-C-yOXpma.js";
24
24
  import "../../message-channel--tWvtEzJ.js";
25
- import "../../pi-embedded-helpers-BPS54R27.js";
25
+ import "../../pi-embedded-helpers-btfqQWiY.js";
26
26
  import "../../config-Cp6gM5MF.js";
27
27
  import "../../manifest-registry-DakyPWRx.js";
28
28
  import "../../dock-CUU0YPGS.js";
29
- import "../../chrome-DqrrNesc.js";
29
+ import "../../chrome-jNhhv_aK.js";
30
30
  import "../../ssrf-BM54dmk8.js";
31
31
  import "../../frontmatter-CJcwtnDA.js";
32
32
  import "../../skills-lj-BAVOT.js";
@@ -38,7 +38,7 @@ import "../../accounts-BpSMbrmm.js";
38
38
  import "../../paths-BNWgkszk.js";
39
39
  import "../../tool-images-CoxzlHzb.js";
40
40
  import "../../thinking-CJoHneR6.js";
41
- import "../../image-CrXucUBQ.js";
41
+ import "../../image-fBzPx9HU.js";
42
42
  import "../../reply-prefix-hwrx6ShS.js";
43
43
  import "../../manager-Bdv0XXb-.js";
44
44
  import "../../gemini-auth-PJ2wsks8.js";
@@ -53,7 +53,7 @@ import "../../ir-DPxbjrBJ.js";
53
53
  import "../../render-loap2gRq.js";
54
54
  import "../../commands-registry-D7uPMxQ9.js";
55
55
  import "../../skill-commands-DS72lJb2.js";
56
- import "../../runner-0tIxLXqk.js";
56
+ import "../../runner-t_gvAcSx.js";
57
57
  import "../../fetch-Deq6btpj.js";
58
58
  import "../../channel-activity-DGqaDJko.js";
59
59
  import "../../tables-BFxjRTXY.js";
@@ -1 +1 @@
1
- 59faadbd9ca3d5af491161928b4133dde8f8ac616ba068fbc02c13201d6b8e3a
1
+ 7ebcc14a9f1666035f0f8ccf99bd6ef2849105dacb2a9e6e13535a66dd3d656e
@@ -10,7 +10,7 @@ import { execFileSync, spawn } from "node:child_process";
10
10
  import { createHmac } from "node:crypto";
11
11
  import net from "node:net";
12
12
  import { createServer } from "node:http";
13
- import WebSocket, { WebSocketServer } from "ws";
13
+ import WebSocket$1, { WebSocketServer } from "ws";
14
14
  import { Buffer as Buffer$1 } from "node:buffer";
15
15
 
16
16
  //#region src/browser/constants.ts
@@ -196,12 +196,12 @@ async function ensureChromeExtensionRelayServer(opts) {
196
196
  let extensionWs = null;
197
197
  const cdpClients = /* @__PURE__ */ new Set();
198
198
  const connectedTargets = /* @__PURE__ */ new Map();
199
- const extensionConnected = () => extensionWs?.readyState === WebSocket.OPEN;
199
+ const extensionConnected = () => extensionWs?.readyState === WebSocket$1.OPEN;
200
200
  const pendingExtension = /* @__PURE__ */ new Map();
201
201
  let nextExtensionId = 1;
202
202
  const sendToExtension = async (payload) => {
203
203
  const ws = extensionWs;
204
- if (!ws || ws.readyState !== WebSocket.OPEN) throw new Error("Chrome extension not connected");
204
+ if (!ws || ws.readyState !== WebSocket$1.OPEN) throw new Error("Chrome extension not connected");
205
205
  ws.send(JSON.stringify(payload));
206
206
  return await new Promise((resolve, reject) => {
207
207
  const timer = setTimeout(() => {
@@ -218,12 +218,12 @@ async function ensureChromeExtensionRelayServer(opts) {
218
218
  const broadcastToCdpClients = (evt) => {
219
219
  const msg = JSON.stringify(evt);
220
220
  for (const ws of cdpClients) {
221
- if (ws.readyState !== WebSocket.OPEN) continue;
221
+ if (ws.readyState !== WebSocket$1.OPEN) continue;
222
222
  ws.send(msg);
223
223
  }
224
224
  };
225
225
  const sendResponseToCdp = (ws, res) => {
226
- if (ws.readyState !== WebSocket.OPEN) return;
226
+ if (ws.readyState !== WebSocket$1.OPEN) return;
227
227
  ws.send(JSON.stringify(res));
228
228
  };
229
229
  const ensureTargetEventsForClient = (ws, mode) => {
@@ -401,7 +401,7 @@ async function ensureChromeExtensionRelayServer(opts) {
401
401
  rejectUpgrade(socket, 409, "Extension already connected");
402
402
  return;
403
403
  }
404
- if (extensionWs && extensionWs.readyState !== WebSocket.OPEN) {
404
+ if (extensionWs && extensionWs.readyState !== WebSocket$1.OPEN) {
405
405
  try {
406
406
  extensionWs.terminate();
407
407
  } catch {}
@@ -432,7 +432,7 @@ async function ensureChromeExtensionRelayServer(opts) {
432
432
  wssExtension.on("connection", (ws) => {
433
433
  extensionWs = ws;
434
434
  const ping = setInterval(() => {
435
- if (ws.readyState !== WebSocket.OPEN) return;
435
+ if (ws.readyState !== WebSocket$1.OPEN) return;
436
436
  ws.send(JSON.stringify({ method: "ping" }));
437
437
  }, 5e3);
438
438
  ws.on("message", (data) => {
@@ -762,7 +762,7 @@ async function fetchOk(url, timeoutMs = 1500, init) {
762
762
  }
763
763
  async function withCdpSocket(wsUrl, fn, opts) {
764
764
  const headers = getHeadersWithAuth(wsUrl, opts?.headers ?? {});
765
- const ws = new WebSocket(wsUrl, {
765
+ const ws = new WebSocket$1(wsUrl, {
766
766
  handshakeTimeout: typeof opts?.handshakeTimeoutMs === "number" && Number.isFinite(opts.handshakeTimeoutMs) ? Math.max(1, Math.floor(opts.handshakeTimeoutMs)) : 5e3,
767
767
  ...Object.keys(headers).length ? { headers } : {}
768
768
  });
@@ -1681,7 +1681,7 @@ async function getChromeWebSocketUrl(cdpUrl, timeoutMs = 500) {
1681
1681
  async function canOpenWebSocket(wsUrl, timeoutMs = 800) {
1682
1682
  return await new Promise((resolve) => {
1683
1683
  const headers = getHeadersWithAuth(wsUrl);
1684
- const ws = new WebSocket(wsUrl, {
1684
+ const ws = new WebSocket$1(wsUrl, {
1685
1685
  handshakeTimeout: timeoutMs,
1686
1686
  ...Object.keys(headers).length ? { headers } : {}
1687
1687
  });
@@ -10,7 +10,7 @@ import { execFileSync, spawn } from "node:child_process";
10
10
  import { createHmac } from "node:crypto";
11
11
  import net from "node:net";
12
12
  import { createServer } from "node:http";
13
- import WebSocket, { WebSocketServer } from "ws";
13
+ import WebSocket$1, { WebSocketServer } from "ws";
14
14
  import { Buffer as Buffer$1 } from "node:buffer";
15
15
 
16
16
  //#region src/browser/constants.ts
@@ -196,12 +196,12 @@ async function ensureChromeExtensionRelayServer(opts) {
196
196
  let extensionWs = null;
197
197
  const cdpClients = /* @__PURE__ */ new Set();
198
198
  const connectedTargets = /* @__PURE__ */ new Map();
199
- const extensionConnected = () => extensionWs?.readyState === WebSocket.OPEN;
199
+ const extensionConnected = () => extensionWs?.readyState === WebSocket$1.OPEN;
200
200
  const pendingExtension = /* @__PURE__ */ new Map();
201
201
  let nextExtensionId = 1;
202
202
  const sendToExtension = async (payload) => {
203
203
  const ws = extensionWs;
204
- if (!ws || ws.readyState !== WebSocket.OPEN) throw new Error("Chrome extension not connected");
204
+ if (!ws || ws.readyState !== WebSocket$1.OPEN) throw new Error("Chrome extension not connected");
205
205
  ws.send(JSON.stringify(payload));
206
206
  return await new Promise((resolve, reject) => {
207
207
  const timer = setTimeout(() => {
@@ -218,12 +218,12 @@ async function ensureChromeExtensionRelayServer(opts) {
218
218
  const broadcastToCdpClients = (evt) => {
219
219
  const msg = JSON.stringify(evt);
220
220
  for (const ws of cdpClients) {
221
- if (ws.readyState !== WebSocket.OPEN) continue;
221
+ if (ws.readyState !== WebSocket$1.OPEN) continue;
222
222
  ws.send(msg);
223
223
  }
224
224
  };
225
225
  const sendResponseToCdp = (ws, res) => {
226
- if (ws.readyState !== WebSocket.OPEN) return;
226
+ if (ws.readyState !== WebSocket$1.OPEN) return;
227
227
  ws.send(JSON.stringify(res));
228
228
  };
229
229
  const ensureTargetEventsForClient = (ws, mode) => {
@@ -401,7 +401,7 @@ async function ensureChromeExtensionRelayServer(opts) {
401
401
  rejectUpgrade(socket, 409, "Extension already connected");
402
402
  return;
403
403
  }
404
- if (extensionWs && extensionWs.readyState !== WebSocket.OPEN) {
404
+ if (extensionWs && extensionWs.readyState !== WebSocket$1.OPEN) {
405
405
  try {
406
406
  extensionWs.terminate();
407
407
  } catch {}
@@ -432,7 +432,7 @@ async function ensureChromeExtensionRelayServer(opts) {
432
432
  wssExtension.on("connection", (ws) => {
433
433
  extensionWs = ws;
434
434
  const ping = setInterval(() => {
435
- if (ws.readyState !== WebSocket.OPEN) return;
435
+ if (ws.readyState !== WebSocket$1.OPEN) return;
436
436
  ws.send(JSON.stringify({ method: "ping" }));
437
437
  }, 5e3);
438
438
  ws.on("message", (data) => {
@@ -762,7 +762,7 @@ async function fetchOk(url, timeoutMs = 1500, init) {
762
762
  }
763
763
  async function withCdpSocket(wsUrl, fn, opts) {
764
764
  const headers = getHeadersWithAuth(wsUrl, opts?.headers ?? {});
765
- const ws = new WebSocket(wsUrl, {
765
+ const ws = new WebSocket$1(wsUrl, {
766
766
  handshakeTimeout: typeof opts?.handshakeTimeoutMs === "number" && Number.isFinite(opts.handshakeTimeoutMs) ? Math.max(1, Math.floor(opts.handshakeTimeoutMs)) : 5e3,
767
767
  ...Object.keys(headers).length ? { headers } : {}
768
768
  });
@@ -1681,7 +1681,7 @@ async function getChromeWebSocketUrl(cdpUrl, timeoutMs = 500) {
1681
1681
  async function canOpenWebSocket(wsUrl, timeoutMs = 800) {
1682
1682
  return await new Promise((resolve) => {
1683
1683
  const headers = getHeadersWithAuth(wsUrl);
1684
- const ws = new WebSocket(wsUrl, {
1684
+ const ws = new WebSocket$1(wsUrl, {
1685
1685
  handshakeTimeout: timeoutMs,
1686
1686
  ...Object.keys(headers).length ? { headers } : {}
1687
1687
  });