agentcrumbs
Version:
Debug mode for any agent.
33 lines • 1.42 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.follow = follow;
const format_js_1 = require("../format.js");
const args_js_1 = require("../args.js");
const app_store_js_1 = require("../app-store.js");
async function follow(args) {
const traceId = (0, args_js_1.getFlag)(args, "--trace");
const json = (0, args_js_1.hasFlag)(args, "--json");
const appCtx = (0, app_store_js_1.parseAppFlags)(args);
const showApp = appCtx.allApps;
if (!traceId) {
process.stderr.write("Usage: agentcrumbs follow --trace <traceId> [--app <name>] [--all-apps] [--json]\n");
process.exit(1);
}
const allCrumbs = (0, app_store_js_1.readAllCrumbs)(appCtx);
const traceCrumbs = allCrumbs.filter((c) => c.traceId === traceId);
if (traceCrumbs.length === 0) {
process.stderr.write(`No crumbs found for trace: ${traceId}\n`);
process.exit(1);
}
traceCrumbs.sort((a, b) => new Date(a.ts).getTime() - new Date(b.ts).getTime());
process.stderr.write(`Following trace ${traceId} (${traceCrumbs.length} crumbs)\n\n`);
for (const crumb of traceCrumbs) {
if (json) {
process.stdout.write((0, format_js_1.formatCrumbJson)(crumb) + "\n");
}
else {
process.stdout.write((0, format_js_1.formatCrumbPretty)(crumb, { showApp }) + "\n");
}
}
}
//# sourceMappingURL=follow.js.map