@symerian/symi 2.2.5 → 2.2.7
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/{audio-preflight-Cv9Z1hfd.js → audio-preflight-BGSBr_SJ.js} +4 -4
- package/dist/{audio-preflight-BsS_1f9-.js → audio-preflight-CJ3sqM3d.js} +4 -4
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +6 -6
- package/dist/bundled/session-memory/handler.js +6 -6
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{chrome-Bf5N4gMh.js → chrome-BM8V9EPM.js} +7 -7
- package/dist/{chrome-CQNK4Of4.js → chrome-Bs9dOXhy.js} +7 -7
- package/dist/control-ui/js/app.js +26 -2
- package/dist/control-ui/js/models.js +1 -1
- package/dist/control-ui/js/symipulse.js +12 -2
- package/dist/{deliver-CeOnWRNZ.js → deliver-Bs6SHLMp.js} +1 -1
- package/dist/{deliver-CBVqE05W.js → deliver-Dh5uiYS8.js} +1 -1
- package/dist/extensionAPI.js +6 -6
- package/dist/{image-Crdjqg8r.js → image-CjO1LLbc.js} +1 -1
- package/dist/{image-CAUuNGNO.js → image-CkMDI3pp.js} +1 -1
- package/dist/llm-slug-generator.js +6 -6
- package/dist/{pi-embedded-C4Cb6hc3.js → pi-embedded-BBROwjX_.js} +16 -16
- package/dist/{pi-embedded-Cd7Gd0Am.js → pi-embedded-BkhyOzCD.js} +16 -16
- package/dist/{pi-embedded-helpers-B86ZS0eB.js → pi-embedded-helpers-D-cALDuy.js} +4 -4
- package/dist/{pi-embedded-helpers-xjO9noTy.js → pi-embedded-helpers-D3O-Jz_G.js} +4 -4
- package/dist/plugin-sdk/{accounts-BToL3HlP.js → accounts-BtaOa4z_.js} +1 -1
- package/dist/plugin-sdk/{accounts-D9zGZU5t.js → accounts-Ddm33hQm.js} +3 -3
- package/dist/plugin-sdk/{accounts-Dtszw3Zn.js → accounts-s-AdhXVR.js} +1 -1
- package/dist/plugin-sdk/{active-listener-bEk__wbB.js → active-listener-BXYeALs0.js} +1 -1
- package/dist/plugin-sdk/{agent-scope-C3gMMKCU.js → agent-scope-CYYpcO9W.js} +2 -2
- package/dist/plugin-sdk/{api-key-rotation-CVBMpnPc.js → api-key-rotation-D_sMvI5W.js} +1 -1
- package/dist/plugin-sdk/{audio-preflight-B8X7BvQ5.js → audio-preflight-B53bNKrw.js} +24 -24
- package/dist/plugin-sdk/{bindings-BbwoUGPx.js → bindings-C7hRtgYW.js} +2 -2
- package/dist/plugin-sdk/{channel-activity-Ji7f0gqq.js → channel-activity-DoC1xtDu.js} +1 -1
- package/dist/plugin-sdk/{channel-web-B92UQWLf.js → channel-web-Cx9302Dk.js} +22 -22
- package/dist/plugin-sdk/{chrome-DxJPopF7.js → chrome-CvwTnajj.js} +3 -3
- package/dist/plugin-sdk/{chunk-jvk9axTQ.js → chunk-Dw2XBYXv.js} +1 -1
- package/dist/plugin-sdk/{command-format-DSdvQ_M5.js → command-format-GKSevep4.js} +1 -1
- package/dist/plugin-sdk/{commands-registry-CQFbmUMs.js → commands-registry-COIaslGl.js} +4 -4
- package/dist/plugin-sdk/{config-B0SemGqU.js → config-BupHDD8z.js} +9 -9
- package/dist/plugin-sdk/{deliver-C51eaClJ.js → deliver-BHhsDn1r.js} +10 -10
- package/dist/plugin-sdk/{diagnostic-mFf4i4G9.js → diagnostic-05pm5Rxi.js} +1 -1
- package/dist/plugin-sdk/{image-VGrV0d09.js → image-C7McqLZm.js} +4 -4
- package/dist/plugin-sdk/{image-ops-Bnp6LXEx.js → image-ops-BlQR__MN.js} +1 -1
- package/dist/plugin-sdk/index.js +53 -53
- package/dist/plugin-sdk/{ir-Fb3qpcis.js → ir-BJ6BHE5b.js} +4 -4
- package/dist/plugin-sdk/{local-roots-Ckk1QfzI.js → local-roots-BHLNSI8U.js} +3 -3
- package/dist/plugin-sdk/{login-CG8p5_rW.js → login-7FUJ7gj1.js} +7 -7
- package/dist/plugin-sdk/{login-qr-buvA9Dp8.js → login-qr-G2RFuX25.js} +9 -9
- package/dist/plugin-sdk/{manager-DckktAQ3.js → manager-CBSBFuFz.js} +8 -8
- package/dist/plugin-sdk/{manifest-registry-B3ugY9-f.js → manifest-registry-CPnHl_K3.js} +1 -1
- package/dist/plugin-sdk/{markdown-tables-Dfaqilz6.js → markdown-tables-BoYFajMu.js} +1 -1
- package/dist/plugin-sdk/{message-channel-BdI5Ra9S.js → message-channel-COTAJzHd.js} +1 -1
- package/dist/plugin-sdk/{model-selection-OpU8HN50.js → model-selection-CsbEfrS0.js} +4 -4
- package/dist/plugin-sdk/{outbound-LqNDFLO5.js → outbound-DfTlVLe_.js} +7 -7
- package/dist/plugin-sdk/{outbound-attachment-DnVQfTG2.js → outbound-attachment-CnslKL38.js} +2 -2
- package/dist/plugin-sdk/{pi-auth-json-CJk8t14T.js → pi-auth-json-qWi7ZIYV.js} +5 -5
- package/dist/plugin-sdk/{pi-embedded-helpers-IkpqVZZa.js → pi-embedded-helpers-D2_EUlJS.js} +17 -17
- package/dist/plugin-sdk/{plugins-BbAvhC25.js → plugins-BNByVCIH.js} +4 -4
- package/dist/plugin-sdk/{pw-ai-CjPImm6b.js → pw-ai-by2V6Ut8.js} +8 -8
- package/dist/plugin-sdk/{qmd-manager-mjKcdwVr.js → qmd-manager-CH0XbIHf.js} +4 -4
- package/dist/plugin-sdk/{registry--_pGht6S.js → registry-D0xTnUWt.js} +2 -2
- package/dist/plugin-sdk/{replies-BLMuwbVf.js → replies-BvLLzNir.js} +3 -3
- package/dist/plugin-sdk/{reply-BS99Apig.js → reply-lfLLqWY9.js} +78 -78
- package/dist/plugin-sdk/{reply-prefix-BHuV5t70.js → reply-prefix-uxfMZW4p.js} +1 -1
- package/dist/plugin-sdk/{resolve-outbound-target-BkCUbYGV.js → resolve-outbound-target-BiyAyTWz.js} +2 -2
- package/dist/plugin-sdk/{resolve-route-D3JH_D2N.js → resolve-route-B3CCBumQ.js} +3 -3
- package/dist/plugin-sdk/{retry-ilSJqnz9.js → retry-CwQ_iIj8.js} +1 -1
- package/dist/plugin-sdk/{runner-pmvwohi9.js → runner-HhqOfrxW.js} +9 -9
- package/dist/plugin-sdk/{send-BinD92v_.js → send-4K8N4DJb.js} +6 -6
- package/dist/plugin-sdk/{send-cUp3Bf9t.js → send-B5j6WgU6.js} +10 -10
- package/dist/plugin-sdk/{send-D8Zs62CE.js → send-CsZXZn6y.js} +7 -7
- package/dist/plugin-sdk/{send-BOrHNGsc.js → send-Dth3Wlbs.js} +10 -10
- package/dist/plugin-sdk/{send-DOXV-BQw.js → send-K99kT96d.js} +6 -6
- package/dist/plugin-sdk/{session-B0bWB4Wf.js → session-60vHZ7w3.js} +4 -4
- package/dist/plugin-sdk/{skill-commands-DCNXVERE.js → skill-commands-ff_01_r3.js} +5 -5
- package/dist/plugin-sdk/{skills-B1GeRYlu.js → skills-_yTP47Cd.js} +7 -7
- package/dist/plugin-sdk/{sqlite-Cq_7Cg4E.js → sqlite-CxAR5ttJ.js} +1 -1
- package/dist/plugin-sdk/{store-Do3t33-c.js → store-BdrNabcU.js} +2 -2
- package/dist/plugin-sdk/{subsystem-Coz2AgU8.js → subsystem-B2uDN3TV.js} +1 -1
- package/dist/plugin-sdk/{tables-DR0NmBeH.js → tables-DNwXwNFa.js} +1 -1
- package/dist/plugin-sdk/{target-errors-B7YyMnIi.js → target-errors-Paro1BjP.js} +2 -2
- package/dist/plugin-sdk/{thinking-DCNUIAHY.js → thinking-CXqf7WTe.js} +5 -5
- package/dist/plugin-sdk/{tokens-CWMflosr.js → tokens-bC3UVmVH.js} +1 -1
- package/dist/plugin-sdk/{tool-images-D7Lno-TE.js → tool-images-HJ2sfZDV.js} +2 -2
- package/dist/plugin-sdk/{tool-loop-detection-edmW8ZiF.js → tool-loop-detection-BVA6fax-.js} +2 -2
- package/dist/plugin-sdk/web-Z0l0SqtM.js +65 -0
- package/dist/plugin-sdk/{whatsapp-actions-Bp33E4JW.js → whatsapp-actions-DEKP4eXk.js} +21 -21
- package/dist/{pw-ai-BcniFyZm.js → pw-ai-Bea6vnxP.js} +1 -1
- package/dist/{pw-ai-C2hGnRfL.js → pw-ai-U9oqOgyv.js} +1 -1
- package/dist/{runner-M7hSmkG1.js → runner-DDAa40wm.js} +1 -1
- package/dist/{runner-DFFbD4Jj.js → runner-kv4GI5eX.js} +1 -1
- package/dist/{web-0w8t_r2B.js → web-Ck_rAgaX.js} +6 -6
- package/dist/{web-UEqiaso9.js → web-CwQfVHEO.js} +6 -6
- package/package.json +1 -1
- package/dist/plugin-sdk/web-CF79DBe3.js +0 -65
|
@@ -14,10 +14,10 @@ import "./model-auth-DK43VicI.js";
|
|
|
14
14
|
import "./github-copilot-token-C_qUP7p5.js";
|
|
15
15
|
import "./pi-model-discovery-DaNAekda.js";
|
|
16
16
|
import "./message-channel-Dz5lr5b0.js";
|
|
17
|
-
import "./pi-embedded-helpers-
|
|
17
|
+
import "./pi-embedded-helpers-D-cALDuy.js";
|
|
18
18
|
import "./config-CT6a99bQ.js";
|
|
19
19
|
import "./manifest-registry-D0IQ3WuX.js";
|
|
20
|
-
import "./chrome-
|
|
20
|
+
import "./chrome-Bs9dOXhy.js";
|
|
21
21
|
import "./frontmatter-C_bv_0P8.js";
|
|
22
22
|
import "./skills-BFekKL7i.js";
|
|
23
23
|
import "./redact-jSxx6Ep2.js";
|
|
@@ -28,10 +28,10 @@ import "./thinking-CdlENGRW.js";
|
|
|
28
28
|
import "./accounts-qtxJ-6em.js";
|
|
29
29
|
import "./paths-DLyHUt31.js";
|
|
30
30
|
import "./tool-images-DXB7tqWi.js";
|
|
31
|
-
import "./image-
|
|
31
|
+
import "./image-CkMDI3pp.js";
|
|
32
32
|
import "./gemini-auth-CdSPHuLl.js";
|
|
33
33
|
import "./local-roots-DMwIh5cS.js";
|
|
34
|
-
import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-
|
|
34
|
+
import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-DDAa40wm.js";
|
|
35
35
|
|
|
36
36
|
//#region src/media-understanding/audio-preflight.ts
|
|
37
37
|
/**
|
|
@@ -12,10 +12,10 @@ import "./accounts-8zZqL37v.js";
|
|
|
12
12
|
import "./image-ops-ByaQt43P.js";
|
|
13
13
|
import "./pi-model-discovery-j5tVLINv.js";
|
|
14
14
|
import "./message-channel-BQINJQIT.js";
|
|
15
|
-
import "./pi-embedded-helpers-
|
|
15
|
+
import "./pi-embedded-helpers-D3O-Jz_G.js";
|
|
16
16
|
import "./config-Btm9gODl.js";
|
|
17
17
|
import "./manifest-registry-D-mTF1cj.js";
|
|
18
|
-
import "./chrome-
|
|
18
|
+
import "./chrome-BM8V9EPM.js";
|
|
19
19
|
import "./skills-BNpGMnp-.js";
|
|
20
20
|
import "./redact-1NGYV_8p.js";
|
|
21
21
|
import "./errors-CPfngF0S.js";
|
|
@@ -25,10 +25,10 @@ import "./thinking-W85Rb32m.js";
|
|
|
25
25
|
import "./accounts-DImOt9jX.js";
|
|
26
26
|
import "./paths-DkMamAQ-.js";
|
|
27
27
|
import "./tool-images-ChC2CXaN.js";
|
|
28
|
-
import "./image-
|
|
28
|
+
import "./image-CjO1LLbc.js";
|
|
29
29
|
import "./gemini-auth-CSlZZ1Pw.js";
|
|
30
30
|
import "./local-roots-CC8jiKDk.js";
|
|
31
|
-
import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-
|
|
31
|
+
import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-kv4GI5eX.js";
|
|
32
32
|
|
|
33
33
|
//#region src/media-understanding/audio-preflight.ts
|
|
34
34
|
/**
|
package/dist/build-info.json
CHANGED
|
@@ -5,7 +5,7 @@ import { s as resolveAgentWorkspaceDir, t as listAgentIds } from "../../agent-sc
|
|
|
5
5
|
import { r as defaultRuntime, t as createSubsystemLogger } from "../../subsystem-Bs9YvKLa.js";
|
|
6
6
|
import "../../workspace-wAaHI8-5.js";
|
|
7
7
|
import { n as SILENT_REPLY_TOKEN } from "../../tokens-H1H1LiSQ.js";
|
|
8
|
-
import { a as createDefaultDeps, i as agentCommand } from "../../pi-embedded-
|
|
8
|
+
import { a as createDefaultDeps, i as agentCommand } from "../../pi-embedded-BBROwjX_.js";
|
|
9
9
|
import "../../plugins-DQYI3Fr-.js";
|
|
10
10
|
import "../../accounts-tNElYrCH.js";
|
|
11
11
|
import "../../boolean-B8-BqKGQ.js";
|
|
@@ -13,7 +13,7 @@ import "../../command-format-BaxDnULz.js";
|
|
|
13
13
|
import "../../bindings-B7Ke6LJi.js";
|
|
14
14
|
import "../../send-Z6uznj5j.js";
|
|
15
15
|
import "../../send-Dp3_Z9LN.js";
|
|
16
|
-
import "../../deliver-
|
|
16
|
+
import "../../deliver-Bs6SHLMp.js";
|
|
17
17
|
import "../../diagnostic-CI0kRQkt.js";
|
|
18
18
|
import "../../diagnostic-session-state-Bxo4UHOL.js";
|
|
19
19
|
import "../../accounts-CWktKM8a.js";
|
|
@@ -23,10 +23,10 @@ import "../../model-auth-DK43VicI.js";
|
|
|
23
23
|
import "../../github-copilot-token-C_qUP7p5.js";
|
|
24
24
|
import "../../pi-model-discovery-DaNAekda.js";
|
|
25
25
|
import "../../message-channel-Dz5lr5b0.js";
|
|
26
|
-
import { H as loadSessionStore, K as updateSessionStore, xt as resolveMainSessionKey, yt as resolveAgentMainSessionKey } from "../../pi-embedded-helpers-
|
|
26
|
+
import { H as loadSessionStore, K as updateSessionStore, xt as resolveMainSessionKey, yt as resolveAgentMainSessionKey } from "../../pi-embedded-helpers-D-cALDuy.js";
|
|
27
27
|
import "../../config-CT6a99bQ.js";
|
|
28
28
|
import "../../manifest-registry-D0IQ3WuX.js";
|
|
29
|
-
import "../../chrome-
|
|
29
|
+
import "../../chrome-Bs9dOXhy.js";
|
|
30
30
|
import "../../frontmatter-C_bv_0P8.js";
|
|
31
31
|
import "../../skills-BFekKL7i.js";
|
|
32
32
|
import "../../redact-jSxx6Ep2.js";
|
|
@@ -37,7 +37,7 @@ import "../../thinking-CdlENGRW.js";
|
|
|
37
37
|
import "../../accounts-qtxJ-6em.js";
|
|
38
38
|
import { s as resolveStorePath } from "../../paths-DLyHUt31.js";
|
|
39
39
|
import "../../tool-images-DXB7tqWi.js";
|
|
40
|
-
import "../../image-
|
|
40
|
+
import "../../image-CkMDI3pp.js";
|
|
41
41
|
import "../../reply-prefix-XlyuyChD.js";
|
|
42
42
|
import "../../manager-D_LwXbc6.js";
|
|
43
43
|
import "../../gemini-auth-CdSPHuLl.js";
|
|
@@ -51,7 +51,7 @@ import "../../ir-DccrnjsE.js";
|
|
|
51
51
|
import "../../render-CDCvpfhh.js";
|
|
52
52
|
import "../../commands-registry-D7CTCQPm.js";
|
|
53
53
|
import "../../skill-commands-BJMb_psG.js";
|
|
54
|
-
import "../../runner-
|
|
54
|
+
import "../../runner-DDAa40wm.js";
|
|
55
55
|
import "../../fetch-Bso4i15F.js";
|
|
56
56
|
import "../../channel-activity-CsM_hJ_s.js";
|
|
57
57
|
import "../../tables-DuZspiBu.js";
|
|
@@ -5,7 +5,7 @@ import { s as resolveAgentWorkspaceDir } from "../../agent-scope-BxoUQqgM.js";
|
|
|
5
5
|
import { t as createSubsystemLogger } from "../../subsystem-Bs9YvKLa.js";
|
|
6
6
|
import "../../workspace-wAaHI8-5.js";
|
|
7
7
|
import "../../tokens-H1H1LiSQ.js";
|
|
8
|
-
import "../../pi-embedded-
|
|
8
|
+
import "../../pi-embedded-BBROwjX_.js";
|
|
9
9
|
import "../../plugins-DQYI3Fr-.js";
|
|
10
10
|
import "../../accounts-tNElYrCH.js";
|
|
11
11
|
import "../../boolean-B8-BqKGQ.js";
|
|
@@ -13,7 +13,7 @@ import "../../command-format-BaxDnULz.js";
|
|
|
13
13
|
import "../../bindings-B7Ke6LJi.js";
|
|
14
14
|
import "../../send-Z6uznj5j.js";
|
|
15
15
|
import "../../send-Dp3_Z9LN.js";
|
|
16
|
-
import "../../deliver-
|
|
16
|
+
import "../../deliver-Bs6SHLMp.js";
|
|
17
17
|
import "../../diagnostic-CI0kRQkt.js";
|
|
18
18
|
import "../../diagnostic-session-state-Bxo4UHOL.js";
|
|
19
19
|
import "../../accounts-CWktKM8a.js";
|
|
@@ -23,10 +23,10 @@ import "../../model-auth-DK43VicI.js";
|
|
|
23
23
|
import "../../github-copilot-token-C_qUP7p5.js";
|
|
24
24
|
import "../../pi-model-discovery-DaNAekda.js";
|
|
25
25
|
import "../../message-channel-Dz5lr5b0.js";
|
|
26
|
-
import { ct as hasInterSessionUserProvenance } from "../../pi-embedded-helpers-
|
|
26
|
+
import { ct as hasInterSessionUserProvenance } from "../../pi-embedded-helpers-D-cALDuy.js";
|
|
27
27
|
import "../../config-CT6a99bQ.js";
|
|
28
28
|
import "../../manifest-registry-D0IQ3WuX.js";
|
|
29
|
-
import "../../chrome-
|
|
29
|
+
import "../../chrome-Bs9dOXhy.js";
|
|
30
30
|
import "../../frontmatter-C_bv_0P8.js";
|
|
31
31
|
import "../../skills-BFekKL7i.js";
|
|
32
32
|
import "../../redact-jSxx6Ep2.js";
|
|
@@ -37,7 +37,7 @@ import "../../thinking-CdlENGRW.js";
|
|
|
37
37
|
import "../../accounts-qtxJ-6em.js";
|
|
38
38
|
import "../../paths-DLyHUt31.js";
|
|
39
39
|
import "../../tool-images-DXB7tqWi.js";
|
|
40
|
-
import "../../image-
|
|
40
|
+
import "../../image-CkMDI3pp.js";
|
|
41
41
|
import "../../reply-prefix-XlyuyChD.js";
|
|
42
42
|
import "../../manager-D_LwXbc6.js";
|
|
43
43
|
import "../../gemini-auth-CdSPHuLl.js";
|
|
@@ -51,7 +51,7 @@ import "../../ir-DccrnjsE.js";
|
|
|
51
51
|
import "../../render-CDCvpfhh.js";
|
|
52
52
|
import "../../commands-registry-D7CTCQPm.js";
|
|
53
53
|
import "../../skill-commands-BJMb_psG.js";
|
|
54
|
-
import "../../runner-
|
|
54
|
+
import "../../runner-DDAa40wm.js";
|
|
55
55
|
import "../../fetch-Bso4i15F.js";
|
|
56
56
|
import "../../channel-activity-CsM_hJ_s.js";
|
|
57
57
|
import "../../tables-DuZspiBu.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
889a039ba8a6ee54104b6a256c0df2d65f36d4bffca9428191f3f39ffb7861a2
|
|
@@ -10,7 +10,7 @@ import fs$1 from "node:fs/promises";
|
|
|
10
10
|
import { execFileSync, spawn } from "node:child_process";
|
|
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
|
|
@@ -178,7 +178,7 @@ async function ensureChromeExtensionRelayServer(opts) {
|
|
|
178
178
|
let nextExtensionId = 1;
|
|
179
179
|
const sendToExtension = async (payload) => {
|
|
180
180
|
const ws = extensionWs;
|
|
181
|
-
if (!ws || ws.readyState !== WebSocket.OPEN) throw new Error("Chrome extension not connected");
|
|
181
|
+
if (!ws || ws.readyState !== WebSocket$1.OPEN) throw new Error("Chrome extension not connected");
|
|
182
182
|
ws.send(JSON.stringify(payload));
|
|
183
183
|
return await new Promise((resolve, reject) => {
|
|
184
184
|
const timer = setTimeout(() => {
|
|
@@ -195,12 +195,12 @@ async function ensureChromeExtensionRelayServer(opts) {
|
|
|
195
195
|
const broadcastToCdpClients = (evt) => {
|
|
196
196
|
const msg = JSON.stringify(evt);
|
|
197
197
|
for (const ws of cdpClients) {
|
|
198
|
-
if (ws.readyState !== WebSocket.OPEN) continue;
|
|
198
|
+
if (ws.readyState !== WebSocket$1.OPEN) continue;
|
|
199
199
|
ws.send(msg);
|
|
200
200
|
}
|
|
201
201
|
};
|
|
202
202
|
const sendResponseToCdp = (ws, res) => {
|
|
203
|
-
if (ws.readyState !== WebSocket.OPEN) return;
|
|
203
|
+
if (ws.readyState !== WebSocket$1.OPEN) return;
|
|
204
204
|
ws.send(JSON.stringify(res));
|
|
205
205
|
};
|
|
206
206
|
const ensureTargetEventsForClient = (ws, mode) => {
|
|
@@ -425,7 +425,7 @@ async function ensureChromeExtensionRelayServer(opts) {
|
|
|
425
425
|
wssExtension.on("connection", (ws) => {
|
|
426
426
|
extensionWs = ws;
|
|
427
427
|
const ping = setInterval(() => {
|
|
428
|
-
if (ws.readyState !== WebSocket.OPEN) return;
|
|
428
|
+
if (ws.readyState !== WebSocket$1.OPEN) return;
|
|
429
429
|
ws.send(JSON.stringify({ method: "ping" }));
|
|
430
430
|
}, 5e3);
|
|
431
431
|
ws.on("message", (data) => {
|
|
@@ -743,7 +743,7 @@ async function fetchOk(url, timeoutMs = 1500, init) {
|
|
|
743
743
|
}
|
|
744
744
|
async function withCdpSocket(wsUrl, fn, opts) {
|
|
745
745
|
const headers = getHeadersWithAuth(wsUrl, opts?.headers ?? {});
|
|
746
|
-
const ws = new WebSocket(wsUrl, {
|
|
746
|
+
const ws = new WebSocket$1(wsUrl, {
|
|
747
747
|
handshakeTimeout: typeof opts?.handshakeTimeoutMs === "number" && Number.isFinite(opts.handshakeTimeoutMs) ? Math.max(1, Math.floor(opts.handshakeTimeoutMs)) : 5e3,
|
|
748
748
|
...Object.keys(headers).length ? { headers } : {}
|
|
749
749
|
});
|
|
@@ -1637,7 +1637,7 @@ async function getChromeWebSocketUrl(cdpUrl, timeoutMs = 500) {
|
|
|
1637
1637
|
async function canOpenWebSocket(wsUrl, timeoutMs = 800) {
|
|
1638
1638
|
return await new Promise((resolve) => {
|
|
1639
1639
|
const headers = getHeadersWithAuth(wsUrl);
|
|
1640
|
-
const ws = new WebSocket(wsUrl, {
|
|
1640
|
+
const ws = new WebSocket$1(wsUrl, {
|
|
1641
1641
|
handshakeTimeout: timeoutMs,
|
|
1642
1642
|
...Object.keys(headers).length ? { headers } : {}
|
|
1643
1643
|
});
|
|
@@ -10,7 +10,7 @@ import fs$1 from "node:fs";
|
|
|
10
10
|
import { execFileSync, spawn } from "node:child_process";
|
|
11
11
|
import net from "node:net";
|
|
12
12
|
import { createServer } from "node:http";
|
|
13
|
-
import WebSocket
|
|
13
|
+
import WebSocket, { WebSocketServer } from "ws";
|
|
14
14
|
import { Buffer as Buffer$1 } from "node:buffer";
|
|
15
15
|
|
|
16
16
|
//#region src/browser/constants.ts
|
|
@@ -178,7 +178,7 @@ async function ensureChromeExtensionRelayServer(opts) {
|
|
|
178
178
|
let nextExtensionId = 1;
|
|
179
179
|
const sendToExtension = async (payload) => {
|
|
180
180
|
const ws = extensionWs;
|
|
181
|
-
if (!ws || ws.readyState !== WebSocket
|
|
181
|
+
if (!ws || ws.readyState !== WebSocket.OPEN) throw new Error("Chrome extension not connected");
|
|
182
182
|
ws.send(JSON.stringify(payload));
|
|
183
183
|
return await new Promise((resolve, reject) => {
|
|
184
184
|
const timer = setTimeout(() => {
|
|
@@ -195,12 +195,12 @@ async function ensureChromeExtensionRelayServer(opts) {
|
|
|
195
195
|
const broadcastToCdpClients = (evt) => {
|
|
196
196
|
const msg = JSON.stringify(evt);
|
|
197
197
|
for (const ws of cdpClients) {
|
|
198
|
-
if (ws.readyState !== WebSocket
|
|
198
|
+
if (ws.readyState !== WebSocket.OPEN) continue;
|
|
199
199
|
ws.send(msg);
|
|
200
200
|
}
|
|
201
201
|
};
|
|
202
202
|
const sendResponseToCdp = (ws, res) => {
|
|
203
|
-
if (ws.readyState !== WebSocket
|
|
203
|
+
if (ws.readyState !== WebSocket.OPEN) return;
|
|
204
204
|
ws.send(JSON.stringify(res));
|
|
205
205
|
};
|
|
206
206
|
const ensureTargetEventsForClient = (ws, mode) => {
|
|
@@ -425,7 +425,7 @@ async function ensureChromeExtensionRelayServer(opts) {
|
|
|
425
425
|
wssExtension.on("connection", (ws) => {
|
|
426
426
|
extensionWs = ws;
|
|
427
427
|
const ping = setInterval(() => {
|
|
428
|
-
if (ws.readyState !== WebSocket
|
|
428
|
+
if (ws.readyState !== WebSocket.OPEN) return;
|
|
429
429
|
ws.send(JSON.stringify({ method: "ping" }));
|
|
430
430
|
}, 5e3);
|
|
431
431
|
ws.on("message", (data) => {
|
|
@@ -743,7 +743,7 @@ async function fetchOk(url, timeoutMs = 1500, init) {
|
|
|
743
743
|
}
|
|
744
744
|
async function withCdpSocket(wsUrl, fn, opts) {
|
|
745
745
|
const headers = getHeadersWithAuth(wsUrl, opts?.headers ?? {});
|
|
746
|
-
const ws = new WebSocket
|
|
746
|
+
const ws = new WebSocket(wsUrl, {
|
|
747
747
|
handshakeTimeout: typeof opts?.handshakeTimeoutMs === "number" && Number.isFinite(opts.handshakeTimeoutMs) ? Math.max(1, Math.floor(opts.handshakeTimeoutMs)) : 5e3,
|
|
748
748
|
...Object.keys(headers).length ? { headers } : {}
|
|
749
749
|
});
|
|
@@ -1637,7 +1637,7 @@ async function getChromeWebSocketUrl(cdpUrl, timeoutMs = 500) {
|
|
|
1637
1637
|
async function canOpenWebSocket(wsUrl, timeoutMs = 800) {
|
|
1638
1638
|
return await new Promise((resolve) => {
|
|
1639
1639
|
const headers = getHeadersWithAuth(wsUrl);
|
|
1640
|
-
const ws = new WebSocket
|
|
1640
|
+
const ws = new WebSocket(wsUrl, {
|
|
1641
1641
|
handshakeTimeout: timeoutMs,
|
|
1642
1642
|
...Object.keys(headers).length ? { headers } : {}
|
|
1643
1643
|
});
|
|
@@ -572,8 +572,14 @@ function handleGatewayEvent(event) {
|
|
|
572
572
|
window.updateLiveThinking(thinkingText);
|
|
573
573
|
}
|
|
574
574
|
} else if (p.state === "final") {
|
|
575
|
-
// Route heartbeat/symipulse finals to dedicated panel
|
|
576
|
-
|
|
575
|
+
// Route heartbeat/symipulse finals to dedicated panel.
|
|
576
|
+
// Check server flag first, then fall back to regex classifier for
|
|
577
|
+
// edge cases where the flag is missing (e.g. older gateway versions).
|
|
578
|
+
const finalMsg = p.message?.content ? p.message : { role: "assistant", content: p.message };
|
|
579
|
+
if (
|
|
580
|
+
p.isHeartbeat ||
|
|
581
|
+
(typeof window.isSymipulseMessage === "function" && window.isSymipulseMessage(finalMsg))
|
|
582
|
+
) {
|
|
577
583
|
const text = extractText(p.message?.content ?? p.message);
|
|
578
584
|
if (text && typeof window.appendToSymipulsePanel === "function") {
|
|
579
585
|
window.appendToSymipulsePanel(text, Date.now());
|
|
@@ -581,6 +587,16 @@ function handleGatewayEvent(event) {
|
|
|
581
587
|
if (typeof window.setSymipulseLiveDot === "function") {
|
|
582
588
|
window.setSymipulseLiveDot(false);
|
|
583
589
|
}
|
|
590
|
+
// Clean up any stream bubble that was opened before detection
|
|
591
|
+
if (streamBubble) {
|
|
592
|
+
streamBubble.closest(".message")?.remove();
|
|
593
|
+
streamBubble = null;
|
|
594
|
+
streamContent = null;
|
|
595
|
+
}
|
|
596
|
+
if (thinkingEl) {
|
|
597
|
+
thinkingEl.remove();
|
|
598
|
+
thinkingEl = null;
|
|
599
|
+
}
|
|
584
600
|
return;
|
|
585
601
|
}
|
|
586
602
|
|
|
@@ -598,6 +614,10 @@ function handleGatewayEvent(event) {
|
|
|
598
614
|
enableInput();
|
|
599
615
|
drainQueue();
|
|
600
616
|
} else if (p.state === "aborted") {
|
|
617
|
+
// Silently ignore heartbeat aborts — don't touch user-run state
|
|
618
|
+
if (p.isHeartbeat) {
|
|
619
|
+
return;
|
|
620
|
+
}
|
|
601
621
|
// Clean abort (user-initiated or model decided to stop) — not an error
|
|
602
622
|
stopElapsedTimer();
|
|
603
623
|
clearWatchdog();
|
|
@@ -619,6 +639,10 @@ function handleGatewayEvent(event) {
|
|
|
619
639
|
enableInput();
|
|
620
640
|
drainQueue();
|
|
621
641
|
} else if (p.state === "error") {
|
|
642
|
+
// Silently ignore heartbeat errors — don't inject error bubbles for background runs
|
|
643
|
+
if (p.isHeartbeat) {
|
|
644
|
+
return;
|
|
645
|
+
}
|
|
622
646
|
// Server-reported error — route through unified failure handler
|
|
623
647
|
handleRunFailure(p.error?.message || "Server reported an error");
|
|
624
648
|
}
|
|
@@ -41,13 +41,23 @@ window.isSymipulseMessage = function (message) {
|
|
|
41
41
|
if (/^\s*NO_REPLY\s*$/i.test(txt)) {
|
|
42
42
|
return true;
|
|
43
43
|
}
|
|
44
|
-
|
|
44
|
+
// Health warnings — broadened to catch ⚠️ with health-check keywords
|
|
45
|
+
if (/^⚠️.*(heartbeat|Agent failed before reply|unreachable|HTTP:\d{3})/i.test(txt)) {
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
// [quiet window] prefix — heartbeat output during idle periods
|
|
49
|
+
if (/^\[quiet window\]/i.test(txt)) {
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
// Health log references — "Logged to YYYY-MM-DD.md"
|
|
53
|
+
if (/Logged to \d{4}-\d{2}-\d{2}\.md/i.test(txt)) {
|
|
45
54
|
return true;
|
|
46
55
|
}
|
|
47
56
|
}
|
|
48
57
|
|
|
49
58
|
if (role === "user") {
|
|
50
|
-
|
|
59
|
+
// Removed ^ anchor — plugin context preamble may precede "Read SYMIPULSE.md"
|
|
60
|
+
if (/Read SYMIPULSE\.md/i.test(txt) || /SYMIPULSE_OK/i.test(txt)) {
|
|
51
61
|
return true;
|
|
52
62
|
}
|
|
53
63
|
}
|
|
@@ -5,7 +5,7 @@ import { c as getActivePluginRegistry, v as createInternalHookEvent, x as trigge
|
|
|
5
5
|
import { t as createSubsystemLogger } from "./subsystem-Bs9YvKLa.js";
|
|
6
6
|
import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-H1H1LiSQ.js";
|
|
7
7
|
import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-DQYI3Fr-.js";
|
|
8
|
-
import { B as resolveMirroredTranscriptText, i as isMessagingToolDuplicate, z as appendAssistantMessageToSessionTranscript } from "./pi-embedded-helpers-
|
|
8
|
+
import { B as resolveMirroredTranscriptText, i as isMessagingToolDuplicate, z as appendAssistantMessageToSessionTranscript } from "./pi-embedded-helpers-D-cALDuy.js";
|
|
9
9
|
import { d as getChannelDock } from "./thinking-CdlENGRW.js";
|
|
10
10
|
import { c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph } from "./chunk-BW5f05BR.js";
|
|
11
11
|
import { n as resolveMarkdownTableMode } from "./markdown-tables-iMQQZu4Q.js";
|
|
@@ -5,7 +5,7 @@ import { c as getActivePluginRegistry, v as createInternalHookEvent, y as trigge
|
|
|
5
5
|
import { t as createSubsystemLogger } from "./subsystem-CZixfwU8.js";
|
|
6
6
|
import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-Cn6drXx2.js";
|
|
7
7
|
import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-71oIavrF.js";
|
|
8
|
-
import { B as resolveMirroredTranscriptText, i as isMessagingToolDuplicate, z as appendAssistantMessageToSessionTranscript } from "./pi-embedded-helpers-
|
|
8
|
+
import { B as resolveMirroredTranscriptText, i as isMessagingToolDuplicate, z as appendAssistantMessageToSessionTranscript } from "./pi-embedded-helpers-D3O-Jz_G.js";
|
|
9
9
|
import { d as getChannelDock } from "./thinking-W85Rb32m.js";
|
|
10
10
|
import { c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph } from "./chunk-DTMTDXwE.js";
|
|
11
11
|
import { n as resolveMarkdownTableMode } from "./markdown-tables-DawaaZEe.js";
|
package/dist/extensionAPI.js
CHANGED
|
@@ -7,13 +7,13 @@ import { a as resolveAgentIdentity } from "./reply-prefix-K_J_nfgx.js";
|
|
|
7
7
|
import "./github-copilot-token-BbsJ0Qbo.js";
|
|
8
8
|
import "./env-CQ_DQOwT.js";
|
|
9
9
|
import "./tokens-Cn6drXx2.js";
|
|
10
|
-
import { D as resolveAgentTimeoutMs, t as runEmbeddedPiAgent } from "./pi-embedded-
|
|
10
|
+
import { D as resolveAgentTimeoutMs, t as runEmbeddedPiAgent } from "./pi-embedded-BkhyOzCD.js";
|
|
11
11
|
import "./plugins-71oIavrF.js";
|
|
12
12
|
import "./accounts-DDEyGwby.js";
|
|
13
13
|
import "./bindings-DYVakimr.js";
|
|
14
14
|
import "./send-DoiQ-lVY.js";
|
|
15
15
|
import "./send-C1DE47RQ.js";
|
|
16
|
-
import "./deliver-
|
|
16
|
+
import "./deliver-Dh5uiYS8.js";
|
|
17
17
|
import "./diagnostic-D0xmLpej.js";
|
|
18
18
|
import "./diagnostic-session-state-C1vRJs5w.js";
|
|
19
19
|
import "./accounts-8zZqL37v.js";
|
|
@@ -21,10 +21,10 @@ import "./send-CdxBNofn.js";
|
|
|
21
21
|
import "./image-ops-ByaQt43P.js";
|
|
22
22
|
import "./pi-model-discovery-j5tVLINv.js";
|
|
23
23
|
import "./message-channel-BQINJQIT.js";
|
|
24
|
-
import { G as saveSessionStore, H as loadSessionStore } from "./pi-embedded-helpers-
|
|
24
|
+
import { G as saveSessionStore, H as loadSessionStore } from "./pi-embedded-helpers-D3O-Jz_G.js";
|
|
25
25
|
import "./config-Btm9gODl.js";
|
|
26
26
|
import "./manifest-registry-D-mTF1cj.js";
|
|
27
|
-
import "./chrome-
|
|
27
|
+
import "./chrome-BM8V9EPM.js";
|
|
28
28
|
import "./skills-BNpGMnp-.js";
|
|
29
29
|
import "./redact-1NGYV_8p.js";
|
|
30
30
|
import "./errors-CPfngF0S.js";
|
|
@@ -34,7 +34,7 @@ import "./thinking-W85Rb32m.js";
|
|
|
34
34
|
import "./accounts-DImOt9jX.js";
|
|
35
35
|
import { n as resolveSessionFilePath, s as resolveStorePath } from "./paths-DkMamAQ-.js";
|
|
36
36
|
import "./tool-images-ChC2CXaN.js";
|
|
37
|
-
import "./image-
|
|
37
|
+
import "./image-CjO1LLbc.js";
|
|
38
38
|
import "./manager-jpn5vRTY.js";
|
|
39
39
|
import "./gemini-auth-CSlZZ1Pw.js";
|
|
40
40
|
import "./sqlite-BNh23mUR.js";
|
|
@@ -47,7 +47,7 @@ import "./ir-F0moAwIl.js";
|
|
|
47
47
|
import "./render-B1VqYyvo.js";
|
|
48
48
|
import "./commands-registry-C_aYUwpl.js";
|
|
49
49
|
import "./skill-commands-DklY7Cj7.js";
|
|
50
|
-
import "./runner-
|
|
50
|
+
import "./runner-kv4GI5eX.js";
|
|
51
51
|
import "./fetch-DtLn7YU3.js";
|
|
52
52
|
import "./channel-activity-D9q-fIPB.js";
|
|
53
53
|
import "./tables-COnZ169v.js";
|
|
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
|
2
2
|
import { D as isRecord, I as shortenHomeInString } from "./registry-BhoUuugi.js";
|
|
3
3
|
import { G as resolveSymiAgentDir, S as getApiKeyForModel, Y as normalizeSecretInput, _ as resolveImplicitBedrockProvider, g as normalizeProviders, v as resolveImplicitCopilotProvider, w as requireApiKey, y as resolveImplicitProviders } from "./model-selection-BQCG9ah0.js";
|
|
4
4
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-j5tVLINv.js";
|
|
5
|
-
import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-
|
|
5
|
+
import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-D3O-Jz_G.js";
|
|
6
6
|
import { n as loadConfig } from "./config-Btm9gODl.js";
|
|
7
7
|
import { n as redactToolDetail } from "./redact-1NGYV_8p.js";
|
|
8
8
|
import path from "node:path";
|
|
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
|
2
2
|
import { R as shortenHomeInString, k as isRecord } from "./registry-CK4e9hn8.js";
|
|
3
3
|
import { B as resolveImplicitCopilotProvider, J as normalizeSecretInput, R as normalizeProviders, V as resolveImplicitProviders, r as requireApiKey, t as getApiKeyForModel, y as resolveSymiAgentDir, z as resolveImplicitBedrockProvider } from "./model-auth-DK43VicI.js";
|
|
4
4
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DaNAekda.js";
|
|
5
|
-
import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-
|
|
5
|
+
import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-D-cALDuy.js";
|
|
6
6
|
import { n as loadConfig } from "./config-CT6a99bQ.js";
|
|
7
7
|
import { n as redactToolDetail } from "./redact-jSxx6Ep2.js";
|
|
8
8
|
import fs from "node:fs/promises";
|
|
@@ -4,7 +4,7 @@ import { c as resolveDefaultAgentId, r as resolveAgentDir, s as resolveAgentWork
|
|
|
4
4
|
import "./subsystem-Bs9YvKLa.js";
|
|
5
5
|
import "./workspace-wAaHI8-5.js";
|
|
6
6
|
import "./tokens-H1H1LiSQ.js";
|
|
7
|
-
import { t as runEmbeddedPiAgent } from "./pi-embedded-
|
|
7
|
+
import { t as runEmbeddedPiAgent } from "./pi-embedded-BBROwjX_.js";
|
|
8
8
|
import "./plugins-DQYI3Fr-.js";
|
|
9
9
|
import "./accounts-tNElYrCH.js";
|
|
10
10
|
import "./boolean-B8-BqKGQ.js";
|
|
@@ -12,7 +12,7 @@ import "./command-format-BaxDnULz.js";
|
|
|
12
12
|
import "./bindings-B7Ke6LJi.js";
|
|
13
13
|
import "./send-Z6uznj5j.js";
|
|
14
14
|
import "./send-Dp3_Z9LN.js";
|
|
15
|
-
import "./deliver-
|
|
15
|
+
import "./deliver-Bs6SHLMp.js";
|
|
16
16
|
import "./diagnostic-CI0kRQkt.js";
|
|
17
17
|
import "./diagnostic-session-state-Bxo4UHOL.js";
|
|
18
18
|
import "./accounts-CWktKM8a.js";
|
|
@@ -22,10 +22,10 @@ import "./model-auth-DK43VicI.js";
|
|
|
22
22
|
import "./github-copilot-token-C_qUP7p5.js";
|
|
23
23
|
import "./pi-model-discovery-DaNAekda.js";
|
|
24
24
|
import "./message-channel-Dz5lr5b0.js";
|
|
25
|
-
import "./pi-embedded-helpers-
|
|
25
|
+
import "./pi-embedded-helpers-D-cALDuy.js";
|
|
26
26
|
import "./config-CT6a99bQ.js";
|
|
27
27
|
import "./manifest-registry-D0IQ3WuX.js";
|
|
28
|
-
import "./chrome-
|
|
28
|
+
import "./chrome-Bs9dOXhy.js";
|
|
29
29
|
import "./frontmatter-C_bv_0P8.js";
|
|
30
30
|
import "./skills-BFekKL7i.js";
|
|
31
31
|
import "./redact-jSxx6Ep2.js";
|
|
@@ -36,7 +36,7 @@ import "./thinking-CdlENGRW.js";
|
|
|
36
36
|
import "./accounts-qtxJ-6em.js";
|
|
37
37
|
import "./paths-DLyHUt31.js";
|
|
38
38
|
import "./tool-images-DXB7tqWi.js";
|
|
39
|
-
import "./image-
|
|
39
|
+
import "./image-CkMDI3pp.js";
|
|
40
40
|
import "./reply-prefix-XlyuyChD.js";
|
|
41
41
|
import "./manager-D_LwXbc6.js";
|
|
42
42
|
import "./gemini-auth-CdSPHuLl.js";
|
|
@@ -50,7 +50,7 @@ import "./ir-DccrnjsE.js";
|
|
|
50
50
|
import "./render-CDCvpfhh.js";
|
|
51
51
|
import "./commands-registry-D7CTCQPm.js";
|
|
52
52
|
import "./skill-commands-BJMb_psG.js";
|
|
53
|
-
import "./runner-
|
|
53
|
+
import "./runner-DDAa40wm.js";
|
|
54
54
|
import "./fetch-Bso4i15F.js";
|
|
55
55
|
import "./channel-activity-CsM_hJ_s.js";
|
|
56
56
|
import "./tables-DuZspiBu.js";
|