@agentgazer/server 0.2.0 → 0.3.0

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.
Files changed (51) hide show
  1. package/dist/alerts/evaluator.d.ts +21 -0
  2. package/dist/alerts/evaluator.d.ts.map +1 -1
  3. package/dist/alerts/evaluator.js +243 -79
  4. package/dist/alerts/evaluator.js.map +1 -1
  5. package/dist/db.d.ts +108 -2
  6. package/dist/db.d.ts.map +1 -1
  7. package/dist/db.js +536 -11
  8. package/dist/db.js.map +1 -1
  9. package/dist/index.d.ts +5 -3
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +8 -1
  12. package/dist/index.js.map +1 -1
  13. package/dist/middleware/auth.js +1 -1
  14. package/dist/middleware/auth.js.map +1 -1
  15. package/dist/routes/agents.d.ts.map +1 -1
  16. package/dist/routes/agents.js +116 -3
  17. package/dist/routes/agents.js.map +1 -1
  18. package/dist/routes/alerts.d.ts.map +1 -1
  19. package/dist/routes/alerts.js +55 -5
  20. package/dist/routes/alerts.js.map +1 -1
  21. package/dist/routes/events.d.ts.map +1 -1
  22. package/dist/routes/events.js +27 -14
  23. package/dist/routes/events.js.map +1 -1
  24. package/dist/routes/health.d.ts.map +1 -1
  25. package/dist/routes/health.js +13 -0
  26. package/dist/routes/health.js.map +1 -1
  27. package/dist/routes/openclaw.d.ts +3 -0
  28. package/dist/routes/openclaw.d.ts.map +1 -0
  29. package/dist/routes/openclaw.js +139 -0
  30. package/dist/routes/openclaw.js.map +1 -0
  31. package/dist/routes/overview.d.ts +9 -0
  32. package/dist/routes/overview.d.ts.map +1 -0
  33. package/dist/routes/overview.js +101 -0
  34. package/dist/routes/overview.js.map +1 -0
  35. package/dist/routes/providers.d.ts +15 -0
  36. package/dist/routes/providers.d.ts.map +1 -0
  37. package/dist/routes/providers.js +317 -0
  38. package/dist/routes/providers.js.map +1 -0
  39. package/dist/routes/settings.d.ts +7 -0
  40. package/dist/routes/settings.d.ts.map +1 -0
  41. package/dist/routes/settings.js +134 -0
  42. package/dist/routes/settings.js.map +1 -0
  43. package/dist/server.d.ts +8 -0
  44. package/dist/server.d.ts.map +1 -1
  45. package/dist/server.js +11 -0
  46. package/dist/server.js.map +1 -1
  47. package/dist/services/provider-validator.d.ts +2 -0
  48. package/dist/services/provider-validator.d.ts.map +1 -0
  49. package/dist/services/provider-validator.js +8 -0
  50. package/dist/services/provider-validator.js.map +1 -0
  51. package/package.json +2 -2
@@ -3,8 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const express_1 = require("express");
4
4
  const db_js_1 = require("../db.js");
5
5
  const rate_limit_js_1 = require("../middleware/rate-limit.js");
6
+ const shared_1 = require("@agentgazer/shared");
7
+ const log = (0, shared_1.createLogger)("events");
6
8
  const router = (0, express_1.Router)();
7
- const VALID_EVENT_TYPES = new Set(["llm_call", "completion", "heartbeat", "error", "custom", "blocked"]);
9
+ const VALID_EVENT_TYPES = new Set(["llm_call", "completion", "heartbeat", "error", "custom", "blocked", "kill_switch"]);
8
10
  const VALID_SOURCES = new Set(["sdk", "proxy"]);
9
11
  const MAX_QUERY_LIMIT = 10_000;
10
12
  const MAX_STRING_FIELD_LENGTH = 10_000;
@@ -204,10 +206,7 @@ router.post("/api/events", rate_limit_js_1.rateLimitEvents, (req, res) => {
204
206
  router.get("/api/events", (req, res) => {
205
207
  const db = req.app.locals.db;
206
208
  const agentId = req.query.agent_id;
207
- if (!agentId) {
208
- res.status(400).json({ error: "agent_id query parameter is required" });
209
- return;
210
- }
209
+ // agent_id is now optional - allows global event queries
211
210
  const from = req.query.from;
212
211
  const to = req.query.to;
213
212
  const eventType = req.query.event_type;
@@ -216,8 +215,10 @@ router.get("/api/events", (req, res) => {
216
215
  const traceId = req.query.trace_id;
217
216
  const search = req.query.search;
218
217
  const limitStr = req.query.limit;
218
+ const offsetStr = req.query.offset;
219
219
  const limit = limitStr ? parseInt(limitStr, 10) : undefined;
220
- const rows = (0, db_js_1.queryEvents)(db, {
220
+ const offset = offsetStr ? parseInt(offsetStr, 10) : undefined;
221
+ const result = (0, db_js_1.queryEvents)(db, {
221
222
  agent_id: agentId,
222
223
  from,
223
224
  to,
@@ -227,22 +228,25 @@ router.get("/api/events", (req, res) => {
227
228
  trace_id: traceId,
228
229
  search,
229
230
  limit: limit && !isNaN(limit) ? Math.min(limit, MAX_QUERY_LIMIT) : undefined,
231
+ offset: offset && !isNaN(offset) ? offset : undefined,
230
232
  });
231
233
  // Parse tags from JSON string to object
232
- const events = rows.map((row) => ({
234
+ const events = result.events.map((row) => ({
233
235
  ...row,
234
236
  tags: safeParseTags(row.tags),
235
237
  }));
236
- res.json({ events });
238
+ res.json({
239
+ events,
240
+ total: result.total,
241
+ offset: offset ?? 0,
242
+ limit: limit ?? 50,
243
+ });
237
244
  });
238
245
  // GET /api/events/export - Export events as CSV or JSON
239
246
  router.get("/api/events/export", (req, res) => {
240
247
  const db = req.app.locals.db;
241
248
  const agentId = req.query.agent_id;
242
- if (!agentId) {
243
- res.status(400).json({ error: "agent_id query parameter is required" });
244
- return;
245
- }
249
+ // agent_id is now optional - allows exporting all events
246
250
  const format = req.query.format ?? "json";
247
251
  if (format !== "json" && format !== "csv") {
248
252
  res.status(400).json({ error: "format must be 'json' or 'csv'" });
@@ -254,7 +258,7 @@ router.get("/api/events/export", (req, res) => {
254
258
  const provider = req.query.provider;
255
259
  const model = req.query.model;
256
260
  const traceId = req.query.trace_id;
257
- const rows = (0, db_js_1.queryEvents)(db, {
261
+ const result = (0, db_js_1.queryEvents)(db, {
258
262
  agent_id: agentId,
259
263
  from,
260
264
  to,
@@ -264,6 +268,7 @@ router.get("/api/events/export", (req, res) => {
264
268
  trace_id: traceId,
265
269
  limit: 100_000,
266
270
  });
271
+ const rows = result.events;
267
272
  if (format === "csv") {
268
273
  const headers = [
269
274
  "id", "agent_id", "event_type", "provider", "model",
@@ -272,7 +277,7 @@ router.get("/api/events/export", (req, res) => {
272
277
  "timestamp", "trace_id", "span_id", "parent_span_id", "tags",
273
278
  ];
274
279
  res.setHeader("Content-Type", "text/csv");
275
- res.setHeader("Content-Disposition", `attachment; filename="events-${agentId}.csv"`);
280
+ res.setHeader("Content-Disposition", `attachment; filename="events-${agentId ?? "all"}.csv"`);
276
281
  res.write(headers.join(",") + "\n");
277
282
  for (const row of rows) {
278
283
  const values = headers.map((h) => {
@@ -300,5 +305,13 @@ router.get("/api/events/export", (req, res) => {
300
305
  res.json({ events });
301
306
  }
302
307
  });
308
+ // GET /api/events/recent - Recent important events for dashboard
309
+ router.get("/api/events/recent", (req, res) => {
310
+ const db = req.app.locals.db;
311
+ const limitStr = req.query.limit;
312
+ const limit = limitStr ? parseInt(limitStr, 10) : 10;
313
+ const events = (0, db_js_1.getRecentEvents)(db, Math.min(limit, 50));
314
+ res.json({ events });
315
+ });
303
316
  exports.default = router;
304
317
  //# sourceMappingURL=events.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/routes/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/routes/events.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/routes/health.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,MAAM,4CAAW,CAAC;AAUxB,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/routes/health.ts"],"names":[],"mappings":"AAcA,QAAA,MAAM,MAAM,4CAAW,CAAC;AAWxB,eAAe,MAAM,CAAC"}
@@ -1,11 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const express_1 = require("express");
4
+ const fs_1 = require("fs");
5
+ const path_1 = require("path");
6
+ // Read version from package.json using CommonJS-compatible approach
7
+ let version = "unknown";
8
+ try {
9
+ const pkgPath = (0, path_1.resolve)(__dirname, "../../package.json");
10
+ const pkg = JSON.parse((0, fs_1.readFileSync)(pkgPath, "utf-8"));
11
+ version = pkg.version;
12
+ }
13
+ catch {
14
+ // Fallback if package.json not found
15
+ }
4
16
  const router = (0, express_1.Router)();
5
17
  router.get("/api/health", (req, res) => {
6
18
  const startTime = req.app.locals.startTime;
7
19
  res.json({
8
20
  status: "ok",
21
+ version,
9
22
  uptime_ms: Date.now() - startTime,
10
23
  });
11
24
  });
@@ -1 +1 @@
1
- {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/routes/health.ts"],"names":[],"mappings":";;AAAA,qCAAiC;AAEjC,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;AAExB,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACrC,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,SAAmB,CAAC;IACrD,GAAG,CAAC,IAAI,CAAC;QACP,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;KAClC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,kBAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/routes/health.ts"],"names":[],"mappings":";;AAAA,qCAAiC;AACjC,2BAAkC;AAClC,+BAA+B;AAE/B,oEAAoE;AACpE,IAAI,OAAO,GAAG,SAAS,CAAC;AACxB,IAAI,CAAC;IACH,MAAM,OAAO,GAAG,IAAA,cAAO,EAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,OAAO,EAAE,OAAO,CAAC,CAAwB,CAAC;IAC9E,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;AACxB,CAAC;AAAC,MAAM,CAAC;IACP,qCAAqC;AACvC,CAAC;AAED,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;AAExB,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACrC,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,SAAmB,CAAC;IACrD,GAAG,CAAC,IAAI,CAAC;QACP,MAAM,EAAE,IAAI;QACZ,OAAO;QACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;KAClC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,kBAAe,MAAM,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Router } from "express";
2
+ export declare function createOpenclawRouter(): Router;
3
+ //# sourceMappingURL=openclaw.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openclaw.d.ts","sourceRoot":"","sources":["../../src/routes/openclaw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AA2CpD,wBAAgB,oBAAoB,IAAI,MAAM,CA6F7C"}
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.createOpenclawRouter = createOpenclawRouter;
37
+ const express_1 = require("express");
38
+ const fs = __importStar(require("node:fs"));
39
+ const path = __importStar(require("node:path"));
40
+ const os = __importStar(require("node:os"));
41
+ // Middleware to check if request is from loopback
42
+ function isLoopback(req) {
43
+ const ip = req.ip || req.socket?.remoteAddress || "";
44
+ return ip === "127.0.0.1" || ip === "::1" || ip === "::ffff:127.0.0.1";
45
+ }
46
+ function requireLoopback(req, res, next) {
47
+ if (!isLoopback(req)) {
48
+ res.status(403).json({
49
+ error: "This operation is only available from localhost for security",
50
+ });
51
+ return;
52
+ }
53
+ next();
54
+ }
55
+ function getOpenclawConfigPath() {
56
+ return path.join(os.homedir(), ".openclaw", "openclaw.json");
57
+ }
58
+ function createOpenclawRouter() {
59
+ const router = (0, express_1.Router)();
60
+ // GET /api/openclaw/config - read current OpenClaw config
61
+ router.get("/config", requireLoopback, (req, res) => {
62
+ const configPath = getOpenclawConfigPath();
63
+ try {
64
+ if (!fs.existsSync(configPath)) {
65
+ res.json({ exists: false, models: null, agents: null });
66
+ return;
67
+ }
68
+ const raw = fs.readFileSync(configPath, "utf-8");
69
+ try {
70
+ const config = JSON.parse(raw);
71
+ res.json({
72
+ exists: true,
73
+ models: config.models ?? null,
74
+ agents: config.agents ?? null,
75
+ });
76
+ }
77
+ catch {
78
+ // JSON parse error
79
+ res.json({
80
+ exists: true,
81
+ parseError: true,
82
+ raw,
83
+ });
84
+ }
85
+ }
86
+ catch (err) {
87
+ res.status(500).json({ error: String(err) });
88
+ }
89
+ });
90
+ // PUT /api/openclaw/config - update models and/or agents key in OpenClaw config
91
+ router.put("/config", requireLoopback, (req, res) => {
92
+ const configPath = getOpenclawConfigPath();
93
+ const configDir = path.dirname(configPath);
94
+ const { models, agents } = req.body;
95
+ if (!models && !agents) {
96
+ res.status(400).json({ error: "models or agents is required" });
97
+ return;
98
+ }
99
+ try {
100
+ // Ensure directory exists
101
+ if (!fs.existsSync(configDir)) {
102
+ fs.mkdirSync(configDir, { recursive: true });
103
+ }
104
+ let config = {};
105
+ // Read existing config if it exists
106
+ if (fs.existsSync(configPath)) {
107
+ try {
108
+ const raw = fs.readFileSync(configPath, "utf-8");
109
+ config = JSON.parse(raw);
110
+ }
111
+ catch {
112
+ // If parse fails, start fresh but preserve nothing
113
+ config = {};
114
+ }
115
+ }
116
+ // Update models key if provided
117
+ if (models) {
118
+ config.models = models;
119
+ }
120
+ // Update agents.defaults.model if provided (deep merge)
121
+ if (agents?.defaults?.model) {
122
+ config.agents = config.agents ?? {};
123
+ config.agents.defaults = config.agents.defaults ?? {};
124
+ config.agents.defaults.model = {
125
+ ...config.agents.defaults.model,
126
+ ...agents.defaults.model,
127
+ };
128
+ }
129
+ // Write back with pretty formatting
130
+ fs.writeFileSync(configPath, JSON.stringify(config, null, 2) + "\n", "utf-8");
131
+ res.json({ success: true });
132
+ }
133
+ catch (err) {
134
+ res.status(500).json({ error: String(err) });
135
+ }
136
+ });
137
+ return router;
138
+ }
139
+ //# sourceMappingURL=openclaw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openclaw.js","sourceRoot":"","sources":["../../src/routes/openclaw.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CA,oDA6FC;AAxID,qCAAoD;AACpD,4CAA8B;AAC9B,gDAAkC;AAClC,4CAA8B;AAE9B,kDAAkD;AAClD,SAAS,UAAU,CAAC,GAAY;IAC9B,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE,aAAa,IAAI,EAAE,CAAC;IACrD,OAAO,EAAE,KAAK,WAAW,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,KAAK,kBAAkB,CAAC;AACzE,CAAC;AAED,SAAS,eAAe,CAAC,GAAY,EAAE,GAAa,EAAE,IAAgB;IACpE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,KAAK,EAAE,8DAA8D;SACtE,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,IAAI,EAAE,CAAC;AACT,CAAC;AAED,SAAS,qBAAqB;IAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;AAC/D,CAAC;AAoBD,SAAgB,oBAAoB;IAClC,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;IAExB,0DAA0D;IAC1D,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QACrE,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAC;QAE3C,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/B,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxD,OAAO;YACT,CAAC;YAED,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAEjD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAmB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC/C,GAAG,CAAC,IAAI,CAAC;oBACP,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI;oBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI;iBAC9B,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,mBAAmB;gBACnB,GAAG,CAAC,IAAI,CAAC;oBACP,MAAM,EAAE,IAAI;oBACZ,UAAU,EAAE,IAAI;oBAChB,GAAG;iBACJ,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,gFAAgF;IAChF,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QACrE,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,IAG9B,CAAC;QAEF,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,0BAA0B;YAC1B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,CAAC;YAED,IAAI,MAAM,GAAmB,EAAE,CAAC;YAEhC,oCAAoC;YACpC,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;oBACjD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC;gBAAC,MAAM,CAAC;oBACP,mDAAmD;oBACnD,MAAM,GAAG,EAAE,CAAC;gBACd,CAAC;YACH,CAAC;YAED,gCAAgC;YAChC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;YACzB,CAAC;YAED,wDAAwD;YACxD,IAAI,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;gBAC5B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;gBACpC,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;gBACtD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG;oBAC7B,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK;oBAC/B,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK;iBACzB,CAAC;YACJ,CAAC;YAED,oCAAoC;YACpC,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;YAE9E,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Router } from "express";
2
+ import type Database from "better-sqlite3";
3
+ interface OverviewRouterOptions {
4
+ db: Database.Database;
5
+ startTime: number;
6
+ }
7
+ export declare function createOverviewRouter(options: OverviewRouterOptions): Router;
8
+ export {};
9
+ //# sourceMappingURL=overview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overview.d.ts","sourceRoot":"","sources":["../../src/routes/overview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AACpD,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAS3C,UAAU,qBAAqB;IAC7B,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAWD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM,CA6G3E"}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createOverviewRouter = createOverviewRouter;
4
+ const express_1 = require("express");
5
+ const db_js_1 = require("../db.js");
6
+ function createOverviewRouter(options) {
7
+ const { db, startTime } = options;
8
+ const router = (0, express_1.Router)();
9
+ // GET /api/overview - comprehensive dashboard data
10
+ router.get("/", (req, res) => {
11
+ try {
12
+ const stats = (0, db_js_1.getOverviewStats)(db);
13
+ const topAgents = (0, db_js_1.getTopAgentsByCost)(db, 5);
14
+ const topModels = (0, db_js_1.getTopModelsByTokens)(db, 5);
15
+ const trends = (0, db_js_1.getDailyTrends)(db, 7);
16
+ // Calculate uptime
17
+ const uptimeSeconds = Math.floor((Date.now() - startTime) / 1000);
18
+ // Get agents for CLI TUI
19
+ const todayStart = new Date();
20
+ todayStart.setUTCHours(0, 0, 0, 0);
21
+ const todayStartStr = todayStart.toISOString();
22
+ const agentRows = db.prepare(`
23
+ SELECT
24
+ a.agent_id,
25
+ a.active,
26
+ a.updated_at,
27
+ COALESCE((
28
+ SELECT SUM(e.cost_usd)
29
+ FROM agent_events e
30
+ WHERE e.agent_id = a.agent_id AND e.timestamp >= ?
31
+ ), 0) as today_cost,
32
+ COALESCE((
33
+ SELECT COUNT(*)
34
+ FROM agent_events e
35
+ WHERE e.agent_id = a.agent_id AND e.timestamp >= ?
36
+ ), 0) as today_requests,
37
+ (
38
+ SELECT e.provider
39
+ FROM agent_events e
40
+ WHERE e.agent_id = a.agent_id
41
+ ORDER BY e.timestamp DESC
42
+ LIMIT 1
43
+ ) as primary_provider
44
+ FROM agents a
45
+ ORDER BY a.updated_at DESC
46
+ LIMIT 20
47
+ `).all(todayStartStr, todayStartStr);
48
+ const agents = agentRows.map(row => ({
49
+ agent_id: row.agent_id,
50
+ status: row.active === 1 ? "active" : "inactive",
51
+ primary_provider: row.primary_provider || "unknown",
52
+ recent_calls: row.today_requests,
53
+ cost_today: row.today_cost,
54
+ last_activity: row.updated_at,
55
+ }));
56
+ // Get recent events for CLI TUI
57
+ const recentEventRows = db.prepare(`
58
+ SELECT
59
+ timestamp,
60
+ agent_id,
61
+ provider,
62
+ model,
63
+ cost_usd as cost,
64
+ latency_ms
65
+ FROM agent_events
66
+ WHERE event_type IN ('llm_call', 'completion')
67
+ ORDER BY timestamp DESC
68
+ LIMIT 10
69
+ `).all();
70
+ const recentEvents = recentEventRows.map(row => ({
71
+ timestamp: row.timestamp,
72
+ agent_id: row.agent_id,
73
+ provider: row.provider || "unknown",
74
+ model: row.model || "unknown",
75
+ cost: row.cost || 0,
76
+ latency_ms: row.latency_ms || 0,
77
+ }));
78
+ res.json({
79
+ // Original dashboard fields
80
+ ...stats,
81
+ top_agents: topAgents,
82
+ top_models: topModels,
83
+ cost_trend: trends.cost_trend,
84
+ requests_trend: trends.requests_trend,
85
+ // CLI TUI fields
86
+ uptime_seconds: uptimeSeconds,
87
+ total_requests_today: stats.today_requests,
88
+ total_cost_today: stats.today_cost,
89
+ server_status: "running",
90
+ proxy_status: "running",
91
+ agents,
92
+ recent_events: recentEvents,
93
+ });
94
+ }
95
+ catch (err) {
96
+ res.status(500).json({ error: String(err) });
97
+ }
98
+ });
99
+ return router;
100
+ }
101
+ //# sourceMappingURL=overview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overview.js","sourceRoot":"","sources":["../../src/routes/overview.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { Router } from "express";
2
+ import type Database from "better-sqlite3";
3
+ interface SecretStore {
4
+ get(service: string, account: string): Promise<string | null>;
5
+ set(service: string, account: string, secret: string): Promise<void>;
6
+ delete(service: string, account: string): Promise<void | boolean>;
7
+ list(service: string): Promise<string[]>;
8
+ }
9
+ interface ProvidersRouterOptions {
10
+ db: Database.Database;
11
+ secretStore?: SecretStore;
12
+ }
13
+ export declare function createProvidersRouter(options: ProvidersRouterOptions): Router;
14
+ export {};
15
+ //# sourceMappingURL=providers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/routes/providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AACpD,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAiB3C,UAAU,WAAW;IACnB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC9D,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;IAClE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC1C;AAED,UAAU,sBAAsB;IAC9B,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAoBD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CA+V7E"}