@symerian/symi 3.5.15 → 3.5.17
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/{agent-Cq8f1rHB.js → agent-RWZSPbLw.js} +1 -1
- package/dist/{agent-CSOQs4VQ.js → agent-Za31LZ2H.js} +1 -1
- package/dist/{agents-BiKiy1SO.js → agents-CulBOE6L.js} +3 -3
- package/dist/{audit-DJURK8ly.js → audit-B1fVD2bA.js} +2 -2
- package/dist/{audit-BPhWpe_6.js → audit-BQnxE5w6.js} +2 -2
- package/dist/{auth-choice-9XyVfAyH.js → auth-choice-B8n3tJtT.js} +2 -2
- package/dist/{auth-choice-BYOypIGE.js → auth-choice-C8ElO44A.js} +2 -2
- package/dist/{banner-BDexjPFs.js → banner-B91SPus6.js} +1 -1
- package/dist/{browser-cli-BxDx4t2-.js → browser-cli-BvOz7txM.js} +3 -3
- package/dist/{browser-cli-BT0akXlr.js → browser-cli-CXDzGAN7.js} +3 -3
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +2 -2
- package/dist/bundled/session-memory/handler.js +2 -2
- package/dist/{call-mzNPQq1S.js → call-A18kwyah.js} +2 -1
- package/dist/{call-BC1HAVqW.js → call-PpGwcPn-.js} +2 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-Cy9aQzx9.js → channel-options-1G5HGFpn.js} +1 -1
- package/dist/{channel-options-BjgoCETm.js → channel-options-CsyyC4uc.js} +1 -1
- package/dist/{channels-cli-DokpJOeN.js → channels-cli-R3TK9Jwf.js} +9 -9
- package/dist/{channels-cli-R0UMOKTA.js → channels-cli-aF7d6Af9.js} +9 -9
- package/dist/{cli-ay-COtm8.js → cli-Bguq-s8o.js} +6 -6
- package/dist/{cli-BnLVnWOZ.js → cli-CFaH6TRI.js} +6 -6
- package/dist/{client-BcvL_D-H.js → client-CdiymIXS.js} +32 -1
- package/dist/{client-BfnNfATE.js → client-DDqXo-cF.js} +32 -1
- package/dist/{command-registry-CjxdlqkY.js → command-registry-Bmzf59Qv.js} +11 -11
- package/dist/{completion-cli-D2pLg5yF.js → completion-cli-BM4kZs0m.js} +2 -2
- package/dist/{completion-cli-kGAGMr-I.js → completion-cli-CtUZzw-P.js} +1 -1
- package/dist/{config-cli-D12Nouyy.js → config-cli-Cvylxp-R.js} +1 -1
- package/dist/{config-cli-BAognmPE.js → config-cli-D6vpEtzB.js} +1 -1
- package/dist/{configure-CJp0NIbm.js → configure-BMRfSJ5h.js} +6 -6
- package/dist/{configure-B8-2sqW3.js → configure-DRDyxmMR.js} +6 -6
- package/dist/control-ui/css/style.css +166 -0
- package/dist/control-ui/js/gateway.js +10 -0
- package/dist/control-ui/js/symframe.js +313 -9
- package/dist/{cron-cli-DoXlzwQ0.js → cron-cli-DVEdIAaa.js} +3 -3
- package/dist/{cron-cli-BJzi2QtY.js → cron-cli-DlxcZT7g.js} +3 -3
- package/dist/{daemon-cli-CRGNFCN7.js → daemon-cli-6ZV3jmTp.js} +2 -2
- package/dist/{daemon-cli-DXHRewv8.js → daemon-cli-DqJhEk3T.js} +2 -2
- package/dist/daemon-cli.js +32 -0
- package/dist/{devices-cli-DAG-TaOo.js → devices-cli-C4rLpzkl.js} +2 -2
- package/dist/{devices-cli-YdVaVQkF.js → devices-cli-C6EdHL_5.js} +2 -2
- package/dist/{doctor-completion-CmKOsLDy.js → doctor-completion-Df7Hv_IA.js} +1 -1
- package/dist/{doctor-completion-Ca692KiP.js → doctor-completion-Do20Q4ZM.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/{exec-approvals-cli-Cnie7kMb.js → exec-approvals-cli-Ca54uWdL.js} +4 -4
- package/dist/{exec-approvals-cli-BuHNELGd.js → exec-approvals-cli-bu1S7v6i.js} +4 -4
- package/dist/extensionAPI.js +2 -2
- package/dist/{gateway-cli-CvzoUDQs.js → gateway-cli-CKlpsjYJ.js} +16 -16
- package/dist/{gateway-cli-zh8P3vbG.js → gateway-cli-CwuURJSh.js} +16 -16
- package/dist/{gateway-rpc-st8ffJBC.js → gateway-rpc-DMSsr0Xn.js} +1 -1
- package/dist/{gateway-rpc-CIHuIeji.js → gateway-rpc-vivTzTCq.js} +1 -1
- package/dist/{glass-ui-ws-QqYp-Uof.js → glass-ui-ws-Bzs3ALoN.js} +13 -13
- package/dist/{glass-ui-ws-DCXg7AbP.js → glass-ui-ws-C88aJslb.js} +13 -13
- package/dist/{health-BIwN5H6b.js → health--v-C6lSf.js} +1 -1
- package/dist/{health-BaYDaHPT.js → health-D0jGdk53.js} +1 -1
- package/dist/{hooks-cli-ClMPrbD7.js → hooks-cli-CZ_pSdXS.js} +7 -7
- package/dist/{hooks-cli-CJ0OoLFk.js → hooks-cli-CrZvzan1.js} +7 -7
- package/dist/index.js +10 -10
- package/dist/llm-slug-generator.js +2 -2
- package/dist/{logs-cli-D8A5dpnm.js → logs-cli-Dde2Dp2w.js} +3 -3
- package/dist/{logs-cli-CK9YhKnf.js → logs-cli-vIxaNVmF.js} +3 -3
- package/dist/{manager-Ct4kRT7n.js → manager--GmDbwza.js} +1 -1
- package/dist/{manager-DjhxLEpd.js → manager-B-wPs7cb.js} +1 -1
- package/dist/{manager-Dh_-GTcG.js → manager-BMA3iRMq.js} +1 -1
- package/dist/{manager-807ZlqEf.js → manager-S5d36_EM.js} +1 -1
- package/dist/{memory-CkJCn1Gg.js → memory-BcdI7NSs.js} +3 -3
- package/dist/{memory-B2hM774N.js → memory-DBx1wEvf.js} +3 -3
- package/dist/{memory-cli-C3CONZGB.js → memory-cli-CQSVrNAK.js} +2 -2
- package/dist/{memory-cli-CPebu_bx.js → memory-cli-jNf_SaXU.js} +2 -2
- package/dist/{models-Cbad7KB1.js → models-BgZWEpSL.js} +3 -3
- package/dist/{models-cli-C1yhTK5G.js → models-cli-6tdy2DaI.js} +9 -9
- package/dist/{models-cli-B_U9E8SV.js → models-cli-CiL6wDtk.js} +8 -8
- package/dist/{node-cli-CFIBFPOd.js → node-cli-BTXwMEJE.js} +1 -1
- package/dist/{node-cli-Cmfs9las.js → node-cli-ClniLggz.js} +1 -1
- package/dist/{nodes-cli-DlkO0Hyw.js → nodes-cli-DLaX4pgX.js} +3 -3
- package/dist/{nodes-cli-BH1TUf3n.js → nodes-cli-DrhMUDXx.js} +3 -3
- package/dist/{onboard-CWNtW-LS.js → onboard-3FdfkbGm.js} +3 -3
- package/dist/{onboard-8eYravsD.js → onboard-DFbgAa-t.js} +3 -3
- package/dist/{onboard-channels-DPzbq3iB.js → onboard-channels-BN00--TD.js} +1 -1
- package/dist/{onboard-channels-BRi2UP_-.js → onboard-channels-DeRg97iI.js} +1 -1
- package/dist/{onboard-helpers-DahbbzzQ.js → onboard-helpers-CAAZ0RDq.js} +1 -1
- package/dist/{onboard-helpers-Bf1LB5fd.js → onboard-helpers-Cv6fL8Vq.js} +1 -1
- package/dist/{onboard-remote-BgDE1b8f.js → onboard-remote-CXRFa8AU.js} +1 -1
- package/dist/{onboard-remote-B6Ox0wMi.js → onboard-remote-pucDu-pH.js} +1 -1
- package/dist/{onboard-skills-D-ppyTcQ.js → onboard-skills-BVTCfqlg.js} +1 -1
- package/dist/{onboard-skills-V1IT5l9E.js → onboard-skills-C_93kjju.js} +1 -1
- package/dist/{onboarding-Cw8abFVd.js → onboarding-BigIUHoh.js} +8 -8
- package/dist/{onboarding-D35WPHUd.js → onboarding-fq_-89Jc.js} +8 -8
- package/dist/{onboarding.finalize-BStHm3Q-.js → onboarding.finalize-BGDBP9G7.js} +9 -9
- package/dist/{onboarding.finalize-C50T8L4e.js → onboarding.finalize-C2Dt95Rn.js} +8 -8
- package/dist/{onboarding.gateway-config-DJ1YAlBD.js → onboarding.gateway-config-eFJnSC-S.js} +3 -3
- package/dist/{onboarding.gateway-config-D6xPpItN.js → onboarding.gateway-config-wB3ShGU4.js} +3 -3
- package/dist/{pi-embedded-BxKs-STI.js → pi-embedded-BAgVs8XC.js} +35 -3
- package/dist/{plugin-registry-BFyeIJdT.js → plugin-registry-2DU3g0AT.js} +1 -1
- package/dist/{plugin-registry-B9SUsQmV.js → plugin-registry-CubHLj0v.js} +1 -1
- package/dist/plugin-sdk/gateway/protocol/index.d.ts +5 -2
- package/dist/plugin-sdk/gateway/protocol/schema/logs-chat.d.ts +26 -0
- package/dist/plugin-sdk/index.js +6 -6
- package/dist/{plugins-cli-DKEgD6T2.js → plugins-cli-CIYGRkKI.js} +7 -7
- package/dist/{plugins-cli-BTdd7aE9.js → plugins-cli-Dpj76E3-.js} +7 -7
- package/dist/{program-C668x3bd.js → program-FBDhJLrg.js} +12 -12
- package/dist/{program-context-CV_ibEw9.js → program-context-CZYb4zB2.js} +38 -30
- package/dist/{prompt-select-styled-BlpvaJVg.js → prompt-select-styled-C3LUG3Be.js} +7 -7
- package/dist/{prompt-select-styled-G6u6Q8v9.js → prompt-select-styled-DQyZ6VHH.js} +7 -7
- package/dist/{provider-auth-helpers-R-cnIeud.js → provider-auth-helpers-B_gA1eP9.js} +1 -1
- package/dist/{provider-auth-helpers-DAtMFGrU.js → provider-auth-helpers-LpT83BSS.js} +1 -1
- package/dist/{push-apns-Bx0i-bNw.js → push-apns-BWeNJb15.js} +1 -1
- package/dist/{push-apns--j8PeFrK.js → push-apns-CLngpXwL.js} +1 -1
- package/dist/{register.agent-muhvyTMD.js → register.agent-Dz24Zz7t.js} +11 -11
- package/dist/{register.agent-CYRt1iiv.js → register.agent-pWEv9TC7.js} +12 -12
- package/dist/{register.configure-CsvtHB87.js → register.configure-BMLA-3Mt.js} +14 -14
- package/dist/{register.configure-DUaVY9dt.js → register.configure-DQWtFNGt.js} +14 -14
- package/dist/{register.maintenance-DMLKAqqc.js → register.maintenance-81d4KKmA.js} +13 -13
- package/dist/{register.maintenance-BrNuk6hl.js → register.maintenance-FWHasNw7.js} +12 -12
- package/dist/{register.message-9WxgUBSA.js → register.message-C-p-GZ8z.js} +7 -7
- package/dist/{register.message-DZG9UElS.js → register.message-vUwGF3E9.js} +7 -7
- package/dist/{register.onboard-Bpo5ofDH.js → register.onboard-BjPPudfS.js} +6 -6
- package/dist/{register.onboard-C-5RaI3-.js → register.onboard-COyX1xSR.js} +6 -6
- package/dist/{register.setup-D87mlpLA.js → register.setup-C_ds_5fl.js} +6 -6
- package/dist/{register.setup-DQXuZsGD.js → register.setup-DDMtRxcF.js} +6 -6
- package/dist/{register.status-health-sessions-B600sqsd.js → register.status-health-sessions-C9Zdn1ai.js} +8 -8
- package/dist/{register.status-health-sessions-ZYT6lFhO.js → register.status-health-sessions-Dn2gy0gi.js} +8 -8
- package/dist/{register.subclis-DdlLdgzD.js → register.subclis-B16w8wxz.js} +28 -20
- package/dist/{rpc-Co5Ci69t.js → rpc-DP3AhcZq.js} +1 -1
- package/dist/{rpc-DZpJ-mGE.js → rpc-KjYXUeLD.js} +1 -1
- package/dist/{run-main-C1YGbNWb.js → run-main-CUMiBvgm.js} +20 -20
- package/dist/{security-cli-Bkcil7sD.js → security-cli-CGLnA_ni.js} +3 -3
- package/dist/{security-cli-CAdCbDUS.js → security-cli-hTCYStCU.js} +3 -3
- package/dist/{server-methods-FxoNbY02.js → server-methods-C3_JU-DI.js} +36 -11
- package/dist/{server-methods-DMPwNvoz.js → server-methods-D_zGEWNK.js} +36 -11
- package/dist/{server-node-events-Dp9EiddI.js → server-node-events-CRYzL3TY.js} +8 -8
- package/dist/{server-node-events-k7h7NWLL.js → server-node-events-CW5ilXPN.js} +8 -8
- package/dist/{status-CYqfS1u_.js → status-1ACP62Xm.js} +5 -5
- package/dist/{status-BU-hn3iH.js → status-C_K3wapX.js} +1 -1
- package/dist/{status-D3h1mSLx.js → status-DbIBRkrV.js} +5 -5
- package/dist/{status-CHEd1LqO.js → status-NK8EUhIy.js} +1 -1
- package/dist/{subagent-registry-4qeNm1OL.js → subagent-registry-SZbZfkbr.js} +5 -5
- package/dist/symframe-cli-DLbhzXNU.js +70 -0
- package/dist/symframe-cli-OqTUw6Mt.js +65 -0
- package/dist/{synthesis-DceZPirI.js → synthesis-BLRsy_PZ.js} +6 -6
- package/dist/{synthesis-DFNyev83.js → synthesis-CA2zGGNE.js} +6 -6
- package/dist/{synthesis-BH4onG1c.js → synthesis-CG0rRaLA.js} +2 -2
- package/dist/{synthesis-CxR-cX-4.js → synthesis-CUbz4CaL.js} +2 -2
- package/dist/{system-cli-BCAd92UF.js → system-cli-BoxTfo1R.js} +3 -3
- package/dist/{system-cli-GwzCZpdT.js → system-cli-CYgTroZA.js} +3 -3
- package/dist/{tui-9lZLkRZm.js → tui-BdtfeKft.js} +2 -2
- package/dist/{tui-ROL_b9BF.js → tui-CO7OA9ZO.js} +2 -2
- package/dist/{tui-cli-C7NUBeQi.js → tui-cli-CcSS08na.js} +3 -3
- package/dist/{tui-cli-C6Q0KKvj.js → tui-cli-_WzJLbOA.js} +3 -3
- package/dist/{unified-runner-D9LZYzyF.js → unified-runner-B0cMr4If.js} +5 -5
- package/dist/{unified-runner-LBbNjudz.js → unified-runner-ChkYfsxy.js} +35 -3
- package/dist/{update-cli-CWYfdfuU.js → update-cli-BhI88CVk.js} +14 -14
- package/dist/{update-cli-Du-NLjgh.js → update-cli-jxM3sFLP.js} +13 -13
- package/package.json +1 -1
- /package/dist/{consolidate-BSUbtSDt.js → consolidate-BoM9cz9L.js} +0 -0
- /package/dist/{consolidate-DhoiF4n7.js → consolidate-nNhnUpNj.js} +0 -0
- /package/dist/{onboard-hooks-CXRw9BJY.js → onboard-hooks-CxJRzS5z.js} +0 -0
- /package/dist/{onboard-hooks-DfDF9AU4.js → onboard-hooks-D5-mtFUY.js} +0 -0
- /package/dist/{qmd-manager-CYEAMLE7.js → qmd-manager-C1levE0a.js} +0 -0
- /package/dist/{qmd-manager-C6wRtPm_.js → qmd-manager-CR71XjjR.js} +0 -0
- /package/dist/{webhooks-cli-C3uyehJS.js → webhooks-cli-BUWSS_ve.js} +0 -0
- /package/dist/{webhooks-cli-C3g4MxCE.js → webhooks-cli-BrDeMswO.js} +0 -0
|
@@ -57,6 +57,278 @@
|
|
|
57
57
|
countEl.textContent = total === 1 ? "1 card" : `${total} cards`;
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
+
// ── Per-type body renderers ──
|
|
61
|
+
// Each renderer takes a card and returns an HTMLElement (or
|
|
62
|
+
// DocumentFragment) that gets appended to the body slot. New types
|
|
63
|
+
// plug in by adding to the renderers map below — no other code path
|
|
64
|
+
// changes required.
|
|
65
|
+
|
|
66
|
+
function renderTextBody(card) {
|
|
67
|
+
const div = document.createElement("div");
|
|
68
|
+
div.className = "symframe-body-text";
|
|
69
|
+
if (card.bodyHtml) {
|
|
70
|
+
div.innerHTML = card.bodyHtml;
|
|
71
|
+
} else {
|
|
72
|
+
div.textContent = card.body || "";
|
|
73
|
+
}
|
|
74
|
+
return div;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function renderMarkdownBody(card) {
|
|
78
|
+
const div = document.createElement("div");
|
|
79
|
+
div.className = "symframe-body-markdown";
|
|
80
|
+
if (typeof window.marked?.parse === "function") {
|
|
81
|
+
div.innerHTML = window.marked.parse(card.body || "");
|
|
82
|
+
} else {
|
|
83
|
+
div.textContent = card.body || "";
|
|
84
|
+
}
|
|
85
|
+
return div;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
function renderCodeBody(card) {
|
|
89
|
+
const pre = document.createElement("pre");
|
|
90
|
+
pre.className = "symframe-body-code";
|
|
91
|
+
const code = document.createElement("code");
|
|
92
|
+
if (card.language) {
|
|
93
|
+
code.classList.add(`language-${card.language}`);
|
|
94
|
+
}
|
|
95
|
+
code.textContent = card.body || "";
|
|
96
|
+
pre.appendChild(code);
|
|
97
|
+
// hljs is bundled as window.hljs via vendor/highlight.min.js. Best-effort
|
|
98
|
+
// highlight; if hljs throws (unknown language, etc.) the plain pre/code
|
|
99
|
+
// already renders fine.
|
|
100
|
+
if (typeof window.hljs?.highlightElement === "function") {
|
|
101
|
+
try {
|
|
102
|
+
window.hljs.highlightElement(code);
|
|
103
|
+
} catch (err) {
|
|
104
|
+
console.warn("[symframe] hljs.highlightElement failed:", err);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return pre;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
function renderEmailDraftBody(card) {
|
|
111
|
+
const wrap = document.createElement("div");
|
|
112
|
+
wrap.className = "symframe-body-email";
|
|
113
|
+
const email = card.email || {};
|
|
114
|
+
const headerRows = [
|
|
115
|
+
["From", email.from],
|
|
116
|
+
["To", email.to],
|
|
117
|
+
["Cc", email.cc],
|
|
118
|
+
["Bcc", email.bcc],
|
|
119
|
+
["Subject", email.subject],
|
|
120
|
+
];
|
|
121
|
+
for (const [label, value] of headerRows) {
|
|
122
|
+
if (!value) {
|
|
123
|
+
continue;
|
|
124
|
+
}
|
|
125
|
+
const row = document.createElement("div");
|
|
126
|
+
row.className = "symframe-email-row";
|
|
127
|
+
const lbl = document.createElement("span");
|
|
128
|
+
lbl.className = "symframe-email-label";
|
|
129
|
+
lbl.textContent = `${label}:`;
|
|
130
|
+
const val = document.createElement("span");
|
|
131
|
+
val.className = "symframe-email-value";
|
|
132
|
+
val.textContent = String(value);
|
|
133
|
+
row.appendChild(lbl);
|
|
134
|
+
row.appendChild(val);
|
|
135
|
+
wrap.appendChild(row);
|
|
136
|
+
}
|
|
137
|
+
if (email.body) {
|
|
138
|
+
const body = document.createElement("div");
|
|
139
|
+
body.className = "symframe-email-body";
|
|
140
|
+
body.textContent = email.body;
|
|
141
|
+
wrap.appendChild(body);
|
|
142
|
+
}
|
|
143
|
+
return wrap;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
function renderEmptyMedia(reason) {
|
|
147
|
+
const div = document.createElement("div");
|
|
148
|
+
div.className = "symframe-body-empty";
|
|
149
|
+
div.textContent = reason;
|
|
150
|
+
return div;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
function renderPdfBody(card) {
|
|
154
|
+
if (!card.url) {
|
|
155
|
+
return renderEmptyMedia("(no url provided)");
|
|
156
|
+
}
|
|
157
|
+
const wrap = document.createElement("div");
|
|
158
|
+
wrap.className = "symframe-body-pdf";
|
|
159
|
+
const frame = document.createElement("iframe");
|
|
160
|
+
frame.src = card.url;
|
|
161
|
+
frame.className = "symframe-pdf-iframe";
|
|
162
|
+
frame.setAttribute("title", card.title || "PDF document");
|
|
163
|
+
wrap.appendChild(frame);
|
|
164
|
+
wrap.appendChild(buildDownloadLink(card.url, card.downloadName, "Download PDF"));
|
|
165
|
+
return wrap;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
function renderAudioBody(card) {
|
|
169
|
+
if (!card.url) {
|
|
170
|
+
return renderEmptyMedia("(no url provided)");
|
|
171
|
+
}
|
|
172
|
+
const wrap = document.createElement("div");
|
|
173
|
+
wrap.className = "symframe-body-audio";
|
|
174
|
+
const audio = document.createElement("audio");
|
|
175
|
+
audio.controls = true;
|
|
176
|
+
audio.preload = "metadata";
|
|
177
|
+
audio.className = "symframe-audio";
|
|
178
|
+
if (card.mimeType) {
|
|
179
|
+
const source = document.createElement("source");
|
|
180
|
+
source.src = card.url;
|
|
181
|
+
source.type = card.mimeType;
|
|
182
|
+
audio.appendChild(source);
|
|
183
|
+
} else {
|
|
184
|
+
audio.src = card.url;
|
|
185
|
+
}
|
|
186
|
+
wrap.appendChild(audio);
|
|
187
|
+
wrap.appendChild(buildDownloadLink(card.url, card.downloadName, "Download"));
|
|
188
|
+
return wrap;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
function renderVideoBody(card) {
|
|
192
|
+
if (!card.url) {
|
|
193
|
+
return renderEmptyMedia("(no url provided)");
|
|
194
|
+
}
|
|
195
|
+
const wrap = document.createElement("div");
|
|
196
|
+
wrap.className = "symframe-body-video";
|
|
197
|
+
const video = document.createElement("video");
|
|
198
|
+
video.controls = true;
|
|
199
|
+
video.preload = "metadata";
|
|
200
|
+
video.className = "symframe-video";
|
|
201
|
+
video.playsInline = true;
|
|
202
|
+
if (card.poster) {
|
|
203
|
+
video.poster = card.poster;
|
|
204
|
+
}
|
|
205
|
+
if (card.mimeType) {
|
|
206
|
+
const source = document.createElement("source");
|
|
207
|
+
source.src = card.url;
|
|
208
|
+
source.type = card.mimeType;
|
|
209
|
+
video.appendChild(source);
|
|
210
|
+
} else {
|
|
211
|
+
video.src = card.url;
|
|
212
|
+
}
|
|
213
|
+
wrap.appendChild(video);
|
|
214
|
+
wrap.appendChild(buildDownloadLink(card.url, card.downloadName, "Download"));
|
|
215
|
+
return wrap;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
function buildDownloadLink(url, downloadName, label) {
|
|
219
|
+
const a = document.createElement("a");
|
|
220
|
+
a.href = url;
|
|
221
|
+
if (downloadName) {
|
|
222
|
+
a.download = downloadName;
|
|
223
|
+
} else {
|
|
224
|
+
a.setAttribute("download", "");
|
|
225
|
+
}
|
|
226
|
+
a.target = "_blank";
|
|
227
|
+
a.rel = "noopener noreferrer";
|
|
228
|
+
a.className = "symframe-download";
|
|
229
|
+
a.textContent = `⬇ ${label}`;
|
|
230
|
+
return a;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
const renderers = {
|
|
234
|
+
text: renderTextBody,
|
|
235
|
+
markdown: renderMarkdownBody,
|
|
236
|
+
code: renderCodeBody,
|
|
237
|
+
"email-draft": renderEmailDraftBody,
|
|
238
|
+
pdf: renderPdfBody,
|
|
239
|
+
audio: renderAudioBody,
|
|
240
|
+
video: renderVideoBody,
|
|
241
|
+
};
|
|
242
|
+
|
|
243
|
+
function renderBodyForType(card) {
|
|
244
|
+
const type = card.type || "text";
|
|
245
|
+
const renderer = renderers[type] || renderers.text;
|
|
246
|
+
return renderer(card);
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
// True iff the card has any body-shaped data — body, bodyHtml, or
|
|
250
|
+
// type-specific structured fields. Used to decide whether to render
|
|
251
|
+
// the body slot at all.
|
|
252
|
+
function hasBodyContent(card) {
|
|
253
|
+
if (card.body || card.bodyHtml) {
|
|
254
|
+
return true;
|
|
255
|
+
}
|
|
256
|
+
if (card.url) {
|
|
257
|
+
return true;
|
|
258
|
+
}
|
|
259
|
+
if (card.email && typeof card.email === "object") {
|
|
260
|
+
return true;
|
|
261
|
+
}
|
|
262
|
+
return false;
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
// Choose what `Copy` would copy for this card. Honors body/bodyHtml first,
|
|
266
|
+
// then type-specific shapes (email-draft renders a plain-text email;
|
|
267
|
+
// url-based media types copy the URL).
|
|
268
|
+
function resolveCopyTarget(card) {
|
|
269
|
+
if (card.body) {
|
|
270
|
+
return card.body;
|
|
271
|
+
}
|
|
272
|
+
if (card.bodyHtml) {
|
|
273
|
+
return card.bodyHtml;
|
|
274
|
+
}
|
|
275
|
+
if (card.email && typeof card.email === "object") {
|
|
276
|
+
const lines = [];
|
|
277
|
+
if (card.email.from) {
|
|
278
|
+
lines.push(`From: ${card.email.from}`);
|
|
279
|
+
}
|
|
280
|
+
if (card.email.to) {
|
|
281
|
+
lines.push(`To: ${card.email.to}`);
|
|
282
|
+
}
|
|
283
|
+
if (card.email.cc) {
|
|
284
|
+
lines.push(`Cc: ${card.email.cc}`);
|
|
285
|
+
}
|
|
286
|
+
if (card.email.bcc) {
|
|
287
|
+
lines.push(`Bcc: ${card.email.bcc}`);
|
|
288
|
+
}
|
|
289
|
+
if (card.email.subject) {
|
|
290
|
+
lines.push(`Subject: ${card.email.subject}`);
|
|
291
|
+
}
|
|
292
|
+
if (card.email.body) {
|
|
293
|
+
lines.push("");
|
|
294
|
+
lines.push(card.email.body);
|
|
295
|
+
}
|
|
296
|
+
return lines.join("\n");
|
|
297
|
+
}
|
|
298
|
+
if (card.url) {
|
|
299
|
+
return card.url;
|
|
300
|
+
}
|
|
301
|
+
return "";
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
// Default Copy action when the card has copyable content and no explicit
|
|
305
|
+
// actions. Custom actions take precedence — server-pushed cards or
|
|
306
|
+
// tool-pushed cards with their own buttons get those instead.
|
|
307
|
+
function buildDefaultActions(card) {
|
|
308
|
+
if (Array.isArray(card.actions) && card.actions.length > 0) {
|
|
309
|
+
return card.actions;
|
|
310
|
+
}
|
|
311
|
+
const copyTarget = resolveCopyTarget(card);
|
|
312
|
+
if (!copyTarget) {
|
|
313
|
+
return [];
|
|
314
|
+
}
|
|
315
|
+
return [
|
|
316
|
+
{
|
|
317
|
+
label: "Copy",
|
|
318
|
+
kind: "secondary",
|
|
319
|
+
onClick: async () => {
|
|
320
|
+
try {
|
|
321
|
+
if (navigator.clipboard && typeof navigator.clipboard.writeText === "function") {
|
|
322
|
+
await navigator.clipboard.writeText(copyTarget);
|
|
323
|
+
}
|
|
324
|
+
} catch (err) {
|
|
325
|
+
console.warn("[symframe] copy failed:", err);
|
|
326
|
+
}
|
|
327
|
+
},
|
|
328
|
+
},
|
|
329
|
+
];
|
|
330
|
+
}
|
|
331
|
+
|
|
60
332
|
function renderCardElement(card) {
|
|
61
333
|
const el = document.createElement("div");
|
|
62
334
|
el.className = "glass-panel symframe-card symframe-card-dynamic";
|
|
@@ -89,23 +361,23 @@
|
|
|
89
361
|
}
|
|
90
362
|
el.appendChild(header);
|
|
91
363
|
|
|
92
|
-
// Body
|
|
93
|
-
if (card
|
|
364
|
+
// Body via type-specific renderer (returns an Element)
|
|
365
|
+
if (hasBodyContent(card)) {
|
|
94
366
|
const body = document.createElement("div");
|
|
95
367
|
body.className = "symframe-card-body";
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
body.textContent = card.body;
|
|
368
|
+
const rendered = renderBodyForType(card);
|
|
369
|
+
if (rendered) {
|
|
370
|
+
body.appendChild(rendered);
|
|
100
371
|
}
|
|
101
372
|
el.appendChild(body);
|
|
102
373
|
}
|
|
103
374
|
|
|
104
|
-
// Actions
|
|
105
|
-
|
|
375
|
+
// Actions (custom or default Copy)
|
|
376
|
+
const actions = buildDefaultActions(card);
|
|
377
|
+
if (actions.length > 0) {
|
|
106
378
|
const actionsRow = document.createElement("div");
|
|
107
379
|
actionsRow.className = "symframe-card-actions";
|
|
108
|
-
for (const action of
|
|
380
|
+
for (const action of actions) {
|
|
109
381
|
const btn = document.createElement("button");
|
|
110
382
|
btn.className = "symframe-card-action";
|
|
111
383
|
if (action.kind === "primary") {
|
|
@@ -122,6 +394,20 @@
|
|
|
122
394
|
console.warn("[symframe] action threw:", err);
|
|
123
395
|
}
|
|
124
396
|
});
|
|
397
|
+
} else if (action.rpc) {
|
|
398
|
+
// Server-pushed cards declare actions as { rpc: "method", params: {...} }
|
|
399
|
+
// since closures don't survive the WebSocket. Resolve via the
|
|
400
|
+
// gateway client at click time.
|
|
401
|
+
btn.addEventListener("click", async (e) => {
|
|
402
|
+
e.preventDefault();
|
|
403
|
+
try {
|
|
404
|
+
if (window.gateway?.rpc) {
|
|
405
|
+
await window.gateway.rpc(action.rpc, action.params || {});
|
|
406
|
+
}
|
|
407
|
+
} catch (err) {
|
|
408
|
+
console.warn("[symframe] rpc action failed:", action.rpc, err);
|
|
409
|
+
}
|
|
410
|
+
});
|
|
125
411
|
}
|
|
126
412
|
actionsRow.appendChild(btn);
|
|
127
413
|
}
|
|
@@ -272,4 +558,22 @@
|
|
|
272
558
|
}
|
|
273
559
|
|
|
274
560
|
window.symframe = { add, update, remove, list, register };
|
|
561
|
+
|
|
562
|
+
// Phase 3: server-pushed cards. The gateway's `symframe` broadcast is
|
|
563
|
+
// re-emitted as a window-level CustomEvent by gateway.js — subscribe
|
|
564
|
+
// here and route to the registry. Payload shape matches the
|
|
565
|
+
// chat.symframe.push RPC: { action, id?, card? }.
|
|
566
|
+
window.addEventListener("symi:symframe", (e) => {
|
|
567
|
+
const payload = e.detail;
|
|
568
|
+
if (!payload || typeof payload !== "object") {
|
|
569
|
+
return;
|
|
570
|
+
}
|
|
571
|
+
if (payload.action === "add" && payload.card) {
|
|
572
|
+
add(payload.card);
|
|
573
|
+
} else if (payload.action === "update" && payload.id && payload.card) {
|
|
574
|
+
update(payload.id, payload.card);
|
|
575
|
+
} else if (payload.action === "remove" && payload.id) {
|
|
576
|
+
remove(payload.id);
|
|
577
|
+
}
|
|
578
|
+
});
|
|
275
579
|
})();
|
|
@@ -13,15 +13,15 @@ import "./shell-env-Dc3iU7HK.js";
|
|
|
13
13
|
import "./manifest-registry-D1MLZEjS.js";
|
|
14
14
|
import "./message-channel-DgjXWzf-.js";
|
|
15
15
|
import { n as listChannelPlugins } from "./plugins-CF5skkHh.js";
|
|
16
|
-
import "./client-
|
|
17
|
-
import "./call-
|
|
16
|
+
import "./client-DDqXo-cF.js";
|
|
17
|
+
import "./call-PpGwcPn-.js";
|
|
18
18
|
import "./pairing-token-Dcy37-4s.js";
|
|
19
19
|
import { n as formatDurationHuman } from "./format-duration-CIjmjQST.js";
|
|
20
20
|
import { i as parseAbsoluteTimeMs, n as resolveCronStaggerMs } from "./stagger-DQs772BN.js";
|
|
21
21
|
import { t as formatDocsLink } from "./links-CQZxjjCO.js";
|
|
22
22
|
import "./progress-DQTvTiEg.js";
|
|
23
23
|
import { n as parsePositiveIntOrUndefined } from "./helpers-DGBa5iKd.js";
|
|
24
|
-
import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-
|
|
24
|
+
import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-DMSsr0Xn.js";
|
|
25
25
|
|
|
26
26
|
//#region src/cli/cron-cli/shared.ts
|
|
27
27
|
const getCronChannelOptions = () => ["last", ...listChannelPlugins().map((plugin) => plugin.id)].join("|");
|
|
@@ -6,8 +6,8 @@ import "./model-selection-CMx1evaF.js";
|
|
|
6
6
|
import "./manifest-registry-CVLmi8rz.js";
|
|
7
7
|
import "./config-D7TcU4qN.js";
|
|
8
8
|
import "./shell-env-CTYaxUs_.js";
|
|
9
|
-
import "./client-
|
|
10
|
-
import "./call-
|
|
9
|
+
import "./client-CdiymIXS.js";
|
|
10
|
+
import "./call-A18kwyah.js";
|
|
11
11
|
import "./message-channel-DXToSaWK.js";
|
|
12
12
|
import "./pairing-token-B-OTYROz.js";
|
|
13
13
|
import { n as listChannelPlugins } from "./plugins-BsEhWvLn.js";
|
|
@@ -15,7 +15,7 @@ import { n as formatDurationHuman } from "./format-duration-CIjmjQST.js";
|
|
|
15
15
|
import { i as parseAbsoluteTimeMs, n as resolveCronStaggerMs } from "./stagger-DUVGiPYV.js";
|
|
16
16
|
import { t as formatDocsLink } from "./links-B9CbwY46.js";
|
|
17
17
|
import "./progress-BOQ0hkeM.js";
|
|
18
|
-
import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-
|
|
18
|
+
import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-vivTzTCq.js";
|
|
19
19
|
import { n as parsePositiveIntOrUndefined } from "./helpers-lLtg0Hgi.js";
|
|
20
20
|
|
|
21
21
|
//#region src/cli/cron-cli/shared.ts
|
|
@@ -10,13 +10,13 @@ import { u as resolveGatewayBindHost } from "./ws-C7Ktmt-R.js";
|
|
|
10
10
|
import { a as resolveGatewayAuth } from "./auth-Bkx-QuRN.js";
|
|
11
11
|
import { a as inspectPortUsage, s as formatPortDiagnostics } from "./ports-gxLM5ahL.js";
|
|
12
12
|
import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-DgjXWzf-.js";
|
|
13
|
-
import { n as callGateway } from "./call-
|
|
13
|
+
import { n as callGateway } from "./call-PpGwcPn-.js";
|
|
14
14
|
import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName } from "./constants-BLIhifCJ.js";
|
|
15
15
|
import { t as formatDocsLink } from "./links-CQZxjjCO.js";
|
|
16
16
|
import { n as withProgress } from "./progress-DQTvTiEg.js";
|
|
17
17
|
import { n as inheritOptionFromParent } from "./command-options-DgcCGXMQ.js";
|
|
18
18
|
import { i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-7YBz5otm.js";
|
|
19
|
-
import { g as resolveControlUiLinks, h as randomToken } from "./onboard-helpers-
|
|
19
|
+
import { g as resolveControlUiLinks, h as randomToken } from "./onboard-helpers-Cv6fL8Vq.js";
|
|
20
20
|
import { n as isWSLEnv } from "./wsl-Ci3VOaSK.js";
|
|
21
21
|
import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-BF50XyKr.js";
|
|
22
22
|
import { a as createCliStatusTextStyles, c as parsePortFromArgs, d as renderRuntimeHints, f as resolveRuntimeStatusColor, g as installDaemonServiceAndEmit, h as createDaemonActionContext, i as runServiceUninstall, l as pickProbeHostForBind, m as buildDaemonServiceSnapshot, n as runServiceStart, o as filterDaemonEnv, p as safeDaemonEnv, r as runServiceStop, s as normalizeListenerAddress, t as runServiceRestart, u as renderGatewayServiceStartHints } from "./lifecycle-core-DdbL6ELJ.js";
|
|
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
|
2
2
|
import { Q as theme, Rt as shortenHomePath, X as colorize, Z as isRich, _ as defaultRuntime, ct as resolveConfigPath, ft as resolveGatewayPort, pt as resolveIsNixMode, tt as getResolvedLoggerSettings, yt as resolveStateDir } from "./entry.js";
|
|
3
3
|
import { t as formatCliCommand } from "./command-format-B3nkKRhC.js";
|
|
4
4
|
import { i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot, r as createConfigIO } from "./config-D7TcU4qN.js";
|
|
5
|
-
import { n as callGateway } from "./call-
|
|
5
|
+
import { n as callGateway } from "./call-A18kwyah.js";
|
|
6
6
|
import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-DXToSaWK.js";
|
|
7
7
|
import { l as resolveGatewayBindHost } from "./net-TZUXtwGR.js";
|
|
8
8
|
import { n as pickPrimaryTailnetIPv4 } from "./tailnet-B2SPYrh4.js";
|
|
@@ -13,7 +13,7 @@ import { t as formatDocsLink } from "./links-B9CbwY46.js";
|
|
|
13
13
|
import { n as withProgress } from "./progress-BOQ0hkeM.js";
|
|
14
14
|
import { n as inheritOptionFromParent } from "./command-options-Vxb4M7Aj.js";
|
|
15
15
|
import { i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-DaJ4Tf2a.js";
|
|
16
|
-
import { g as resolveControlUiLinks, h as randomToken } from "./onboard-helpers-
|
|
16
|
+
import { g as resolveControlUiLinks, h as randomToken } from "./onboard-helpers-CAAZ0RDq.js";
|
|
17
17
|
import { n as isWSLEnv } from "./wsl-S50RbgL8.js";
|
|
18
18
|
import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-Ccv3Zi5_.js";
|
|
19
19
|
import { a as createCliStatusTextStyles, c as parsePortFromArgs, d as renderRuntimeHints, f as resolveRuntimeStatusColor, g as installDaemonServiceAndEmit, h as createDaemonActionContext, i as runServiceUninstall, l as pickProbeHostForBind, m as buildDaemonServiceSnapshot, n as runServiceStart, o as filterDaemonEnv, p as safeDaemonEnv, r as runServiceStop, s as normalizeListenerAddress, t as runServiceRestart, u as renderGatewayServiceStartHints } from "./lifecycle-core-O50xtu5c.js";
|
package/dist/daemon-cli.js
CHANGED
|
@@ -9607,6 +9607,36 @@ const ChatHistoryParamsSchema = Type.Object({
|
|
|
9607
9607
|
const ChatCommandsListParamsSchema = Type.Object({}, { additionalProperties: false });
|
|
9608
9608
|
const ChatToolsListParamsSchema = Type.Object({}, { additionalProperties: false });
|
|
9609
9609
|
const ChatSkillsListParamsSchema = Type.Object({}, { additionalProperties: false });
|
|
9610
|
+
/**
|
|
9611
|
+
* Push a card to the symframe (the right-column dynamic display panel
|
|
9612
|
+
* in Glass UI). Mirrors the registry methods on `window.symframe`:
|
|
9613
|
+
* - action="add" → `card` required (id auto-generated if missing)
|
|
9614
|
+
* - action="update" → `id` required, `card` carries the patch
|
|
9615
|
+
* - action="remove" → `id` required, no card
|
|
9616
|
+
*
|
|
9617
|
+
* The handler broadcasts a `symframe` event over the WebSocket; clients
|
|
9618
|
+
* route it to their local registry. The card schema is permissive
|
|
9619
|
+
* (additionalProperties on card) so new content types can ship without
|
|
9620
|
+
* a schema bump.
|
|
9621
|
+
*/
|
|
9622
|
+
const ChatSymframePushParamsSchema = Type.Object({
|
|
9623
|
+
action: Type.Union([
|
|
9624
|
+
Type.Literal("add"),
|
|
9625
|
+
Type.Literal("update"),
|
|
9626
|
+
Type.Literal("remove")
|
|
9627
|
+
]),
|
|
9628
|
+
id: Type.Optional(NonEmptyString),
|
|
9629
|
+
card: Type.Optional(Type.Object({
|
|
9630
|
+
id: Type.Optional(NonEmptyString),
|
|
9631
|
+
type: Type.Optional(Type.String()),
|
|
9632
|
+
title: Type.Optional(Type.String()),
|
|
9633
|
+
body: Type.Optional(Type.String()),
|
|
9634
|
+
bodyHtml: Type.Optional(Type.String()),
|
|
9635
|
+
actions: Type.Optional(Type.Array(Type.Unknown())),
|
|
9636
|
+
sticky: Type.Optional(Type.Boolean()),
|
|
9637
|
+
dismissable: Type.Optional(Type.Boolean())
|
|
9638
|
+
}, { additionalProperties: true }))
|
|
9639
|
+
}, { additionalProperties: false });
|
|
9610
9640
|
const ChatSendParamsSchema = Type.Object({
|
|
9611
9641
|
sessionKey: NonEmptyString,
|
|
9612
9642
|
message: Type.String(),
|
|
@@ -10039,6 +10069,7 @@ const validateChatHistoryParams = ajv.compile(ChatHistoryParamsSchema);
|
|
|
10039
10069
|
const validateChatCommandsListParams = ajv.compile(ChatCommandsListParamsSchema);
|
|
10040
10070
|
const validateChatToolsListParams = ajv.compile(ChatToolsListParamsSchema);
|
|
10041
10071
|
const validateChatSkillsListParams = ajv.compile(ChatSkillsListParamsSchema);
|
|
10072
|
+
const validateChatSymframePushParams = ajv.compile(ChatSymframePushParamsSchema);
|
|
10042
10073
|
const validateChatSendParams = ajv.compile(ChatSendParamsSchema);
|
|
10043
10074
|
const validateChatAbortParams = ajv.compile(ChatAbortParamsSchema);
|
|
10044
10075
|
const validateChatInjectParams = ajv.compile(ChatInjectParamsSchema);
|
|
@@ -10423,6 +10454,7 @@ const METHOD_SCOPE_GROUPS = {
|
|
|
10423
10454
|
"node.invoke",
|
|
10424
10455
|
"chat.send",
|
|
10425
10456
|
"chat.abort",
|
|
10457
|
+
"chat.symframe.push",
|
|
10426
10458
|
"browser.request",
|
|
10427
10459
|
"push.test"
|
|
10428
10460
|
],
|
|
@@ -12,8 +12,8 @@ import "./shell-env-Dc3iU7HK.js";
|
|
|
12
12
|
import "./manifest-registry-D1MLZEjS.js";
|
|
13
13
|
import { r as isLoopbackHost } from "./ws-C7Ktmt-R.js";
|
|
14
14
|
import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-DgjXWzf-.js";
|
|
15
|
-
import {
|
|
16
|
-
import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-
|
|
15
|
+
import { Gt as approveDevicePairing, Jt as listDevicePairing, en as summarizeDeviceTokens } from "./client-DDqXo-cF.js";
|
|
16
|
+
import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-PpGwcPn-.js";
|
|
17
17
|
import "./pairing-token-Dcy37-4s.js";
|
|
18
18
|
import { n as formatTimeAgo } from "./format-relative-D4GQsWlP.js";
|
|
19
19
|
import { n as withProgress } from "./progress-DQTvTiEg.js";
|
|
@@ -5,8 +5,8 @@ import "./model-selection-CMx1evaF.js";
|
|
|
5
5
|
import "./manifest-registry-CVLmi8rz.js";
|
|
6
6
|
import "./config-D7TcU4qN.js";
|
|
7
7
|
import "./shell-env-CTYaxUs_.js";
|
|
8
|
-
import {
|
|
9
|
-
import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-
|
|
8
|
+
import { Gt as approveDevicePairing, Jt as listDevicePairing, en as summarizeDeviceTokens } from "./client-CdiymIXS.js";
|
|
9
|
+
import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-A18kwyah.js";
|
|
10
10
|
import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-DXToSaWK.js";
|
|
11
11
|
import "./pairing-token-B-OTYROz.js";
|
|
12
12
|
import { n as isLoopbackHost } from "./net-TZUXtwGR.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as resolveCliName } from "./cli-name-CzMV-gJF.js";
|
|
2
2
|
import { t as resolveSymiPackageRoot } from "./symi-root-BQ0IpoW2.js";
|
|
3
3
|
import { t as note } from "./note-ytwb4wwn.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-CtUZzw-P.js";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import { spawnSync } from "node:child_process";
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as resolveCliName } from "./cli-name-DY75UA5M.js";
|
|
2
2
|
import { t as resolveSymiPackageRoot } from "./symi-root-Ctw1Rb_n.js";
|
|
3
3
|
import { t as note } from "./note-Cltpxj6i.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-BM4kZs0m.js";
|
|
5
5
|
import { spawnSync } from "node:child_process";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
|
package/dist/entry.js
CHANGED
|
@@ -2315,7 +2315,7 @@ if (!ensureExperimentalWarningSuppressed()) {
|
|
|
2315
2315
|
applyCliProfileEnv({ profile: parsed.profile });
|
|
2316
2316
|
process$1.argv = parsed.argv;
|
|
2317
2317
|
}
|
|
2318
|
-
import("./run-main-
|
|
2318
|
+
import("./run-main-CUMiBvgm.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
|
|
2319
2319
|
console.error("[symi] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
|
|
2320
2320
|
process$1.exitCode = 1;
|
|
2321
2321
|
});
|
|
@@ -5,20 +5,20 @@ import "./model-selection-CMx1evaF.js";
|
|
|
5
5
|
import "./manifest-registry-CVLmi8rz.js";
|
|
6
6
|
import "./config-D7TcU4qN.js";
|
|
7
7
|
import "./shell-env-CTYaxUs_.js";
|
|
8
|
-
import "./client-
|
|
9
|
-
import "./call-
|
|
8
|
+
import "./client-CdiymIXS.js";
|
|
9
|
+
import "./call-A18kwyah.js";
|
|
10
10
|
import "./message-channel-DXToSaWK.js";
|
|
11
11
|
import "./pairing-token-B-OTYROz.js";
|
|
12
12
|
import { n as formatTimeAgo } from "./format-relative-CxLpEQOX.js";
|
|
13
13
|
import { c as readExecApprovalsSnapshot, p as saveExecApprovals } from "./exec-approvals-DEjIocmZ.js";
|
|
14
14
|
import { t as formatDocsLink } from "./links-B9CbwY46.js";
|
|
15
15
|
import "./progress-BOQ0hkeM.js";
|
|
16
|
-
import { n as callGatewayFromCli } from "./gateway-rpc-
|
|
16
|
+
import { n as callGatewayFromCli } from "./gateway-rpc-vivTzTCq.js";
|
|
17
17
|
import "./systemd-Dtydk5-z.js";
|
|
18
18
|
import "./service-Ccv3Zi5_.js";
|
|
19
19
|
import { t as renderTable } from "./table-Dm8jYqmW.js";
|
|
20
20
|
import { t as describeUnknownError } from "./shared-BJRsBGGr.js";
|
|
21
|
-
import { i as resolveNodeId, r as nodesCallOpts } from "./rpc-
|
|
21
|
+
import { i as resolveNodeId, r as nodesCallOpts } from "./rpc-DP3AhcZq.js";
|
|
22
22
|
import JSON5 from "json5";
|
|
23
23
|
import fs from "node:fs/promises";
|
|
24
24
|
|
|
@@ -11,19 +11,19 @@ import "./env-BRnPI9sO.js";
|
|
|
11
11
|
import "./shell-env-Dc3iU7HK.js";
|
|
12
12
|
import "./manifest-registry-D1MLZEjS.js";
|
|
13
13
|
import "./message-channel-DgjXWzf-.js";
|
|
14
|
-
import "./client-
|
|
15
|
-
import "./call-
|
|
14
|
+
import "./client-DDqXo-cF.js";
|
|
15
|
+
import "./call-PpGwcPn-.js";
|
|
16
16
|
import "./pairing-token-Dcy37-4s.js";
|
|
17
17
|
import { n as formatTimeAgo } from "./format-relative-D4GQsWlP.js";
|
|
18
18
|
import { c as readExecApprovalsSnapshot, p as saveExecApprovals } from "./exec-approvals-DioSaIeH.js";
|
|
19
19
|
import { t as formatDocsLink } from "./links-CQZxjjCO.js";
|
|
20
20
|
import "./progress-DQTvTiEg.js";
|
|
21
|
-
import { n as callGatewayFromCli } from "./gateway-rpc-
|
|
21
|
+
import { n as callGatewayFromCli } from "./gateway-rpc-DMSsr0Xn.js";
|
|
22
22
|
import "./systemd-Dic80Qni.js";
|
|
23
23
|
import "./service-BF50XyKr.js";
|
|
24
24
|
import { t as renderTable } from "./table-Ds5CZCyv.js";
|
|
25
25
|
import { t as describeUnknownError } from "./shared-BmjlTHYU.js";
|
|
26
|
-
import { i as resolveNodeId, r as nodesCallOpts } from "./rpc-
|
|
26
|
+
import { i as resolveNodeId, r as nodesCallOpts } from "./rpc-KjYXUeLD.js";
|
|
27
27
|
import JSON5 from "json5";
|
|
28
28
|
import fs from "node:fs/promises";
|
|
29
29
|
|
package/dist/extensionAPI.js
CHANGED
|
@@ -6,7 +6,7 @@ import { _ as DEFAULT_PROVIDER, g as DEFAULT_MODEL, p as resolveThinkingDefault
|
|
|
6
6
|
import { a as resolveAgentIdentity } from "./reply-prefix-i-FPYcoQ.js";
|
|
7
7
|
import "./plugins-CZ_mYwXq.js";
|
|
8
8
|
import "./replies-0nzkXt6o.js";
|
|
9
|
-
import { a as resolveAgentTimeoutMs, r as runEmbeddedPiAgent } from "./pi-embedded-
|
|
9
|
+
import { a as resolveAgentTimeoutMs, r as runEmbeddedPiAgent } from "./pi-embedded-BAgVs8XC.js";
|
|
10
10
|
import { $ as loadSessionStore, nt as saveSessionStore } from "./deliver-f3cIWxXT.js";
|
|
11
11
|
import "./diagnostic-BdRnGknC.js";
|
|
12
12
|
import "./diagnostic-session-state-DpxCUzoM.js";
|
|
@@ -23,7 +23,7 @@ import "./errors-BEU7IHU6.js";
|
|
|
23
23
|
import "./tokens-yWO1wD7Z.js";
|
|
24
24
|
import "./thinking-DgjGxdSP.js";
|
|
25
25
|
import { n as resolveSessionFilePath, s as resolveStorePath } from "./paths-BsT3BvfH.js";
|
|
26
|
-
import "./manager
|
|
26
|
+
import "./manager--GmDbwza.js";
|
|
27
27
|
import "./github-copilot-token-dYUr1mDQ.js";
|
|
28
28
|
import "./sqlite-D8iYC_CU.js";
|
|
29
29
|
import "./markdown-tables-jQzXAsf3.js";
|