Files
Agent Board 262e66b02e feat: purge legacy agent hosts and land vault Chrome extension path
Retire ACP/Hermes/OpenCode surfaces and rename hermes_tools to
mnote_agent_tools so Page AI stays on Pi Lab only. Add Chrome vault
extension + extension token route, pre-release purge design, and soft-retire
legacy smokes for the small-group production cut.
2026-07-25 14:25:37 +08:00

81 lines
2.2 KiB
JavaScript

const $ = (id) => document.getElementById(id);
async function refresh() {
const res = await chrome.runtime.sendMessage({ type: "GET_STATUS" });
const r = res?.result || {};
const el = $("status");
if (r.connected) {
el.className = "status on";
el.textContent = `已连接 · ${r.email || r.userId || ""}`;
} else {
el.className = "status off";
el.textContent = "未连接 — 请先在 Options 登录";
}
}
$("options").onclick = () => {
chrome.runtime.openOptionsPage();
};
$("savePage").onclick = async () => {
$("msg").textContent = "";
const [tab] = await chrome.tabs.query({ active: true, currentWindow: true });
if (!tab?.id) {
$("msg").textContent = "无活动标签";
return;
}
try {
// Prefer pending draft (post-login) via background; falls back to live form.
const res = await chrome.runtime.sendMessage({
type: "PROMPT_PENDING",
tabId: tab.id,
});
if (!res?.ok) {
$("msg").textContent = res?.error || "无法打开确认层";
return;
}
$("msg").textContent = "已在页面打开确认层";
window.close();
} catch (e) {
$("msg").textContent =
e?.message ||
"无法注入当前页(受保护页面或未加载)。请在普通 http(s) 页重试。";
}
};
$("updateSession").onclick = async () => {
$("msg").textContent = "匹配条目…";
const [tab] = await chrome.tabs.query({ active: true, currentWindow: true });
if (!tab?.url) {
$("msg").textContent = "无活动标签 URL";
return;
}
try {
const match = await chrome.runtime.sendMessage({
type: "MATCH_URL",
pageUrl: tab.url,
});
const items = match?.result?.items || [];
if (!items.length) {
$("msg").textContent = "无同站条目:请先保存账号";
return;
}
const id = items[0].id;
const res = await chrome.runtime.sendMessage({
type: "UPDATE_SESSION",
credentialId: id,
pageUrl: tab.url,
accountId: "primary",
});
if (!res?.ok) {
$("msg").textContent = res?.error || "更新失败";
return;
}
$("msg").textContent = `已更新登录态 · ${id}`;
} catch (e) {
$("msg").textContent = e?.message || String(e);
}
};
refresh();