agim-cli 1.2.70 → 1.2.72
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/CHANGELOG.md +62 -0
- package/dist/web/public/assets/{a2a-CzOCrC9J.js → a2a-BbtW9q1L.js} +2 -2
- package/dist/web/public/assets/{a2a-CzOCrC9J.js.map → a2a-BbtW9q1L.js.map} +1 -1
- package/dist/web/public/assets/{activity-BlasCFZq.js → activity-CJmQLZ6_.js} +2 -2
- package/dist/web/public/assets/{activity-BlasCFZq.js.map → activity-CJmQLZ6_.js.map} +1 -1
- package/dist/web/public/assets/{admins-CQOShfRl.js → admins-BJP9koxS.js} +2 -2
- package/dist/web/public/assets/{admins-CQOShfRl.js.map → admins-BJP9koxS.js.map} +1 -1
- package/dist/web/public/assets/{agents-UstP4DoK.js → agents-DC0XFC6e.js} +2 -2
- package/dist/web/public/assets/{agents-UstP4DoK.js.map → agents-DC0XFC6e.js.map} +1 -1
- package/dist/web/public/assets/{approvals-BvfcdYLU.js → approvals-DiPkpPN4.js} +2 -2
- package/dist/web/public/assets/{approvals-BvfcdYLU.js.map → approvals-DiPkpPN4.js.map} +1 -1
- package/dist/web/public/assets/{asks-DAJ1edZu.js → asks-CG9chQgT.js} +2 -2
- package/dist/web/public/assets/{asks-DAJ1edZu.js.map → asks-CG9chQgT.js.map} +1 -1
- package/dist/web/public/assets/{audit-CAOadRDl.js → audit-B40mxlW1.js} +2 -2
- package/dist/web/public/assets/{audit-CAOadRDl.js.map → audit-B40mxlW1.js.map} +1 -1
- package/dist/web/public/assets/{bell-BuZoWBMK.js → bell-BC8Jqt9f.js} +2 -2
- package/dist/web/public/assets/{bell-BuZoWBMK.js.map → bell-BC8Jqt9f.js.map} +1 -1
- package/dist/web/public/assets/{bgjobs-C5jF3BWG.js → bgjobs-ClrQ2jzx.js} +2 -2
- package/dist/web/public/assets/{bgjobs-C5jF3BWG.js.map → bgjobs-ClrQ2jzx.js.map} +1 -1
- package/dist/web/public/assets/{brain-DaFGi4GZ.js → brain-BBx7RF2j.js} +2 -2
- package/dist/web/public/assets/{brain-DaFGi4GZ.js.map → brain-BBx7RF2j.js.map} +1 -1
- package/dist/web/public/assets/{briefcase-BXKiYFAz.js → briefcase-TihsRkSy.js} +2 -2
- package/dist/web/public/assets/{briefcase-BXKiYFAz.js.map → briefcase-TihsRkSy.js.map} +1 -1
- package/dist/web/public/assets/{chevron-right-Bi2RmsHt.js → chevron-right-DTLZLXDP.js} +2 -2
- package/dist/web/public/assets/{chevron-right-Bi2RmsHt.js.map → chevron-right-DTLZLXDP.js.map} +1 -1
- package/dist/web/public/assets/{circle-check-NYJSuZMK.js → circle-check-EHM2OMD5.js} +2 -2
- package/dist/web/public/assets/{circle-check-NYJSuZMK.js.map → circle-check-EHM2OMD5.js.map} +1 -1
- package/dist/web/public/assets/{circle-check-big-wxQV9Apf.js → circle-check-big-DJXNAZ3u.js} +2 -2
- package/dist/web/public/assets/{circle-check-big-wxQV9Apf.js.map → circle-check-big-DJXNAZ3u.js.map} +1 -1
- package/dist/web/public/assets/{circle-x-D7EpTdJQ.js → circle-x-DsaHSb_C.js} +2 -2
- package/dist/web/public/assets/{circle-x-D7EpTdJQ.js.map → circle-x-DsaHSb_C.js.map} +1 -1
- package/dist/web/public/assets/{confirm-dialog-BecM1NAT.js → confirm-dialog-DezSK6wB.js} +2 -2
- package/dist/web/public/assets/{confirm-dialog-BecM1NAT.js.map → confirm-dialog-DezSK6wB.js.map} +1 -1
- package/dist/web/public/assets/{data-table-Bh5TFhXw.js → data-table-DdSnbgyt.js} +2 -2
- package/dist/web/public/assets/{data-table-Bh5TFhXw.js.map → data-table-DdSnbgyt.js.map} +1 -1
- package/dist/web/public/assets/{dialog-8m5Uihhi.js → dialog-45x-p0sR.js} +2 -2
- package/dist/web/public/assets/{dialog-8m5Uihhi.js.map → dialog-45x-p0sR.js.map} +1 -1
- package/dist/web/public/assets/{download-DWvNllY2.js → download-BL4jeu4M.js} +2 -2
- package/dist/web/public/assets/{download-DWvNllY2.js.map → download-BL4jeu4M.js.map} +1 -1
- package/dist/web/public/assets/{email-Cr1x3fdt.js → email-BGUO-gme.js} +2 -2
- package/dist/web/public/assets/{email-Cr1x3fdt.js.map → email-BGUO-gme.js.map} +1 -1
- package/dist/web/public/assets/{empty-state-BESUGVnV.js → empty-state-n-LfHo6N.js} +2 -2
- package/dist/web/public/assets/{empty-state-BESUGVnV.js.map → empty-state-n-LfHo6N.js.map} +1 -1
- package/dist/web/public/assets/{external-link-BwscsXby.js → external-link-CZd6ma6Y.js} +2 -2
- package/dist/web/public/assets/{external-link-BwscsXby.js.map → external-link-CZd6ma6Y.js.map} +1 -1
- package/dist/web/public/assets/{eye-C7gaSIZv.js → eye-LsErAgqh.js} +2 -2
- package/dist/web/public/assets/{eye-C7gaSIZv.js.map → eye-LsErAgqh.js.map} +1 -1
- package/dist/web/public/assets/{facts-B9hm9627.js → facts-CxZ3L_7a.js} +2 -2
- package/dist/web/public/assets/{facts-B9hm9627.js.map → facts-CxZ3L_7a.js.map} +1 -1
- package/dist/web/public/assets/{goals-D3f1Dw2M.js → goals-BjzgqVnW.js} +2 -2
- package/dist/web/public/assets/{goals-D3f1Dw2M.js.map → goals-BjzgqVnW.js.map} +1 -1
- package/dist/web/public/assets/{health-BLwrXebg.js → health-BYX5IK98.js} +2 -2
- package/dist/web/public/assets/{health-BLwrXebg.js.map → health-BYX5IK98.js.map} +1 -1
- package/dist/web/public/assets/{heart-pulse-BtioxtCU.js → heart-pulse-D_xUK9r0.js} +2 -2
- package/dist/web/public/assets/{heart-pulse-BtioxtCU.js.map → heart-pulse-D_xUK9r0.js.map} +1 -1
- package/dist/web/public/assets/{heartbeat-BHPx1z33.js → heartbeat-DnSegIYS.js} +2 -2
- package/dist/web/public/assets/{heartbeat-BHPx1z33.js.map → heartbeat-DnSegIYS.js.map} +1 -1
- package/dist/web/public/assets/{hot-CuaGMYzV.js → hot-C5TxCTVL.js} +2 -2
- package/dist/web/public/assets/{hot-CuaGMYzV.js.map → hot-C5TxCTVL.js.map} +1 -1
- package/dist/web/public/assets/{index-Cc8hxJWT.js → index-CbWhcThC.js} +3 -3
- package/dist/web/public/assets/{index-Cc8hxJWT.js.map → index-CbWhcThC.js.map} +1 -1
- package/dist/web/public/assets/{installed-D_BoGzel.js → installed-D_Hjs7uj.js} +2 -2
- package/dist/web/public/assets/{installed-D_BoGzel.js.map → installed-D_Hjs7uj.js.map} +1 -1
- package/dist/web/public/assets/{jobs-D0eeD9ye.js → jobs-DWtjJIAD.js} +2 -2
- package/dist/web/public/assets/{jobs-D0eeD9ye.js.map → jobs-DWtjJIAD.js.map} +1 -1
- package/dist/web/public/assets/{layout-DPxfAgBW.js → layout-54-PzplU.js} +2 -2
- package/dist/web/public/assets/{layout-DPxfAgBW.js.map → layout-54-PzplU.js.map} +1 -1
- package/dist/web/public/assets/{layout-bRkGiGF-.js → layout-BLK9XuQB.js} +2 -2
- package/dist/web/public/assets/{layout-bRkGiGF-.js.map → layout-BLK9XuQB.js.map} +1 -1
- package/dist/web/public/assets/{layout-CvRW3Bn_.js → layout-CTyy2kgf.js} +2 -2
- package/dist/web/public/assets/{layout-CvRW3Bn_.js.map → layout-CTyy2kgf.js.map} +1 -1
- package/dist/web/public/assets/{layout-Wl7Pr1-s.js → layout-CvvZcaiO.js} +2 -2
- package/dist/web/public/assets/{layout-Wl7Pr1-s.js.map → layout-CvvZcaiO.js.map} +1 -1
- package/dist/web/public/assets/{layout-CQe9ncYF.js → layout-D1-LnIA_.js} +2 -2
- package/dist/web/public/assets/{layout-CQe9ncYF.js.map → layout-D1-LnIA_.js.map} +1 -1
- package/dist/web/public/assets/{llm-CJGxq9Ru.js → llm-D59Tv6ne.js} +2 -2
- package/dist/web/public/assets/{llm-CJGxq9Ru.js.map → llm-D59Tv6ne.js.map} +1 -1
- package/dist/web/public/assets/{loader-circle-D4WrM89N.js → loader-circle-U64eR4W2.js} +2 -2
- package/dist/web/public/assets/{loader-circle-D4WrM89N.js.map → loader-circle-U64eR4W2.js.map} +1 -1
- package/dist/web/public/assets/{map-pin-DGSzw_UH.js → map-pin-D08YlPs3.js} +2 -2
- package/dist/web/public/assets/{map-pin-DGSzw_UH.js.map → map-pin-D08YlPs3.js.map} +1 -1
- package/dist/web/public/assets/{mcp-DYp7QbX8.js → mcp-Br9fBIWu.js} +2 -2
- package/dist/web/public/assets/{mcp-DYp7QbX8.js.map → mcp-Br9fBIWu.js.map} +1 -1
- package/dist/web/public/assets/{memos-Dz0jD4R5.js → memos-nZKV3SLq.js} +2 -2
- package/dist/web/public/assets/{memos-Dz0jD4R5.js.map → memos-nZKV3SLq.js.map} +1 -1
- package/dist/web/public/assets/messengers-C8ss4WVx.js +7 -0
- package/dist/web/public/assets/messengers-C8ss4WVx.js.map +1 -0
- package/dist/web/public/assets/{native-agent-ChgK3ceB.js → native-agent-BiiYK91m.js} +2 -2
- package/dist/web/public/assets/{native-agent-ChgK3ceB.js.map → native-agent-BiiYK91m.js.map} +1 -1
- package/dist/web/public/assets/{network-D8uD8vuE.js → network-D9rhTHz5.js} +2 -2
- package/dist/web/public/assets/{network-D8uD8vuE.js.map → network-D9rhTHz5.js.map} +1 -1
- package/dist/web/public/assets/{outbox-CRcmD2P1.js → outbox-BS_gla4W.js} +2 -2
- package/dist/web/public/assets/{outbox-CRcmD2P1.js.map → outbox-BS_gla4W.js.map} +1 -1
- package/dist/web/public/assets/{pagination-BK8pXuOn.js → pagination-CSuYj-hv.js} +2 -2
- package/dist/web/public/assets/{pagination-BK8pXuOn.js.map → pagination-CSuYj-hv.js.map} +1 -1
- package/dist/web/public/assets/{persona-Dk4Y24TF.js → persona-BByKd8Zd.js} +2 -2
- package/dist/web/public/assets/{persona-Dk4Y24TF.js.map → persona-BByKd8Zd.js.map} +1 -1
- package/dist/web/public/assets/{play-BAwY0kZY.js → play-B_11jKz_.js} +2 -2
- package/dist/web/public/assets/{play-BAwY0kZY.js.map → play-B_11jKz_.js.map} +1 -1
- package/dist/web/public/assets/{plus-Qg7H_hBC.js → plus-BxhCliGV.js} +2 -2
- package/dist/web/public/assets/{plus-Qg7H_hBC.js.map → plus-BxhCliGV.js.map} +1 -1
- package/dist/web/public/assets/{policy-bd1_X4KT.js → policy-CHbUM0MU.js} +2 -2
- package/dist/web/public/assets/{policy-bd1_X4KT.js.map → policy-CHbUM0MU.js.map} +1 -1
- package/dist/web/public/assets/{refresh-ccw-DjeeSzbz.js → refresh-ccw-BKw5Agez.js} +2 -2
- package/dist/web/public/assets/{refresh-ccw-DjeeSzbz.js.map → refresh-ccw-BKw5Agez.js.map} +1 -1
- package/dist/web/public/assets/{reminders-CyNYrPCo.js → reminders-_MsAKlS7.js} +2 -2
- package/dist/web/public/assets/{reminders-CyNYrPCo.js.map → reminders-_MsAKlS7.js.map} +1 -1
- package/dist/web/public/assets/{save-B6_ssx8c.js → save-DznSJZGN.js} +2 -2
- package/dist/web/public/assets/{save-B6_ssx8c.js.map → save-DznSJZGN.js.map} +1 -1
- package/dist/web/public/assets/{schedules-DVxENvba.js → schedules-CiRZXonB.js} +2 -2
- package/dist/web/public/assets/{schedules-DVxENvba.js.map → schedules-CiRZXonB.js.map} +1 -1
- package/dist/web/public/assets/{search-BJwBDf0Q.js → search-CXr_r7L8.js} +2 -2
- package/dist/web/public/assets/{search-BJwBDf0Q.js.map → search-CXr_r7L8.js.map} +1 -1
- package/dist/web/public/assets/{security-Co1823U6.js → security-CjySIq-k.js} +2 -2
- package/dist/web/public/assets/{security-Co1823U6.js.map → security-CjySIq-k.js.map} +1 -1
- package/dist/web/public/assets/{service-BJ2kE446.js → service-LXlgJooI.js} +2 -2
- package/dist/web/public/assets/{service-BJ2kE446.js.map → service-LXlgJooI.js.map} +1 -1
- package/dist/web/public/assets/{status-badge-3nnQTZXz.js → status-badge-BsPU9NHK.js} +2 -2
- package/dist/web/public/assets/{status-badge-3nnQTZXz.js.map → status-badge-BsPU9NHK.js.map} +1 -1
- package/dist/web/public/assets/{subtasks-BgHm-5dB.js → subtasks-DM8tJkC7.js} +2 -2
- package/dist/web/public/assets/{subtasks-BgHm-5dB.js.map → subtasks-DM8tJkC7.js.map} +1 -1
- package/dist/web/public/assets/{table-CNXI0HD-.js → table-CQbO75bn.js} +2 -2
- package/dist/web/public/assets/{table-CNXI0HD-.js.map → table-CQbO75bn.js.map} +1 -1
- package/dist/web/public/assets/{topn-C1PyG8Ns.js → topn-CaCYQ1NI.js} +2 -2
- package/dist/web/public/assets/{topn-C1PyG8Ns.js.map → topn-CaCYQ1NI.js.map} +1 -1
- package/dist/web/public/assets/{trash-2-CjkttCxU.js → trash-2-CdgBbY1Z.js} +2 -2
- package/dist/web/public/assets/{trash-2-CjkttCxU.js.map → trash-2-CdgBbY1Z.js.map} +1 -1
- package/dist/web/public/assets/{use-background-tasks-CLf78_yn.js → use-background-tasks-DUDxcbbl.js} +2 -2
- package/dist/web/public/assets/{use-background-tasks-CLf78_yn.js.map → use-background-tasks-DUDxcbbl.js.map} +1 -1
- package/dist/web/public/assets/{use-llm-admin-CzL0zcIi.js → use-llm-admin-Bpy7nDu-.js} +2 -2
- package/dist/web/public/assets/{use-llm-admin-CzL0zcIi.js.map → use-llm-admin-Bpy7nDu-.js.map} +1 -1
- package/dist/web/public/assets/{use-memory-DrJjdPYo.js → use-memory-B00AYXi0.js} +2 -2
- package/dist/web/public/assets/{use-memory-DrJjdPYo.js.map → use-memory-B00AYXi0.js.map} +1 -1
- package/dist/web/public/assets/{use-observability-1j7-vMy5.js → use-observability-7ETfQyEP.js} +2 -2
- package/dist/web/public/assets/{use-observability-1j7-vMy5.js.map → use-observability-7ETfQyEP.js.map} +1 -1
- package/dist/web/public/assets/{use-settings-BLcy2mrv.js → use-settings-tzqyzhw3.js} +2 -2
- package/dist/web/public/assets/{use-settings-BLcy2mrv.js.map → use-settings-tzqyzhw3.js.map} +1 -1
- package/dist/web/public/assets/{use-workspace-BLXvLTDF.js → use-workspace-B5gbK4s5.js} +2 -2
- package/dist/web/public/assets/{use-workspace-BLXvLTDF.js.map → use-workspace-B5gbK4s5.js.map} +1 -1
- package/dist/web/public/assets/{useQuery-xB5dCeu-.js → useQuery-wnQifGeZ.js} +2 -2
- package/dist/web/public/assets/{useQuery-xB5dCeu-.js.map → useQuery-wnQifGeZ.js.map} +1 -1
- package/dist/web/public/assets/{vector-EOjQsr7r.js → vector-or1-MfRX.js} +2 -2
- package/dist/web/public/assets/{vector-EOjQsr7r.js.map → vector-or1-MfRX.js.map} +1 -1
- package/dist/web/public/assets/{viewer-D_I2ikzf.js → viewer-C0f5b5eT.js} +2 -2
- package/dist/web/public/assets/{viewer-D_I2ikzf.js.map → viewer-C0f5b5eT.js.map} +1 -1
- package/dist/web/public/assets/{workspace-lMCzYJAB.js → workspace-CGE46-O2.js} +2 -2
- package/dist/web/public/assets/{workspace-lMCzYJAB.js.map → workspace-CGE46-O2.js.map} +1 -1
- package/dist/web/public/assets/{workspaces-Ciyjiowm.js → workspaces-CqDIcIXo.js} +2 -2
- package/dist/web/public/assets/{workspaces-Ciyjiowm.js.map → workspaces-CqDIcIXo.js.map} +1 -1
- package/dist/web/public/assets/{x-DP0VnoG9.js → x-DBZPbfu3.js} +2 -2
- package/dist/web/public/assets/{x-DP0VnoG9.js.map → x-DBZPbfu3.js.map} +1 -1
- package/dist/web/public/index.html +1 -1
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +21 -41
- package/dist/web/server.js.map +1 -1
- package/package.json +1 -1
- package/dist/web/public/_app.js +0 -248
- package/dist/web/public/assets/messengers-Bewhby2_.js +0 -7
- package/dist/web/public/assets/messengers-Bewhby2_.js.map +0 -1
- package/dist/web/public/memos.html +0 -352
- package/dist/web/public/reminders.html +0 -332
- package/dist/web/public/settings.html +0 -2488
- package/dist/web/public/tasks.html +0 -3724
package/dist/web/server.js
CHANGED
|
@@ -40,7 +40,6 @@ const PUBLIC_EXACT_PATHS = new Set([
|
|
|
40
40
|
'/login', '/login.html',
|
|
41
41
|
'/api/auth/login',
|
|
42
42
|
'/api/health',
|
|
43
|
-
'/_app.js',
|
|
44
43
|
'/loc', '/loc.html',
|
|
45
44
|
// POST /api/loc (the bare path, no trailing slash) is the H5 page's
|
|
46
45
|
// "submit my coordinates" endpoint. It's authenticated by the single-use
|
|
@@ -361,28 +360,27 @@ export async function startWebServer(options) {
|
|
|
361
360
|
// Loopback peers + the public paths below bypass.
|
|
362
361
|
if (!checkAuth(req, res, url))
|
|
363
362
|
return;
|
|
364
|
-
// v2 SPA
|
|
365
|
-
//
|
|
366
|
-
//
|
|
367
|
-
//
|
|
368
|
-
//
|
|
369
|
-
//
|
|
370
|
-
//
|
|
363
|
+
// v1.2.72 — v2 SPA is the only web admin. The legacy v1 monolithic
|
|
364
|
+
// HTML pages (settings.html / tasks.html / reminders.html /
|
|
365
|
+
// memos.html / _app.js) have been removed; the `IMHUB_WEB_V2` env
|
|
366
|
+
// gate is gone — there is no v1 fallback anymore. Operators who
|
|
367
|
+
// were on the legacy layout flipped over automatically when they
|
|
368
|
+
// upgraded past 1.2.21 (default switch); the env knob remained as
|
|
369
|
+
// a back-out hatch through 1.2.71 and is retired here.
|
|
371
370
|
//
|
|
372
|
-
//
|
|
373
|
-
//
|
|
374
|
-
//
|
|
375
|
-
//
|
|
376
|
-
//
|
|
377
|
-
if (
|
|
371
|
+
// This branch serves the SPA chunks under `/assets/*.js`, the
|
|
372
|
+
// favicon / manifest, and falls back to `index.html` for any
|
|
373
|
+
// client-side route. Without it a fresh install hits a white
|
|
374
|
+
// screen because `<script src="/assets/…js">` 404s — no other
|
|
375
|
+
// handler claims that path.
|
|
376
|
+
if (req.method === 'GET') {
|
|
378
377
|
const p = url.pathname;
|
|
379
378
|
const isApi = p.startsWith('/api/');
|
|
380
379
|
const isWs = p.startsWith('/ws');
|
|
381
380
|
const isSse = p === '/events';
|
|
382
381
|
const isVendor = p.startsWith('/vendor/');
|
|
383
|
-
const isLegacyShared = p === '/_app.js' || p === '/_shell.css';
|
|
384
382
|
const isPublicSsr = p === '/loc' || p === '/loc.html' || p.startsWith('/l/') || p.startsWith('/v/');
|
|
385
|
-
if (!isApi && !isWs && !isSse && !isVendor && !
|
|
383
|
+
if (!isApi && !isWs && !isSse && !isVendor && !isPublicSsr) {
|
|
386
384
|
// SPA static asset (assets/index-xxx.js, /manifest.webmanifest,
|
|
387
385
|
// /favicon.svg) → return the file if it exists in PUBLIC_DIR.
|
|
388
386
|
// Otherwise fall back to /index.html so the router handles it.
|
|
@@ -403,22 +401,6 @@ export async function startWebServer(options) {
|
|
|
403
401
|
}
|
|
404
402
|
// Falls through to API / WS / SSR-page handlers below.
|
|
405
403
|
}
|
|
406
|
-
// Static pages — direct serve, no auth gate. This is the v1
|
|
407
|
-
// routing path; v2 takes precedence when IMHUB_WEB_V2=1 (above).
|
|
408
|
-
if (url.pathname === '/' || url.pathname === '/index.html' ||
|
|
409
|
-
url.pathname === '/settings' || url.pathname === '/settings.html' ||
|
|
410
|
-
url.pathname === '/tasks' || url.pathname === '/tasks.html' ||
|
|
411
|
-
url.pathname === '/reminders' || url.pathname === '/reminders.html' ||
|
|
412
|
-
url.pathname === '/memos' || url.pathname === '/memos.html') {
|
|
413
|
-
const fileMap = {
|
|
414
|
-
'/': 'index.html', '/index.html': 'index.html',
|
|
415
|
-
'/settings': 'settings.html', '/settings.html': 'settings.html',
|
|
416
|
-
'/tasks': 'tasks.html', '/tasks.html': 'tasks.html',
|
|
417
|
-
'/reminders': 'reminders.html', '/reminders.html': 'reminders.html',
|
|
418
|
-
'/memos': 'memos.html', '/memos.html': 'memos.html',
|
|
419
|
-
};
|
|
420
|
-
return servePageHtml(res, join(PUBLIC_DIR, fileMap[url.pathname]));
|
|
421
|
-
}
|
|
422
404
|
// M4: /api/health is intentionally public (k8s liveness probe friendly)
|
|
423
405
|
// — declare it BEFORE the /api/* token gate so callers don't need to
|
|
424
406
|
// know the web token. Returns only operational status, not config.
|
|
@@ -436,13 +418,6 @@ export async function startWebServer(options) {
|
|
|
436
418
|
if (url.pathname === '/login' && req.method === 'GET') {
|
|
437
419
|
return serveStatic(res, join(PUBLIC_DIR, 'login.html'), 'text/html; charset=utf-8');
|
|
438
420
|
}
|
|
439
|
-
// Shared web-console utilities (theme manager + i18n + error boundary
|
|
440
|
-
// + auth-aware fetch). Loaded synchronously by every static page in
|
|
441
|
-
// <head> so the theme can apply before first paint. No secrets — safe
|
|
442
|
-
// to serve un-authenticated.
|
|
443
|
-
if (url.pathname === '/_app.js' && req.method === 'GET') {
|
|
444
|
-
return serveStatic(res, join(PUBLIC_DIR, '_app.js'), 'application/javascript; charset=utf-8');
|
|
445
|
-
}
|
|
446
421
|
// v1.2.3 — vendored third-party assets (Chart.js etc). Whitelist by
|
|
447
422
|
// filename pattern to keep the static surface tight. Public on
|
|
448
423
|
// purpose — no auth gate (third-party libs aren't secrets).
|
|
@@ -1579,6 +1554,11 @@ async function handleGetConfig(_req, res) {
|
|
|
1579
1554
|
features: {
|
|
1580
1555
|
globalIm: showGlobalIm,
|
|
1581
1556
|
remoteAgent: showRemoteAgent,
|
|
1557
|
+
// v1.2.71 — surface the live blacklist set so the SPA can hide
|
|
1558
|
+
// PlatformCards for blacklisted platforms. Without this the
|
|
1559
|
+
// backend filter on `messengers` / `telegram` / `feishu` etc.
|
|
1560
|
+
// only emptied the data but the hardcoded cards still rendered.
|
|
1561
|
+
blacklistedPlatforms: (await import('../core/registry.js')).getPlatformBlacklist(),
|
|
1582
1562
|
},
|
|
1583
1563
|
webPort: config.webPort,
|
|
1584
1564
|
// R15 — acpPort travels only when remote-agent feature is on.
|
|
@@ -1788,8 +1768,8 @@ function validateWorkspacePayload(raw, expectedId) {
|
|
|
1788
1768
|
}
|
|
1789
1769
|
/**
|
|
1790
1770
|
* Persist the workspaces array back to ~/.agim/config.json so changes
|
|
1791
|
-
* survive a restart. We do not touch other config fields —
|
|
1792
|
-
* has its own /api/config PUT for that. Best-effort: a write failure is
|
|
1771
|
+
* survive a restart. We do not touch other config fields — the SPA
|
|
1772
|
+
* settings page has its own /api/config PUT for that. Best-effort: a write failure is
|
|
1793
1773
|
* logged but the in-memory registry has already been updated, so the
|
|
1794
1774
|
* change is live until the next process boot.
|
|
1795
1775
|
*/
|