@tryarcanist/cli 0.1.52 → 0.1.53

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 (2) hide show
  1. package/dist/index.js +19 -2
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1890,6 +1890,9 @@ async function listSessionsCommand(options, command) {
1890
1890
  const query = new URLSearchParams();
1891
1891
  if (options.status) query.set("status", options.status);
1892
1892
  if (options.scope) query.set("scope", options.scope);
1893
+ if (options.search) query.set("q", options.search);
1894
+ if (options.tag) query.set("tag", options.tag);
1895
+ if (options.repo) query.set("repo", options.repo);
1893
1896
  if (options.limit) query.set("limit", options.limit);
1894
1897
  if (options.cursor) query.set("cursor", options.cursor);
1895
1898
  const payload = await apiFetch(
@@ -1908,10 +1911,15 @@ async function listSessionsCommand(options, command) {
1908
1911
  const id = String(session.id ?? session.sessionId ?? "");
1909
1912
  const status = String(session.status ?? "");
1910
1913
  const title = typeof session.title === "string" ? ` ${session.title}` : "";
1911
- console.log(`${id} ${status}${title}`);
1914
+ const tags = Array.isArray(session.titleTags) ? session.titleTags.filter((tag) => typeof tag === "string") : [];
1915
+ const tagText = tags.length > 0 ? ` tags: ${tags.join(", ")}` : "";
1916
+ console.log(`${id} ${status}${title}${tagText}`);
1912
1917
  }
1913
1918
  if (payload.nextCursor) console.log(`Next cursor: ${payload.nextCursor}`);
1914
1919
  }
1920
+ async function searchSessionsCommand(query, options, command) {
1921
+ await listSessionsCommand({ ...options, search: query }, command);
1922
+ }
1915
1923
  async function getSessionCommand(sessionId, options, command) {
1916
1924
  const runtime = getRuntimeOptions(command, options);
1917
1925
  const config = requireConfig(runtime);
@@ -2194,14 +2202,23 @@ Examples:
2194
2202
  arcanist sessions get <session-id> --json
2195
2203
  `
2196
2204
  ).action((sessionId, options, command) => getSessionCommand(sessionId, options, command));
2197
- sessions.command("list").description("List sessions").option("--status <status>", "Filter by session status").option("--scope <scope>", "Session scope: mine or business").option("--limit <n>", "Maximum sessions to return").option("--cursor <cursor>", "Pagination cursor").addHelpText(
2205
+ sessions.command("list").description("List sessions").option("--status <status>", "Filter by session status").option("--scope <scope>", "Session scope: mine or business").option("--search <query>", "Search session titles, tags, and repo metadata").option("--tag <tag>", "Filter by generated session tag").option("--repo <repo>", "Filter by repo metadata").option("--limit <n>", "Maximum sessions to return").option("--cursor <cursor>", "Pagination cursor").addHelpText(
2198
2206
  "after",
2199
2207
  `
2200
2208
  Examples:
2201
2209
  arcanist sessions list
2202
2210
  arcanist sessions list --status idle --json
2211
+ arcanist sessions list --search "architect agent" --tag codex
2203
2212
  `
2204
2213
  ).action((options, command) => listSessionsCommand(options, command));
2214
+ sessions.command("search").description("Search sessions by title, tag, and repo metadata").argument("<query>", "Search query").option("--status <status>", "Filter by session status").option("--scope <scope>", "Session scope: mine or business").option("--tag <tag>", "Filter by generated session tag").option("--repo <repo>", "Filter by repo metadata").option("--limit <n>", "Maximum sessions to return").option("--cursor <cursor>", "Pagination cursor").addHelpText(
2215
+ "after",
2216
+ `
2217
+ Examples:
2218
+ arcanist sessions search "architect agent"
2219
+ arcanist sessions search "mcp debugging" --tag codex --json
2220
+ `
2221
+ ).action((query, options, command) => searchSessionsCommand(query, options, command));
2205
2222
  sessions.command("events").description("Read or follow session replay events").argument("<session-id>", "Session ID").option("--after-sequence <n>", "Return events after this sequence").option("--before-sequence <n>", "Return events before this sequence").option("--prompt-id <id>", "Filter events by prompt ID").option("--limit <n>", "Maximum events to return").option("--follow", "Follow events until the session is idle").option("--poll-interval <ms>", "Polling interval in milliseconds", String(DEFAULT_WATCH_POLL_INTERVAL_MS)).addHelpText(
2206
2223
  "after",
2207
2224
  `
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tryarcanist/cli",
3
- "version": "0.1.52",
3
+ "version": "0.1.53",
4
4
  "description": "CLI for Arcanist — create and manage coding agent sessions",
5
5
  "type": "module",
6
6
  "bin": {