Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion skills/ocx/references/01_management_surface.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ Recent request log rows, filterable by provider, model, conversation, and status
| `--conversation` | string | Restrict to one conversation id (`--conversationId` is accepted too). |
| `--status` | string | An exact code (429) or a class (5xx). |
| `--limit` | number | Row cap; defaults to 200. |
| `--follow` | boolean | Stream new rows as JSONL; implies --jsonl. |
| `--follow` | boolean | Poll for new rows; add --jsonl to emit JSONL. |
| `--json` | boolean | Emit the server payload as JSON. |
| `--jsonl` | boolean | Emit one row per line. |

Expand Down
2 changes: 1 addition & 1 deletion src/cli/capabilities.ts
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ export const CAPABILITIES: readonly Capability[] = [
{ name: "--conversation", value: "string", summary: "Restrict to one conversation id (`--conversationId` is accepted too)." },
{ name: "--status", value: "string", summary: "An exact code (429) or a class (5xx)." },
{ name: "--limit", value: "number", summary: "Row cap; defaults to 200." },
{ name: "--follow", value: "boolean", summary: "Stream new rows as JSONL; implies --jsonl." },
{ name: "--follow", value: "boolean", summary: "Poll for new rows; add --jsonl to emit JSONL." },
{ name: "--json", value: "boolean", summary: "Emit the server payload as JSON." },
{ name: "--jsonl", value: "boolean", summary: "Emit one row per line." },
],
Expand Down
6 changes: 6 additions & 0 deletions tests/cli-capabilities.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,12 @@ describe("ocx capabilities output", () => {
expect(cap?.routes).toEqual([]);
});

test("logs follow does not claim to imply JSONL output", () => {
const logs = CAPABILITIES.find(c => c.command.length === 1 && c.command[0] === "logs");
const follow = logs?.flags.find(flag => flag.name === "--follow");
expect(follow?.summary).toBe("Poll for new rows; add --jsonl to emit JSONL.");
});

test("--route without a path is usage, not a full table dump", async () => {
const cap = captureStdout();
let code: number;
Expand Down
Loading