fix: expose trace pagination in cli and otel (#1687)
This commit is contained in:
@@ -1007,7 +1007,7 @@ async function agentCommand(context: any) {
|
||||
}
|
||||
if (subcommand === "trace") {
|
||||
const traceId = requiredTraceId(context.rest[1] ?? context.parsed.traceId);
|
||||
const pathName = `/v1/agent/traces/${encodeURIComponent(traceId)}`;
|
||||
const pathName = `/v1/agent/traces/${encodeURIComponent(traceId)}${agentTraceQueryString(context.parsed)}`;
|
||||
const turnPath = `/v1/agent/turns/${encodeURIComponent(traceId)}`;
|
||||
const turnResponse = await requestJson({ ...context, method: "GET", path: turnPath });
|
||||
const response = await requestJson({ ...context, method: "GET", path: pathName });
|
||||
@@ -1376,7 +1376,7 @@ function agentHelp() {
|
||||
"composer submit --message TEXT|--message-file PATH [--profile NAME] [default: auto turn/steer]",
|
||||
"send --message TEXT --wait [--timeout-ms N] [--poll-interval-ms N]",
|
||||
"result TRACE_ID [--full]",
|
||||
"trace TRACE_ID [--render web] [--limit N] [--full]",
|
||||
"trace TRACE_ID [--render web] [--after-seq N|--since-seq N] [--limit N|--tail N] [--full]",
|
||||
"inspect --trace-id TRACE_ID|--session-id ID|--thread-id ID",
|
||||
"steer TRACE_ID --message TEXT|--message-file PATH [--session-id ID] [--thread-id ID]",
|
||||
"cancel TRACE_ID"
|
||||
@@ -1384,6 +1384,28 @@ function agentHelp() {
|
||||
});
|
||||
}
|
||||
|
||||
function agentTraceQueryString(parsed: any) {
|
||||
const query = new URLSearchParams();
|
||||
const sinceSeq = nonNegativeOption(parsed.sinceSeq ?? parsed.afterSeq ?? parsed.after);
|
||||
if (sinceSeq !== undefined) query.set("sinceSeq", String(sinceSeq));
|
||||
const limit = positiveOption(parsed.limit ?? parsed.tail);
|
||||
if (limit !== undefined) query.set("limit", String(limit));
|
||||
const text = query.toString();
|
||||
return text ? `?${text}` : "";
|
||||
}
|
||||
|
||||
function nonNegativeOption(value: unknown) {
|
||||
const parsed = numberOption(value);
|
||||
if (parsed === undefined || parsed < 0) return undefined;
|
||||
return Math.trunc(parsed);
|
||||
}
|
||||
|
||||
function positiveOption(value: unknown) {
|
||||
const parsed = numberOption(value);
|
||||
if (parsed === undefined || parsed <= 0) return undefined;
|
||||
return Math.trunc(parsed);
|
||||
}
|
||||
|
||||
async function sessionCommand(context: any) {
|
||||
const subcommand = context.rest[0] || "list";
|
||||
if (wantsHelp(context)) return sessionHelp();
|
||||
|
||||
Reference in New Issue
Block a user