@symerian/symi 2.5.3 → 2.5.4
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/{accounts-ChTFYj8Q.js → accounts-CWktKM8a.js} +1 -1
- package/dist/{accounts-CJR8j_Kq.js → accounts-qtxJ-6em.js} +1 -1
- package/dist/{accounts-CI6zQTJj.js → accounts-tNElYrCH.js} +14 -14
- package/dist/{active-listener-D6sXIjAg.js → active-listener-C9r8ZB9m.js} +1 -1
- package/dist/{agent-scope-Bw1Ed8W9.js → agent-scope-BxoUQqgM.js} +3 -3
- package/dist/{audio-preflight-CPBOQV4I.js → audio-preflight-C40mKAp7.js} +4 -4
- package/dist/{audio-preflight-BkIfnmpi.js → audio-preflight-D02HwB-I.js} +29 -29
- package/dist/{bindings-BU2hsBd9.js → bindings-B7Ke6LJi.js} +2 -2
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +53 -53
- package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
- package/dist/bundled/command-logger/handler.js +1 -1
- package/dist/bundled/session-memory/handler.js +53 -53
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-activity-C9-gaquj.js → channel-activity-CsM_hJ_s.js} +1 -1
- package/dist/{chrome-D2SKJnR7.js → chrome-CDJYxX5a.js} +7 -7
- package/dist/{chrome-CxSAp8x3.js → chrome-EyvdASWt.js} +13 -13
- package/dist/{chunk-ClbN9Pqy.js → chunk-BW5f05BR.js} +1 -1
- package/dist/{command-format-UKHV-j0K.js → command-format-BaxDnULz.js} +1 -1
- package/dist/{command-registry-DhvgkMQN.js → command-registry-Be3hDEmx.js} +4 -4
- package/dist/{commands-registry-VSmULp-g.js → commands-registry-D7CTCQPm.js} +4 -4
- package/dist/{completion-cli-CqHcRASb.js → completion-cli-C3hbO0zE.js} +2 -2
- package/dist/{completion-cli-DJ2AgNQF.js → completion-cli-DxditxWW.js} +1 -1
- package/dist/{config-eEaJddXj.js → config-DRbjHIwD.js} +12 -12
- package/dist/control-ui/js/app.js +2 -1
- package/dist/{deliver-C-37cZUe.js → deliver-BH0l3UKW.js} +1 -1
- package/dist/{deliver-BA7ZN3iM.js → deliver-D1ZN6-fl.js} +20 -20
- package/dist/{diagnostic-C3nsWaw3.js → diagnostic-CI0kRQkt.js} +1 -1
- package/dist/{doctor-completion-DD-fb-G8.js → doctor-completion-CRgIetEl.js} +1 -1
- package/dist/{doctor-completion-BqOO4r2O.js → doctor-completion-DKL7Fzep.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/extensionAPI.js +6 -6
- package/dist/{frontmatter-DPlG6yha.js → frontmatter-C_bv_0P8.js} +2 -2
- package/dist/{gateway-cli-2R-SuiTy.js → gateway-cli-CEWIFRt0.js} +2 -2
- package/dist/{gateway-cli-BVnEz6em.js → gateway-cli-q04qp27D.js} +2 -2
- package/dist/{gemini-auth-CF48hUR9.js → gemini-auth-CdSPHuLl.js} +1 -1
- package/dist/{github-copilot-token-DJqsJ2-r.js → github-copilot-token-C_qUP7p5.js} +7 -7
- package/dist/{glass-ui-ws-C9w0ySFw.js → glass-ui-ws-0yPnNh0o.js} +30 -12
- package/dist/{glass-ui-ws-CmDHJq0W.js → glass-ui-ws-DtFvFNZp.js} +30 -12
- package/dist/{image-DcpMiprB.js → image-CHzdaNJ4.js} +1 -1
- package/dist/{image-BGmVDkkw.js → image-Cp3JDEBB.js} +4 -4
- package/dist/{image-ops-S8-8dAhx.js → image-ops-CvJzsyvE.js} +1 -1
- package/dist/index.js +1 -1
- package/dist/{ir-CbFUkv_T.js → ir-DccrnjsE.js} +4 -4
- package/dist/llm-slug-generator.js +53 -53
- package/dist/{local-roots-C7OCYACU.js → local-roots-DMwIh5cS.js} +5 -5
- package/dist/{login-B8uiUAnV.js → login-CwCoxapk.js} +7 -7
- package/dist/{login-qr-CIZk8uKX.js → login-qr-Batf3PT5.js} +12 -12
- package/dist/{manager-BoLr3xR_.js → manager-D_LwXbc6.js} +13 -13
- package/dist/{manifest-registry-CneMHk0N.js → manifest-registry-D0IQ3WuX.js} +19 -19
- package/dist/{markdown-tables-DSHvnTLx.js → markdown-tables-iMQQZu4Q.js} +1 -1
- package/dist/{message-channel-DbsRltF2.js → message-channel-Dz5lr5b0.js} +1 -1
- package/dist/{model-auth-CwOuTuXl.js → model-auth-DK43VicI.js} +9 -9
- package/dist/{onboard-BgoNPLnU.js → onboard-FadtPlJX.js} +1 -1
- package/dist/{onboard-CSPuFTdy.js → onboard-Ob6VUhMj.js} +1 -1
- package/dist/{onboarding-Dnmpcyzj.js → onboarding-BL5h6kMP.js} +1 -1
- package/dist/{onboarding-pxBeD60g.js → onboarding-CeLx4VEB.js} +1 -1
- package/dist/{onboarding.finalize-CBTphwf0.js → onboarding.finalize-EOjEh487.js} +4 -4
- package/dist/{onboarding.finalize-jsLRDHxC.js → onboarding.finalize-y1rlw-1v.js} +3 -3
- package/dist/{outbound-opDNxv-l.js → outbound-D4fN_ZlE.js} +7 -7
- package/dist/{outbound-attachment-Co2diKdP.js → outbound-attachment-DjNDa3zn.js} +2 -2
- package/dist/{paths-CySxpNhH.js → paths-Cce4PUkG.js} +5 -5
- package/dist/{paths-Cb87-LzP.js → paths-DLyHUt31.js} +1 -1
- package/dist/{pi-auth-json-DPWPoruO.js → pi-auth-json-0SYBFZTt.js} +8 -8
- package/dist/{pi-embedded-DkqIIBK5.js → pi-embedded-Cuoz1LlF.js} +158 -158
- package/dist/{pi-embedded-BRw7oe5n.js → pi-embedded-D7S6Iuxk.js} +16 -16
- package/dist/{pi-embedded-helpers-DEEaCvEp.js → pi-embedded-helpers-ag2bosuj.js} +52 -52
- package/dist/{pi-embedded-helpers-B8kqLWns.js → pi-embedded-helpers-lgx_U5KS.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-DoQQKlxa.js → audio-preflight-VpItkiy3.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-CDaDQ_94.js → channel-web-CkBYE0D-.js} +22 -22
- package/dist/plugin-sdk/{chrome-C7c_0I5M.js → chrome-B7RdxmJ0.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-DDkdiUOR.js → config-KlTNfkFF.js} +9 -9
- package/dist/plugin-sdk/{deliver-BZ6iNLl7.js → deliver-BZ99UKQq.js} +10 -10
- package/dist/plugin-sdk/{diagnostic-mFf4i4G9.js → diagnostic-05pm5Rxi.js} +1 -1
- package/dist/plugin-sdk/{image-BOYy0Ump.js → image-CLOPx7yW.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-Bh3DZPam.js → login-DQMXuxOk.js} +7 -7
- package/dist/plugin-sdk/{login-qr-DbR7odSr.js → login-qr-BjVZSoCi.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-rF6G8Xpr.js → outbound-B0e8KdaR.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-BveUP4hk.js → pi-embedded-helpers-CW630epe.js} +17 -17
- package/dist/plugin-sdk/{plugins-BbAvhC25.js → plugins-BNByVCIH.js} +4 -4
- package/dist/plugin-sdk/{pw-ai-DjGUsee-.js → pw-ai-CnbPIPY9.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-fI39rPGa.js → replies-LLcQL3w6.js} +3 -3
- package/dist/plugin-sdk/{reply-BgTxNeXD.js → reply-DCiyoHqU.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-BVqnEfNe.js → runner-CGBT7tgF.js} +9 -9
- package/dist/plugin-sdk/{send-BtANzsAo.js → send-B2CEnVLL.js} +6 -6
- package/dist/plugin-sdk/{send-BHbXh8Ly.js → send-C5h_YxNb.js} +7 -7
- package/dist/plugin-sdk/{send-D6LMZJ_h.js → send-CRsR8-vO.js} +10 -10
- package/dist/plugin-sdk/{send-Bxdu6ZZy.js → send-CjOBB3Vo.js} +10 -10
- package/dist/plugin-sdk/{send-BMfJIhCk.js → send-pYqe432l.js} +6 -6
- package/dist/plugin-sdk/{session-kI0tzViQ.js → session-BsOrxiMj.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/{target-errors-DyItGyW9.js → plugin-sdk/target-errors-Paro1BjP.js} +2 -2
- package/dist/plugin-sdk/{thinking-DCNUIAHY.js → thinking-CXqf7WTe.js} +5 -5
- package/dist/{tokens-c_SLAkVb.js → plugin-sdk/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-DMTBKWMU.js +65 -0
- package/dist/plugin-sdk/{whatsapp-actions-CcBzDuL-.js → whatsapp-actions-DfseosPO.js} +21 -21
- package/dist/{plugins-C4C9637U.js → plugins-DQYI3Fr-.js} +9 -9
- package/dist/{program-BDQRtHXP.js → program-Dh_NkeL_.js} +2 -2
- package/dist/{program-context-DoK7rKBC.js → program-context-C6OueMej.js} +6 -6
- package/dist/{prompt-select-styled-MqSvQaDb.js → prompt-select-styled-B_XU_pph.js} +1 -1
- package/dist/{prompt-select-styled-B3dTk26Y.js → prompt-select-styled-CmbX-Peb.js} +1 -1
- package/dist/{pw-ai-DhwRiS06.js → pw-ai-Ch7liUOW.js} +11 -11
- package/dist/{pw-ai-1htA-NnS.js → pw-ai-De-KR9_s.js} +1 -1
- package/dist/{qmd-manager-DdZh9PHs.js → qmd-manager-QHUP-_em.js} +7 -7
- package/dist/{register.maintenance-B3SsgHO_.js → register.maintenance-CzdnuWVy.js} +5 -5
- package/dist/{register.maintenance-BQy8hEp0.js → register.maintenance-aLrIiGjI.js} +4 -4
- package/dist/{register.onboard-Cg1itYBF.js → register.onboard-B_0R2fhe.js} +2 -2
- package/dist/{register.onboard-kaKkBUpb.js → register.onboard-DY6yrdh6.js} +2 -2
- package/dist/{register.setup-BBQtCyWL.js → register.setup-BMEEidVS.js} +2 -2
- package/dist/{register.setup-BiBByjTo.js → register.setup-DUBzMFHd.js} +2 -2
- package/dist/{register.subclis-B27L2Tlh.js → register.subclis-CWosGlSy.js} +3 -3
- package/dist/{registry-DP24za6g.js → registry-CK4e9hn8.js} +17 -17
- package/dist/{replies-DpPvWiGF.js → replies-BIX_isV7.js} +3 -3
- package/dist/{reply-prefix-CtL0omgM.js → reply-prefix-XlyuyChD.js} +1 -1
- package/dist/{resolve-route-BVikmvWO.js → resolve-route-CZ-1eqw0.js} +4 -4
- package/dist/{retry-dGG-MbxL.js → retry-Cly39XZB.js} +1 -1
- package/dist/{run-main-DqlK3Wy-.js → run-main-ChZAqQNU.js} +3 -3
- package/dist/{runner-B_KP4voe.js → runner-D0QUGA_X.js} +9 -9
- package/dist/{runner-BcQ0sF9T.js → runner-DUBExAb5.js} +1 -1
- package/dist/{send-DeEosX8F.js → send-B1u-LrcS.js} +18 -18
- package/dist/{send-DwKJK3sM.js → send-CiTGOvEc.js} +10 -10
- package/dist/{send-zSarozV2.js → send-DW96zgDL.js} +6 -6
- package/dist/{send-CHEOWVc8.js → send-DeFniOjh.js} +6 -6
- package/dist/{send-DbcLJb0P.js → send-WyRqb4WD.js} +7 -7
- package/dist/{session-DV1MNlbV.js → session-SM36BTsl.js} +8 -8
- package/dist/{skill-commands-D610IKhm.js → skill-commands-BJMb_psG.js} +9 -9
- package/dist/{skills-o5WVqM4V.js → skills-BFekKL7i.js} +21 -21
- package/dist/{sqlite-6H6Zw1cs.js → sqlite-DRbx2dhW.js} +4 -4
- package/dist/{store-vVE6N2mH.js → store-C0wvOkae.js} +2 -2
- package/dist/{subsystem-DgpxyDQ_.js → subsystem-Bs9YvKLa.js} +1 -1
- package/dist/{tables-BIWsCKXJ.js → tables-DuZspiBu.js} +1 -1
- package/dist/{plugin-sdk/target-errors-B7YyMnIi.js → target-errors-Be1SwYlW.js} +2 -2
- package/dist/{thinking-Ni0HF-w6.js → thinking-CdlENGRW.js} +5 -5
- package/dist/{plugin-sdk/tokens-CWMflosr.js → tokens-H1H1LiSQ.js} +1 -1
- package/dist/{tool-images-DBCfXdli.js → tool-images-DXB7tqWi.js} +2 -2
- package/dist/{tool-loop-detection-Bbc9OPFR.js → tool-loop-detection-Cs8_HCsx.js} +3 -3
- package/dist/{update-cli-4mLsTTm5.js → update-cli-B8TIn1_v.js} +4 -4
- package/dist/{update-cli-yJuLaKdL.js → update-cli-_VRN7Kfv.js} +5 -5
- package/dist/{web-Nrl97JcY.js → web-DEbB7-Xr.js} +57 -57
- package/dist/{web-DrsjOzkW.js → web-ysMm0Pnv.js} +6 -6
- package/dist/{whatsapp-actions-oRQjcdQe.js → whatsapp-actions-D1RsnX7P.js} +23 -23
- package/dist/{workspace-CbvamIU6.js → workspace-wAaHI8-5.js} +6 -6
- package/package.json +1 -1
- package/dist/plugin-sdk/web-B6NRKGGa.js +0 -65
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { S as CONFIG_DIR } from "./registry-
|
|
2
|
-
import { t as createSubsystemLogger } from "./subsystem-
|
|
3
|
-
import { n as loadConfig } from "./config-
|
|
1
|
+
import { S as CONFIG_DIR } from "./registry-CK4e9hn8.js";
|
|
2
|
+
import { t as createSubsystemLogger } from "./subsystem-Bs9YvKLa.js";
|
|
3
|
+
import { n as loadConfig } from "./config-DRbjHIwD.js";
|
|
4
4
|
import { i as isErrno } from "./errors-BoQgnc8X.js";
|
|
5
5
|
import { a as resolvePinnedHostnameWithPolicy } from "./ssrf-BTMDZjHT.js";
|
|
6
6
|
import fs from "node:fs/promises";
|
|
7
7
|
import os from "node:os";
|
|
8
8
|
import path from "node:path";
|
|
9
|
-
import
|
|
9
|
+
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";
|
|
@@ -1007,7 +1007,7 @@ const CHROMIUM_EXE_NAMES = new Set([
|
|
|
1007
1007
|
]);
|
|
1008
1008
|
function exists$1(filePath) {
|
|
1009
1009
|
try {
|
|
1010
|
-
return
|
|
1010
|
+
return fs$1.existsSync(filePath);
|
|
1011
1011
|
} catch {
|
|
1012
1012
|
return false;
|
|
1013
1013
|
}
|
|
@@ -1150,7 +1150,7 @@ function findDesktopFilePath(desktopId) {
|
|
|
1150
1150
|
}
|
|
1151
1151
|
function readDesktopExecLine(desktopPath) {
|
|
1152
1152
|
try {
|
|
1153
|
-
const lines =
|
|
1153
|
+
const lines = fs$1.readFileSync(desktopPath, "utf8").split(/\r?\n/);
|
|
1154
1154
|
for (const line of lines) if (line.startsWith("Exec=")) return line.slice(5).trim();
|
|
1155
1155
|
} catch {}
|
|
1156
1156
|
return null;
|
|
@@ -1437,8 +1437,8 @@ function decoratedMarkerPath(userDataDir) {
|
|
|
1437
1437
|
}
|
|
1438
1438
|
function safeReadJson(filePath) {
|
|
1439
1439
|
try {
|
|
1440
|
-
if (!
|
|
1441
|
-
const raw =
|
|
1440
|
+
if (!fs$1.existsSync(filePath)) return null;
|
|
1441
|
+
const raw = fs$1.readFileSync(filePath, "utf-8");
|
|
1442
1442
|
const parsed = JSON.parse(raw);
|
|
1443
1443
|
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) return null;
|
|
1444
1444
|
return parsed;
|
|
@@ -1447,8 +1447,8 @@ function safeReadJson(filePath) {
|
|
|
1447
1447
|
}
|
|
1448
1448
|
}
|
|
1449
1449
|
function safeWriteJson(filePath, data) {
|
|
1450
|
-
|
|
1451
|
-
|
|
1450
|
+
fs$1.mkdirSync(path.dirname(filePath), { recursive: true });
|
|
1451
|
+
fs$1.writeFileSync(filePath, JSON.stringify(data, null, 2));
|
|
1452
1452
|
}
|
|
1453
1453
|
function setDeep(obj, keys, value) {
|
|
1454
1454
|
let node = obj;
|
|
@@ -1575,7 +1575,7 @@ function decorateSymiProfile(userDataDir, opts) {
|
|
|
1575
1575
|
}
|
|
1576
1576
|
safeWriteJson(preferencesPath, prefs);
|
|
1577
1577
|
try {
|
|
1578
|
-
|
|
1578
|
+
fs$1.writeFileSync(decoratedMarkerPath(userDataDir), `${Date.now()}\n`, "utf-8");
|
|
1579
1579
|
} catch {}
|
|
1580
1580
|
}
|
|
1581
1581
|
function ensureProfileCleanExit(userDataDir) {
|
|
@@ -1591,7 +1591,7 @@ function ensureProfileCleanExit(userDataDir) {
|
|
|
1591
1591
|
const log = createSubsystemLogger("browser").child("chrome");
|
|
1592
1592
|
function exists(filePath) {
|
|
1593
1593
|
try {
|
|
1594
|
-
return
|
|
1594
|
+
return fs$1.existsSync(filePath);
|
|
1595
1595
|
} catch {
|
|
1596
1596
|
return false;
|
|
1597
1597
|
}
|
|
@@ -1671,7 +1671,7 @@ async function launchSymiChrome(resolved, profile) {
|
|
|
1671
1671
|
const exe = resolveBrowserExecutable(resolved);
|
|
1672
1672
|
if (!exe) throw new Error("No supported browser found (Chrome/Brave/Edge/Chromium on macOS, Linux, or Windows).");
|
|
1673
1673
|
const userDataDir = resolveSymiUserDataDir(profile.name);
|
|
1674
|
-
|
|
1674
|
+
fs$1.mkdirSync(userDataDir, { recursive: true });
|
|
1675
1675
|
const needsDecorate = !isProfileDecorated(userDataDir, profile.name, (profile.color ?? DEFAULT_SYMI_BROWSER_COLOR).toUpperCase());
|
|
1676
1676
|
const spawnOnce = () => {
|
|
1677
1677
|
const args = [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { p as normalizeAccountId } from "./session-key-BCzIW1Y2.js";
|
|
3
|
-
import { t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-
|
|
3
|
+
import { t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-Dz5lr5b0.js";
|
|
4
4
|
|
|
5
5
|
//#region src/markdown/fences.ts
|
|
6
6
|
function parseFenceSpans(buffer) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { an as getPrimaryCommand, cn as hasHelpOrVersion } from "./entry.js";
|
|
3
|
-
import { i as registerSubCliCommands, o as reparseProgramFromActionArgs } from "./register.subclis-
|
|
3
|
+
import { i as registerSubCliCommands, o as reparseProgramFromActionArgs } from "./register.subclis-CWosGlSy.js";
|
|
4
4
|
|
|
5
5
|
//#region src/cli/program/command-registry.ts
|
|
6
6
|
var command_registry_exports = /* @__PURE__ */ __exportAll({
|
|
@@ -22,7 +22,7 @@ const coreEntries = [
|
|
|
22
22
|
hasSubcommands: false
|
|
23
23
|
}],
|
|
24
24
|
register: async ({ program }) => {
|
|
25
|
-
(await import("./register.setup-
|
|
25
|
+
(await import("./register.setup-BMEEidVS.js")).registerSetupCommand(program);
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
{
|
|
@@ -32,7 +32,7 @@ const coreEntries = [
|
|
|
32
32
|
hasSubcommands: false
|
|
33
33
|
}],
|
|
34
34
|
register: async ({ program }) => {
|
|
35
|
-
(await import("./register.onboard-
|
|
35
|
+
(await import("./register.onboard-B_0R2fhe.js")).registerOnboardCommand(program);
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
{
|
|
@@ -79,7 +79,7 @@ const coreEntries = [
|
|
|
79
79
|
}
|
|
80
80
|
],
|
|
81
81
|
register: async ({ program }) => {
|
|
82
|
-
(await import("./register.maintenance-
|
|
82
|
+
(await import("./register.maintenance-CzdnuWVy.js")).registerMaintenanceCommands(program);
|
|
83
83
|
}
|
|
84
84
|
},
|
|
85
85
|
{
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { D as escapeRegExp, W as isPlainObject, c as getActivePluginRegistry } from "./registry-
|
|
3
|
-
import { r as normalizeChannelId } from "./plugins-
|
|
4
|
-
import { G as DEFAULT_MODEL, K as DEFAULT_PROVIDER, M as resolveConfiguredModelRef } from "./model-auth-
|
|
5
|
-
import { f as listChannelDocks, r as listThinkingLevels } from "./thinking-
|
|
2
|
+
import { D as escapeRegExp, W as isPlainObject, c as getActivePluginRegistry } from "./registry-CK4e9hn8.js";
|
|
3
|
+
import { r as normalizeChannelId } from "./plugins-DQYI3Fr-.js";
|
|
4
|
+
import { G as DEFAULT_MODEL, K as DEFAULT_PROVIDER, M as resolveConfiguredModelRef } from "./model-auth-DK43VicI.js";
|
|
5
|
+
import { f as listChannelDocks, r as listThinkingLevels } from "./thinking-CdlENGRW.js";
|
|
6
6
|
|
|
7
7
|
//#region src/config/commands.ts
|
|
8
8
|
function resolveAutoDefault(providerId) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { Yt as resolveStateDir, l as routeLogsToStderr, nt as pathExists } from "./entry.js";
|
|
3
|
-
import { n as getSubCliEntries, r as registerSubCliByName } from "./register.subclis-
|
|
4
|
-
import { i as registerCoreCliByName, n as getCoreCliCommandNames } from "./command-registry-
|
|
3
|
+
import { n as getSubCliEntries, r as registerSubCliByName } from "./register.subclis-CWosGlSy.js";
|
|
4
|
+
import { i as registerCoreCliByName, n as getCoreCliCommandNames } from "./command-registry-Be3hDEmx.js";
|
|
5
5
|
import { t as getProgramContext } from "./program-context-CqzR_m-7.js";
|
|
6
6
|
import os from "node:os";
|
|
7
7
|
import path from "node:path";
|
|
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
|
2
2
|
import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
|
|
3
3
|
import { h as pathExists } from "./utils-B-0b9bGM.js";
|
|
4
4
|
import { i as routeLogsToStderr } from "./subsystem-D9vIQve0.js";
|
|
5
|
-
import { a as registerCoreCliByName, c as getSubCliEntries, l as registerSubCliByName, r as getCoreCliCommandNames, t as getProgramContext } from "./program-context-
|
|
5
|
+
import { a as registerCoreCliByName, c as getSubCliEntries, l as registerSubCliByName, r as getCoreCliCommandNames, t as getProgramContext } from "./program-context-C6OueMej.js";
|
|
6
6
|
import os from "node:os";
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
import fs from "node:fs/promises";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { n as resolveConfigPath, r as resolveDefaultConfigCandidates, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-
|
|
1
|
+
import { n as resolveConfigPath, r as resolveDefaultConfigCandidates, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-Cce4PUkG.js";
|
|
2
2
|
import { s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-BCzIW1Y2.js";
|
|
3
|
-
import { I as resolveUserPath, P as resolveConfigDir, W as isPlainObject$1, k as isRecord, s as normalizeChatChannelId, t as CHANNEL_IDS } from "./registry-
|
|
4
|
-
import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-
|
|
5
|
-
import { $ as shouldEnableShellEnvFallback, Q as shouldDeferShellEnvFallback, W as DEFAULT_CONTEXT_TOKENS, X as loadShellEnvFallback, Z as resolveShellEnvFallbackTimeoutMs, j as parseModelRef } from "./model-auth-
|
|
6
|
-
import { c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, f as normalizeEnvVarKey, l as isPathInside, o as normalizePluginsConfig, s as resolveEnableState, t as loadPluginManifestRegistry } from "./manifest-registry-
|
|
3
|
+
import { I as resolveUserPath, P as resolveConfigDir, W as isPlainObject$1, k as isRecord, s as normalizeChatChannelId, t as CHANNEL_IDS } from "./registry-CK4e9hn8.js";
|
|
4
|
+
import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-BxoUQqgM.js";
|
|
5
|
+
import { $ as shouldEnableShellEnvFallback, Q as shouldDeferShellEnvFallback, W as DEFAULT_CONTEXT_TOKENS, X as loadShellEnvFallback, Z as resolveShellEnvFallbackTimeoutMs, j as parseModelRef } from "./model-auth-DK43VicI.js";
|
|
6
|
+
import { c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, f as normalizeEnvVarKey, l as isPathInside, o as normalizePluginsConfig, s as resolveEnableState, t as loadPluginManifestRegistry } from "./manifest-registry-D0IQ3WuX.js";
|
|
7
7
|
import { createRequire } from "node:module";
|
|
8
8
|
import os from "node:os";
|
|
9
9
|
import path from "node:path";
|
|
10
|
-
import
|
|
10
|
+
import fs from "node:fs";
|
|
11
11
|
import JSON5 from "json5";
|
|
12
12
|
import { isDeepStrictEqual } from "node:util";
|
|
13
13
|
import crypto from "node:crypto";
|
|
@@ -20,7 +20,7 @@ function loadDotEnv(opts) {
|
|
|
20
20
|
const quiet = opts?.quiet ?? true;
|
|
21
21
|
dotenv.config({ quiet });
|
|
22
22
|
const globalEnvPath = path.join(resolveConfigDir(process.env), ".env");
|
|
23
|
-
if (!
|
|
23
|
+
if (!fs.existsSync(globalEnvPath)) return;
|
|
24
24
|
dotenv.config({
|
|
25
25
|
quiet,
|
|
26
26
|
path: globalEnvPath,
|
|
@@ -156,7 +156,7 @@ function resolveAgentMaxConcurrent(cfg) {
|
|
|
156
156
|
//#endregion
|
|
157
157
|
//#region src/config/talk.ts
|
|
158
158
|
function readTalkApiKeyFromProfile(deps = {}) {
|
|
159
|
-
const fsImpl = deps.fs ??
|
|
159
|
+
const fsImpl = deps.fs ?? fs;
|
|
160
160
|
const osImpl = deps.os ?? os;
|
|
161
161
|
const pathImpl = deps.path ?? path;
|
|
162
162
|
const home = osImpl.homedir();
|
|
@@ -849,7 +849,7 @@ var IncludeProcessor = class IncludeProcessor {
|
|
|
849
849
|
const normalized = path.normalize(resolved);
|
|
850
850
|
if (!isPathInside(this.rootDir, normalized)) throw new ConfigIncludeError(`Include path escapes config directory: ${includePath} (root: ${this.rootDir})`, includePath);
|
|
851
851
|
try {
|
|
852
|
-
const real =
|
|
852
|
+
const real = fs.realpathSync(normalized);
|
|
853
853
|
if (!isPathInside(this.rootRealDir, real)) throw new ConfigIncludeError(`Include path resolves outside config directory (symlink): ${includePath} (root: ${this.rootDir})`, includePath);
|
|
854
854
|
} catch (err) {
|
|
855
855
|
if (err instanceof ConfigIncludeError) throw err;
|
|
@@ -885,13 +885,13 @@ var IncludeProcessor = class IncludeProcessor {
|
|
|
885
885
|
};
|
|
886
886
|
function safeRealpath(target) {
|
|
887
887
|
try {
|
|
888
|
-
return
|
|
888
|
+
return fs.realpathSync(target);
|
|
889
889
|
} catch {
|
|
890
890
|
return target;
|
|
891
891
|
}
|
|
892
892
|
}
|
|
893
893
|
const defaultResolver = {
|
|
894
|
-
readFile: (p) =>
|
|
894
|
+
readFile: (p) => fs.readFileSync(p, "utf-8"),
|
|
895
895
|
parseJson: (raw) => JSON5.parse(raw)
|
|
896
896
|
};
|
|
897
897
|
/**
|
|
@@ -5583,7 +5583,7 @@ function resolveConfigPathForDeps(deps) {
|
|
|
5583
5583
|
}
|
|
5584
5584
|
function normalizeDeps(overrides = {}) {
|
|
5585
5585
|
return {
|
|
5586
|
-
fs: overrides.fs ??
|
|
5586
|
+
fs: overrides.fs ?? fs,
|
|
5587
5587
|
json5: overrides.json5 ?? JSON5,
|
|
5588
5588
|
env: overrides.env ?? process.env,
|
|
5589
5589
|
homedir: overrides.homedir ?? (() => resolveRequiredHomeDir(overrides.env ?? process.env, os.homedir)),
|
|
@@ -31,7 +31,8 @@ let WATCHDOG_MS = 300000; // 300 seconds of silence → failure (profile-overrid
|
|
|
31
31
|
|
|
32
32
|
// ── Model profile state (updated via "profile" gateway event) ────
|
|
33
33
|
let activeProfile = null;
|
|
34
|
-
|
|
34
|
+
// NOTE: Client-side dedup removed — server-side per-client seq tracking in
|
|
35
|
+
// glass-ui-ws.ts prevents duplicate broadcasts. See Phase 5 of v3 plan.
|
|
35
36
|
|
|
36
37
|
// ── Utility ───────────────────────────────────────────────────────
|
|
37
38
|
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
@@ -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-lgx_U5KS.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";
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { s as resolveStateDir } from "./paths-
|
|
2
|
+
import { s as resolveStateDir } from "./paths-Cce4PUkG.js";
|
|
3
3
|
import { m as normalizeOptionalAccountId, p as normalizeAccountId } from "./session-key-BCzIW1Y2.js";
|
|
4
|
-
import { c as getActivePluginRegistry, v as createInternalHookEvent, x as triggerInternalHook } from "./registry-
|
|
5
|
-
import { t as createSubsystemLogger } from "./subsystem-
|
|
6
|
-
import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-
|
|
7
|
-
import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-
|
|
8
|
-
import { B as resolveMirroredTranscriptText, i as isMessagingToolDuplicate, z as appendAssistantMessageToSessionTranscript } from "./pi-embedded-helpers-
|
|
9
|
-
import { d as getChannelDock } from "./thinking-
|
|
10
|
-
import { c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph } from "./chunk-
|
|
11
|
-
import { n as resolveMarkdownTableMode } from "./markdown-tables-
|
|
12
|
-
import { t as getAgentScopedMediaLocalRoots } from "./local-roots-
|
|
13
|
-
import { l as markdownToSignalTextChunks, t as sendMessageSignal } from "./send-
|
|
4
|
+
import { c as getActivePluginRegistry, v as createInternalHookEvent, x as triggerInternalHook } from "./registry-CK4e9hn8.js";
|
|
5
|
+
import { t as createSubsystemLogger } from "./subsystem-Bs9YvKLa.js";
|
|
6
|
+
import { a as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-H1H1LiSQ.js";
|
|
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-ag2bosuj.js";
|
|
9
|
+
import { d as getChannelDock } from "./thinking-CdlENGRW.js";
|
|
10
|
+
import { c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph } from "./chunk-BW5f05BR.js";
|
|
11
|
+
import { n as resolveMarkdownTableMode } from "./markdown-tables-iMQQZu4Q.js";
|
|
12
|
+
import { t as getAgentScopedMediaLocalRoots } from "./local-roots-DMwIh5cS.js";
|
|
13
|
+
import { l as markdownToSignalTextChunks, t as sendMessageSignal } from "./send-DW96zgDL.js";
|
|
14
14
|
import path from "node:path";
|
|
15
|
-
import
|
|
15
|
+
import fs from "node:fs";
|
|
16
16
|
import crypto from "node:crypto";
|
|
17
17
|
|
|
18
18
|
//#region src/plugins/hooks.ts
|
|
@@ -721,11 +721,11 @@ function resolveFailedDir(stateDir) {
|
|
|
721
721
|
/** Ensure the queue directory (and failed/ subdirectory) exist. */
|
|
722
722
|
async function ensureQueueDir(stateDir) {
|
|
723
723
|
const queueDir = resolveQueueDir(stateDir);
|
|
724
|
-
await
|
|
724
|
+
await fs.promises.mkdir(queueDir, {
|
|
725
725
|
recursive: true,
|
|
726
726
|
mode: 448
|
|
727
727
|
});
|
|
728
|
-
await
|
|
728
|
+
await fs.promises.mkdir(resolveFailedDir(stateDir), {
|
|
729
729
|
recursive: true,
|
|
730
730
|
mode: 448
|
|
731
731
|
});
|
|
@@ -752,18 +752,18 @@ async function enqueueDelivery(params, stateDir) {
|
|
|
752
752
|
const filePath = path.join(queueDir, `${id}.json`);
|
|
753
753
|
const tmp = `${filePath}.${process.pid}.tmp`;
|
|
754
754
|
const json = JSON.stringify(entry, null, 2);
|
|
755
|
-
await
|
|
755
|
+
await fs.promises.writeFile(tmp, json, {
|
|
756
756
|
encoding: "utf-8",
|
|
757
757
|
mode: 384
|
|
758
758
|
});
|
|
759
|
-
await
|
|
759
|
+
await fs.promises.rename(tmp, filePath);
|
|
760
760
|
return id;
|
|
761
761
|
}
|
|
762
762
|
/** Remove a successfully delivered entry from the queue. */
|
|
763
763
|
async function ackDelivery(id, stateDir) {
|
|
764
764
|
const filePath = path.join(resolveQueueDir(stateDir), `${id}.json`);
|
|
765
765
|
try {
|
|
766
|
-
await
|
|
766
|
+
await fs.promises.unlink(filePath);
|
|
767
767
|
} catch (err) {
|
|
768
768
|
if ((err && typeof err === "object" && "code" in err ? String(err.code) : null) !== "ENOENT") throw err;
|
|
769
769
|
}
|
|
@@ -771,16 +771,16 @@ async function ackDelivery(id, stateDir) {
|
|
|
771
771
|
/** Update a queue entry after a failed delivery attempt. */
|
|
772
772
|
async function failDelivery(id, error, stateDir) {
|
|
773
773
|
const filePath = path.join(resolveQueueDir(stateDir), `${id}.json`);
|
|
774
|
-
const raw = await
|
|
774
|
+
const raw = await fs.promises.readFile(filePath, "utf-8");
|
|
775
775
|
const entry = JSON.parse(raw);
|
|
776
776
|
entry.retryCount += 1;
|
|
777
777
|
entry.lastError = error;
|
|
778
778
|
const tmp = `${filePath}.${process.pid}.tmp`;
|
|
779
|
-
await
|
|
779
|
+
await fs.promises.writeFile(tmp, JSON.stringify(entry, null, 2), {
|
|
780
780
|
encoding: "utf-8",
|
|
781
781
|
mode: 384
|
|
782
782
|
});
|
|
783
|
-
await
|
|
783
|
+
await fs.promises.rename(tmp, filePath);
|
|
784
784
|
}
|
|
785
785
|
|
|
786
786
|
//#endregion
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { t as createSubsystemLogger } from "./subsystem-
|
|
2
|
+
import { t as createSubsystemLogger } from "./subsystem-Bs9YvKLa.js";
|
|
3
3
|
import { i as pruneDiagnosticSessionStates, r as getDiagnosticSessionState, t as diagnosticSessionStates } from "./diagnostic-session-state-Bxo4UHOL.js";
|
|
4
4
|
|
|
5
5
|
//#region src/infra/diagnostic-events.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { r as resolveCliName } from "./command-format-BtYOfWxC.js";
|
|
2
2
|
import { t as resolveSymiPackageRoot } from "./symi-root-BNuQ4lAT.js";
|
|
3
3
|
import { t as note } from "./note-DDecZomM.js";
|
|
4
|
-
import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-
|
|
4
|
+
import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-C3hbO0zE.js";
|
|
5
5
|
import { spawnSync } from "node:child_process";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
|
|
2
2
|
import { r as resolveCliName } from "./command-format-COaS-S7B.js";
|
|
3
3
|
import { t as note } from "./note-DeHoW7xO.js";
|
|
4
|
-
import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-
|
|
4
|
+
import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-DxditxWW.js";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import { spawnSync } from "node:child_process";
|
|
7
7
|
|
package/dist/entry.js
CHANGED
|
@@ -2500,7 +2500,7 @@ if (!ensureExperimentalWarningSuppressed()) {
|
|
|
2500
2500
|
applyCliProfileEnv({ profile: parsed.profile });
|
|
2501
2501
|
process$1.argv = parsed.argv;
|
|
2502
2502
|
}
|
|
2503
|
-
import("./run-main-
|
|
2503
|
+
import("./run-main-ChZAqQNU.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
|
|
2504
2504
|
console.error("[symi] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
|
|
2505
2505
|
process$1.exitCode = 1;
|
|
2506
2506
|
});
|
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, r as runEmbeddedPiAgent } from "./pi-embedded-
|
|
10
|
+
import { D as resolveAgentTimeoutMs, r as runEmbeddedPiAgent } from "./pi-embedded-D7S6Iuxk.js";
|
|
11
11
|
import "./plugins-71oIavrF.js";
|
|
12
12
|
import "./accounts-DDEyGwby.js";
|
|
13
13
|
import "./bindings-DYVakimr.js";
|
|
14
14
|
import "./send-D-hWrHoH.js";
|
|
15
15
|
import "./send-C1IYd3g7.js";
|
|
16
|
-
import "./deliver-
|
|
16
|
+
import "./deliver-BH0l3UKW.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-C4Ucr8ep.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-lgx_U5KS.js";
|
|
25
25
|
import "./config-BmV60pPT.js";
|
|
26
26
|
import "./manifest-registry-D-mTF1cj.js";
|
|
27
|
-
import "./chrome-
|
|
27
|
+
import "./chrome-CDJYxX5a.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-CHzdaNJ4.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-DUBExAb5.js";
|
|
51
51
|
import "./fetch-DtLn7YU3.js";
|
|
52
52
|
import "./channel-activity-D9q-fIPB.js";
|
|
53
53
|
import "./tables-COnZ169v.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as parseBooleanValue } from "./boolean-B8-BqKGQ.js";
|
|
2
2
|
import { n as MANIFEST_KEY, t as LEGACY_MANIFEST_KEYS } from "./legacy-names-BHV4AoFT.js";
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import
|
|
4
|
+
import fs from "node:fs";
|
|
5
5
|
import JSON5 from "json5";
|
|
6
6
|
import YAML from "yaml";
|
|
7
7
|
|
|
@@ -79,7 +79,7 @@ function hasBinary(bin) {
|
|
|
79
79
|
for (const part of parts) for (const ext of extensions) {
|
|
80
80
|
const candidate = path.join(part, bin + ext);
|
|
81
81
|
try {
|
|
82
|
-
|
|
82
|
+
fs.accessSync(candidate, fs.constants.X_OK);
|
|
83
83
|
hasBinaryCache.set(bin, true);
|
|
84
84
|
return true;
|
|
85
85
|
} catch {}
|
|
@@ -134,7 +134,7 @@ import { i as pickGatewaySelfPresence } from "./status-Csa1fdSW.js";
|
|
|
134
134
|
import { a as styleHealthChannelLine, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-CGJe8xON.js";
|
|
135
135
|
import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-BseSWee1.js";
|
|
136
136
|
import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-ZdimP1aU.js";
|
|
137
|
-
import { t as runOnboardingWizard } from "./onboarding-
|
|
137
|
+
import { t as runOnboardingWizard } from "./onboarding-BL5h6kMP.js";
|
|
138
138
|
import { _ as getHandshakeTimeoutMs, a as DEFAULT_ASSISTANT_IDENTITY, b as resolveCronRunLogPath, c as upsertPresence, d as DEDUPE_MAX, f as DEDUPE_TTL_MS, g as TICK_INTERVAL_MS, h as MAX_PAYLOAD_BYTES, i as safeParseJson, l as formatError, m as MAX_BUFFERED_BYTES, n as handleGatewayRequest, o as resolveAssistantIdentity, p as HEALTH_REFRESH_INTERVAL_MS, r as broadcastPresenceSnapshot, s as listSystemPresence, t as coreGatewayHandlers, u as loadVoiceWakeConfig, v as abortChatRunById, x as startGatewayConfigReloader, y as appendCronRunLog } from "./server-methods-CGVoOkf3.js";
|
|
139
139
|
import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-BBaXO4aV.js";
|
|
140
140
|
import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-CzWeiE-Y.js";
|
|
@@ -11695,7 +11695,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
|
|
|
11695
11695
|
});
|
|
11696
11696
|
let glassUiBridgeCleanup = null;
|
|
11697
11697
|
if (!minimalTestGateway) {
|
|
11698
|
-
const { createGlassUiBridge } = await import("./glass-ui-ws-
|
|
11698
|
+
const { createGlassUiBridge } = await import("./glass-ui-ws-DtFvFNZp.js");
|
|
11699
11699
|
glassUiBridgeCleanup = createGlassUiBridge({
|
|
11700
11700
|
wss: glassUiWss,
|
|
11701
11701
|
context: gatewayRequestContext,
|
|
@@ -139,7 +139,7 @@ import { r as pickGatewaySelfPresence } from "./status-Dd3-6fq5.js";
|
|
|
139
139
|
import { c as startHeartbeatRunner, i as styleHealthChannelLine, n as getHealthSnapshot, o as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-R_6vQfbY.js";
|
|
140
140
|
import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Z947tKLt.js";
|
|
141
141
|
import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, m as normalizeUpdateChannel, n as compareSemverStrings, t as checkUpdateStatus } from "./update-check-CtckACbb.js";
|
|
142
|
-
import { t as runOnboardingWizard } from "./onboarding-
|
|
142
|
+
import { t as runOnboardingWizard } from "./onboarding-CeLx4VEB.js";
|
|
143
143
|
import { _ as getHandshakeTimeoutMs, a as DEFAULT_ASSISTANT_IDENTITY, b as resolveCronRunLogPath, c as upsertPresence, d as DEDUPE_MAX, f as DEDUPE_TTL_MS, g as TICK_INTERVAL_MS, h as MAX_PAYLOAD_BYTES, i as safeParseJson, l as formatError, m as MAX_BUFFERED_BYTES, n as handleGatewayRequest, o as resolveAssistantIdentity, p as HEALTH_REFRESH_INTERVAL_MS, r as broadcastPresenceSnapshot, s as listSystemPresence, t as coreGatewayHandlers, u as loadVoiceWakeConfig, v as abortChatRunById, x as startGatewayConfigReloader, y as appendCronRunLog } from "./server-methods-B9ZPWP0q.js";
|
|
144
144
|
import { d as shouldLogWs, f as summarizeAgentEventForWsLog, l as formatForLog, p as setGatewayWsLogStyle, u as logWs } from "./push-apns-CgmHr336.js";
|
|
145
145
|
import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-Bv0M7ka7.js";
|
|
@@ -11699,7 +11699,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
|
|
|
11699
11699
|
});
|
|
11700
11700
|
let glassUiBridgeCleanup = null;
|
|
11701
11701
|
if (!minimalTestGateway) {
|
|
11702
|
-
const { createGlassUiBridge } = await import("./glass-ui-ws-
|
|
11702
|
+
const { createGlassUiBridge } = await import("./glass-ui-ws-0yPnNh0o.js");
|
|
11703
11703
|
glassUiBridgeCleanup = createGlassUiBridge({
|
|
11704
11704
|
wss: glassUiWss,
|
|
11705
11705
|
context: gatewayRequestContext,
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { s as resolveStateDir } from "./paths-
|
|
2
|
+
import { s as resolveStateDir } from "./paths-Cce4PUkG.js";
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import
|
|
4
|
+
import fs from "node:fs";
|
|
5
5
|
|
|
6
6
|
//#region src/infra/json-file.ts
|
|
7
7
|
function loadJsonFile(pathname) {
|
|
8
8
|
try {
|
|
9
|
-
if (!
|
|
10
|
-
const raw =
|
|
9
|
+
if (!fs.existsSync(pathname)) return;
|
|
10
|
+
const raw = fs.readFileSync(pathname, "utf8");
|
|
11
11
|
return JSON.parse(raw);
|
|
12
12
|
} catch {
|
|
13
13
|
return;
|
|
@@ -15,12 +15,12 @@ function loadJsonFile(pathname) {
|
|
|
15
15
|
}
|
|
16
16
|
function saveJsonFile(pathname, data) {
|
|
17
17
|
const dir = path.dirname(pathname);
|
|
18
|
-
if (!
|
|
18
|
+
if (!fs.existsSync(dir)) fs.mkdirSync(dir, {
|
|
19
19
|
recursive: true,
|
|
20
20
|
mode: 448
|
|
21
21
|
});
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
fs.writeFileSync(pathname, `${JSON.stringify(data, null, 2)}\n`, "utf8");
|
|
23
|
+
fs.chmodSync(pathname, 384);
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
//#endregion
|
|
@@ -155,23 +155,38 @@ function safeSend(ws, data) {
|
|
|
155
155
|
}
|
|
156
156
|
function createGlassUiBridge(opts) {
|
|
157
157
|
const { wss, context, extraHandlers, onBroadcast } = opts;
|
|
158
|
-
const browserClients = /* @__PURE__ */ new
|
|
159
|
-
|
|
160
|
-
|
|
158
|
+
const browserClients = /* @__PURE__ */ new Map();
|
|
159
|
+
let broadcastSeq = 0;
|
|
160
|
+
function broadcastToBrowsers(msg, seq) {
|
|
161
|
+
for (const [, state] of browserClients) {
|
|
162
|
+
if (seq <= state.lastBroadcastSeq) continue;
|
|
163
|
+
state.lastBroadcastSeq = seq;
|
|
164
|
+
safeSend(state.ws, msg);
|
|
165
|
+
}
|
|
161
166
|
}
|
|
162
167
|
const broadcastUnsub = onBroadcast((event, payload) => {
|
|
168
|
+
broadcastSeq++;
|
|
169
|
+
const seq = broadcastSeq;
|
|
163
170
|
if (event === "chat") broadcastToBrowsers({
|
|
164
171
|
type: "chat",
|
|
165
|
-
payload
|
|
166
|
-
|
|
172
|
+
payload,
|
|
173
|
+
_seq: seq
|
|
174
|
+
}, seq);
|
|
167
175
|
else if (event === "agent") broadcastToBrowsers({
|
|
168
176
|
type: "agent",
|
|
169
|
-
payload
|
|
170
|
-
|
|
177
|
+
payload,
|
|
178
|
+
_seq: seq
|
|
179
|
+
}, seq);
|
|
171
180
|
else if (event === "subagent") broadcastToBrowsers({
|
|
172
181
|
type: "subagent",
|
|
173
|
-
payload
|
|
174
|
-
|
|
182
|
+
payload,
|
|
183
|
+
_seq: seq
|
|
184
|
+
}, seq);
|
|
185
|
+
else if (event === "profile") broadcastToBrowsers({
|
|
186
|
+
type: "profile",
|
|
187
|
+
payload,
|
|
188
|
+
_seq: seq
|
|
189
|
+
}, seq);
|
|
175
190
|
});
|
|
176
191
|
/** Dispatch an RPC method through the gateway's internal handler. */
|
|
177
192
|
async function dispatchRpc(method, params) {
|
|
@@ -215,7 +230,10 @@ function createGlassUiBridge(opts) {
|
|
|
215
230
|
} catch {}
|
|
216
231
|
}
|
|
217
232
|
wss.on("connection", (ws) => {
|
|
218
|
-
browserClients.
|
|
233
|
+
browserClients.set(ws, {
|
|
234
|
+
ws,
|
|
235
|
+
lastBroadcastSeq: broadcastSeq
|
|
236
|
+
});
|
|
219
237
|
safeSend(ws, {
|
|
220
238
|
type: "status",
|
|
221
239
|
connected: true
|
|
@@ -297,8 +315,8 @@ function createGlassUiBridge(opts) {
|
|
|
297
315
|
});
|
|
298
316
|
return () => {
|
|
299
317
|
broadcastUnsub();
|
|
300
|
-
for (const
|
|
301
|
-
|
|
318
|
+
for (const [, state] of browserClients) try {
|
|
319
|
+
state.ws.close();
|
|
302
320
|
} catch {}
|
|
303
321
|
browserClients.clear();
|
|
304
322
|
};
|