agentflow-dashboard 0.8.1 → 0.8.3

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.
@@ -10,7 +10,7 @@ import { execSync } from "child_process";
10
10
  import * as fs3 from "fs";
11
11
  import { createServer } from "http";
12
12
  import * as path3 from "path";
13
- import { fileURLToPath } from "url";
13
+ import { fileURLToPath as fileURLToPath2 } from "url";
14
14
 
15
15
  // src/config.ts
16
16
  import { existsSync, readFileSync } from "fs";
@@ -2050,8 +2050,8 @@ var TraceWatcher = class _TraceWatcher extends EventEmitter {
2050
2050
  return (b.lastModified || b.startTime) - (a.lastModified || a.startTime);
2051
2051
  });
2052
2052
  }
2053
- getTrace(filename) {
2054
- const candidates = [];
2053
+ getTrace(filename, agentId) {
2054
+ let candidates = [];
2055
2055
  const exact = this.traces.get(filename);
2056
2056
  if (exact) candidates.push(exact);
2057
2057
  if (filename.includes("::")) {
@@ -2076,6 +2076,13 @@ var TraceWatcher = class _TraceWatcher extends EventEmitter {
2076
2076
  }
2077
2077
  if (candidates.length === 0) return void 0;
2078
2078
  if (candidates.length === 1) return candidates[0];
2079
+ if (agentId) {
2080
+ const agentMatches = candidates.filter((c) => c.agentId === agentId);
2081
+ if (agentMatches.length > 0) {
2082
+ candidates = agentMatches;
2083
+ }
2084
+ }
2085
+ if (candidates.length === 1) return candidates[0];
2079
2086
  let best = candidates[0];
2080
2087
  let bestNodeCount = best.nodes instanceof Map ? best.nodes.size : Object.keys(best.nodes ?? {}).length;
2081
2088
  for (let i = 1; i < candidates.length; i++) {
@@ -2133,7 +2140,9 @@ var TraceWatcher = class _TraceWatcher extends EventEmitter {
2133
2140
  import * as fs2 from "fs";
2134
2141
  import * as os from "os";
2135
2142
  import * as path2 from "path";
2136
- var VERSION = "0.8.0";
2143
+ import { fileURLToPath } from "url";
2144
+ var __cliDirname = path2.dirname(fileURLToPath(import.meta.url));
2145
+ var VERSION = JSON.parse(fs2.readFileSync(path2.resolve(__cliDirname, "../package.json"), "utf-8")).version;
2137
2146
  function getLanAddress() {
2138
2147
  const interfaces = os.networkInterfaces();
2139
2148
  for (const name of Object.keys(interfaces)) {
@@ -2310,7 +2319,7 @@ Examples:
2310
2319
  }
2311
2320
 
2312
2321
  // src/server.ts
2313
- var __filename = fileURLToPath(import.meta.url);
2322
+ var __filename = fileURLToPath2(import.meta.url);
2314
2323
  var __dirname = path3.dirname(__filename);
2315
2324
  function serializeTrace(trace) {
2316
2325
  if (!trace) return trace;
@@ -2435,7 +2444,8 @@ var DashboardServer = class {
2435
2444
  });
2436
2445
  this.app.get("/api/traces/:filename", (req, res) => {
2437
2446
  try {
2438
- const trace = this.watcher.getTrace(req.params.filename);
2447
+ const agentId = typeof req.query.agent === "string" ? req.query.agent : void 0;
2448
+ const trace = this.watcher.getTrace(req.params.filename, agentId);
2439
2449
  if (!trace) {
2440
2450
  return res.status(404).json({ error: "Trace not found" });
2441
2451
  }
package/dist/cli.cjs CHANGED
@@ -35,6 +35,7 @@ module.exports = __toCommonJS(cli_exports);
35
35
  var fs3 = __toESM(require("fs"), 1);
36
36
  var os = __toESM(require("os"), 1);
37
37
  var path3 = __toESM(require("path"), 1);
38
+ var import_node_url2 = require("url");
38
39
 
39
40
  // src/server.ts
40
41
  var import_node_child_process = require("child_process");
@@ -2072,8 +2073,8 @@ var TraceWatcher = class _TraceWatcher extends import_node_events.EventEmitter {
2072
2073
  return (b.lastModified || b.startTime) - (a.lastModified || a.startTime);
2073
2074
  });
2074
2075
  }
2075
- getTrace(filename) {
2076
- const candidates = [];
2076
+ getTrace(filename, agentId) {
2077
+ let candidates = [];
2077
2078
  const exact = this.traces.get(filename);
2078
2079
  if (exact) candidates.push(exact);
2079
2080
  if (filename.includes("::")) {
@@ -2098,6 +2099,13 @@ var TraceWatcher = class _TraceWatcher extends import_node_events.EventEmitter {
2098
2099
  }
2099
2100
  if (candidates.length === 0) return void 0;
2100
2101
  if (candidates.length === 1) return candidates[0];
2102
+ if (agentId) {
2103
+ const agentMatches = candidates.filter((c) => c.agentId === agentId);
2104
+ if (agentMatches.length > 0) {
2105
+ candidates = agentMatches;
2106
+ }
2107
+ }
2108
+ if (candidates.length === 1) return candidates[0];
2101
2109
  let best = candidates[0];
2102
2110
  let bestNodeCount = best.nodes instanceof Map ? best.nodes.size : Object.keys(best.nodes ?? {}).length;
2103
2111
  for (let i = 1; i < candidates.length; i++) {
@@ -2278,7 +2286,8 @@ var DashboardServer = class {
2278
2286
  });
2279
2287
  this.app.get("/api/traces/:filename", (req, res) => {
2280
2288
  try {
2281
- const trace = this.watcher.getTrace(req.params.filename);
2289
+ const agentId = typeof req.query.agent === "string" ? req.query.agent : void 0;
2290
+ const trace = this.watcher.getTrace(req.params.filename, agentId);
2282
2291
  if (!trace) {
2283
2292
  return res.status(404).json({ error: "Trace not found" });
2284
2293
  }
@@ -3363,7 +3372,9 @@ if (import_meta.url === `file://${process.argv[1]}`) {
3363
3372
  }
3364
3373
 
3365
3374
  // src/cli.ts
3366
- var VERSION = "0.8.0";
3375
+ var import_meta2 = {};
3376
+ var __cliDirname = path3.dirname((0, import_node_url2.fileURLToPath)(import_meta2.url));
3377
+ var VERSION = JSON.parse(fs3.readFileSync(path3.resolve(__cliDirname, "../package.json"), "utf-8")).version;
3367
3378
  function getLanAddress() {
3368
3379
  const interfaces = os.networkInterfaces();
3369
3380
  for (const name of Object.keys(interfaces)) {
package/dist/cli.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  startDashboard
3
- } from "./chunk-JRVE5NM3.js";
3
+ } from "./chunk-E5RJCBK2.js";
4
4
  export {
5
5
  startDashboard
6
6
  };