@agent-relay/dashboard-server 2.0.63 → 2.0.64
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/server.d.ts.map +1 -1
- package/dist/server.js +33 -7
- package/dist/server.js.map +1 -1
- package/out/404.html +1 -1
- package/out/_next/static/chunks/873-9aee36b975a9556a.js +1 -0
- package/out/_next/static/css/2ee05ba949b3ac9f.css +1 -0
- package/out/about.html +2 -2
- package/out/about.txt +1 -1
- package/out/app/onboarding.html +1 -1
- package/out/app/onboarding.txt +1 -1
- package/out/app.html +1 -1
- package/out/app.txt +2 -2
- package/out/blog/go-to-bed-wake-up-to-a-finished-product.html +2 -2
- package/out/blog/go-to-bed-wake-up-to-a-finished-product.txt +1 -1
- package/out/blog/let-them-cook-multi-agent-orchestration.html +2 -2
- package/out/blog/let-them-cook-multi-agent-orchestration.txt +1 -1
- package/out/blog.html +2 -2
- package/out/blog.txt +1 -1
- package/out/careers.html +2 -2
- package/out/careers.txt +1 -1
- package/out/changelog.html +2 -2
- package/out/changelog.txt +1 -1
- package/out/cloud/link.html +1 -1
- package/out/cloud/link.txt +1 -1
- package/out/complete-profile.html +2 -2
- package/out/complete-profile.txt +1 -1
- package/out/connect-repos.html +1 -1
- package/out/connect-repos.txt +1 -1
- package/out/contact.html +2 -2
- package/out/contact.txt +1 -1
- package/out/docs.html +2 -2
- package/out/docs.txt +1 -1
- package/out/history.html +1 -1
- package/out/history.txt +1 -1
- package/out/index.html +1 -1
- package/out/index.txt +2 -2
- package/out/login.html +2 -2
- package/out/login.txt +1 -1
- package/out/metrics.html +1 -1
- package/out/metrics.txt +1 -1
- package/out/pricing.html +2 -2
- package/out/pricing.txt +1 -1
- package/out/privacy.html +2 -2
- package/out/privacy.txt +1 -1
- package/out/providers/setup/claude.html +1 -1
- package/out/providers/setup/claude.txt +1 -1
- package/out/providers/setup/codex.html +1 -1
- package/out/providers/setup/codex.txt +1 -1
- package/out/providers/setup/cursor.html +1 -1
- package/out/providers/setup/cursor.txt +1 -1
- package/out/providers.html +1 -1
- package/out/providers.txt +1 -1
- package/out/security.html +2 -2
- package/out/security.txt +1 -1
- package/out/signup.html +2 -2
- package/out/signup.txt +1 -1
- package/out/terms.html +2 -2
- package/out/terms.txt +1 -1
- package/package.json +10 -10
- package/out/_next/static/chunks/873-6b31247a84ec58c2.js +0 -1
- package/out/_next/static/css/ad96af0f7a47b705.css +0 -1
- /package/out/_next/static/{Ip08bs-aI4i94zrABOaVi → 6oI4iquYj1QbK8njLsK3s}/_buildManifest.js +0 -0
- /package/out/_next/static/{Ip08bs-aI4i94zrABOaVi → 6oI4iquYj1QbK8njLsK3s}/_ssgManifest.js +0 -0
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AA8DA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AA8DA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAiYzD,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AACvH,wBAAsB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC"}
|
package/dist/server.js
CHANGED
|
@@ -790,24 +790,43 @@ export async function startDashboard(portOrOptions, dataDirArg, teamDirArg, dbPa
|
|
|
790
790
|
// Serve Next.js static export with .html extension handling
|
|
791
791
|
app.use(express.static(dashboardDir, { extensions: ['html'] }));
|
|
792
792
|
// Fallback for Next.js pages (e.g., /metrics -> /metrics.html)
|
|
793
|
-
// These are needed when a route exists as both a directory and .html file
|
|
794
|
-
|
|
793
|
+
// These are needed when a route exists as both a directory and .html file.
|
|
794
|
+
// For /app/* deep links we prefer redirecting to "/" if the export is missing,
|
|
795
|
+
// so users don’t get stuck on a plain-text error on refresh.
|
|
796
|
+
const uiMissingMessage = 'Dashboard UI file not found. Please reinstall using: curl -fsSL https://raw.githubusercontent.com/AgentWorkforce/relay/main/install.sh | bash';
|
|
797
|
+
const sendFileOr = (res, filePath, onError) => {
|
|
795
798
|
res.sendFile(filePath, (err) => {
|
|
796
799
|
if (err && !res.headersSent) {
|
|
797
|
-
|
|
800
|
+
onError(err);
|
|
798
801
|
}
|
|
799
802
|
});
|
|
800
803
|
};
|
|
804
|
+
const sendFileOrText404 = (res, filePath, message) => {
|
|
805
|
+
sendFileOr(res, filePath, () => {
|
|
806
|
+
res.status(404).send(message);
|
|
807
|
+
});
|
|
808
|
+
};
|
|
809
|
+
const sendFileOrRedirectRoot = (res, filePath) => {
|
|
810
|
+
sendFileOr(res, filePath, () => {
|
|
811
|
+
// If the app entrypoint isn’t present, try to recover by sending users
|
|
812
|
+
// to the root page (if it exists). Otherwise keep the install hint.
|
|
813
|
+
if (fs.existsSync(path.join(dashboardDir, 'index.html'))) {
|
|
814
|
+
res.redirect(302, '/');
|
|
815
|
+
return;
|
|
816
|
+
}
|
|
817
|
+
res.status(404).send(uiMissingMessage);
|
|
818
|
+
});
|
|
819
|
+
};
|
|
801
820
|
app.get('/metrics', (req, res) => {
|
|
802
|
-
|
|
821
|
+
sendFileOrText404(res, path.join(dashboardDir, 'metrics.html'), uiMissingMessage);
|
|
803
822
|
});
|
|
804
823
|
app.get('/app', (req, res) => {
|
|
805
|
-
|
|
824
|
+
sendFileOrRedirectRoot(res, path.join(dashboardDir, 'app.html'));
|
|
806
825
|
});
|
|
807
826
|
// Catch-all for /app/* routes - serve app.html and let client-side routing handle it
|
|
808
827
|
// Express 5 requires named parameter for wildcards
|
|
809
828
|
app.get('/app/{*path}', (req, res) => {
|
|
810
|
-
|
|
829
|
+
sendFileOrRedirectRoot(res, path.join(dashboardDir, 'app.html'));
|
|
811
830
|
});
|
|
812
831
|
}
|
|
813
832
|
else {
|
|
@@ -1796,7 +1815,7 @@ export async function startDashboard(portOrOptions, dataDirArg, teamDirArg, dbPa
|
|
|
1796
1815
|
// Ignore errors reading processing state - it's optional
|
|
1797
1816
|
}
|
|
1798
1817
|
}
|
|
1799
|
-
// Mark spawned agents with isSpawned flag and
|
|
1818
|
+
// Mark spawned agents with isSpawned flag, team, and model
|
|
1800
1819
|
if (spawnReader) {
|
|
1801
1820
|
const activeWorkers = spawnReader.getActiveWorkers();
|
|
1802
1821
|
for (const worker of activeWorkers) {
|
|
@@ -1806,6 +1825,13 @@ export async function startDashboard(portOrOptions, dataDirArg, teamDirArg, dbPa
|
|
|
1806
1825
|
if (worker.team) {
|
|
1807
1826
|
agent.team = worker.team;
|
|
1808
1827
|
}
|
|
1828
|
+
// Extract model from spawn command (e.g., "codex --model gpt-5.2-codex" → "gpt-5.2-codex")
|
|
1829
|
+
if (worker.cli) {
|
|
1830
|
+
const modelMatch = worker.cli.match(/--model\s+(\S+)/);
|
|
1831
|
+
if (modelMatch) {
|
|
1832
|
+
agent.model = modelMatch[1];
|
|
1833
|
+
}
|
|
1834
|
+
}
|
|
1809
1835
|
}
|
|
1810
1836
|
}
|
|
1811
1837
|
}
|