feat(workspace): claudemesh me search + dashboard parity
ships v0.4.0 phase 5 — final aggregating verb. v0.4.0 substrate is complete after this. api: GET /v1/me/search?q=... matches against topic names + sender display names + v1 message snippets (base64 decode then ilike). v2 ciphertext matches only on topic/sender — server has no topic keys. 30-day window on messages, capped at 50 hits per category. cli (1.14.0): claudemesh me search <query> renders topic + msg sections with inline yellow highlighting. min 2 chars; --json returns the raw response. web: /dashboard/search adds an autofocused input + mark highlighting on every match site (topic name, sender, snippet). sidebar gets a search entry between activity and invites. roadmap: phase 5 marked shipped, v0.5.0 default-aggregation behavior added as the natural next track. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -127,6 +127,7 @@ Topic (conversation scope, v0.2.0)
|
||||
claudemesh me topics cross-mesh topic list [--unread]
|
||||
claudemesh me notifications cross-mesh @-mentions [--all] [--since=ISO]
|
||||
claudemesh me activity cross-mesh recent messages [--since=ISO]
|
||||
claudemesh me search <q> cross-mesh search (topics + messages)
|
||||
claudemesh member list mesh roster with online state [--online]
|
||||
claudemesh notification list recent @-mentions of you [--since <ISO>]
|
||||
|
||||
@@ -706,6 +707,10 @@ async function main(): Promise<void> {
|
||||
since: flags.since as string | undefined,
|
||||
}),
|
||||
);
|
||||
} else if (sub === "search") {
|
||||
const { runMeSearch } = await import("~/commands/me.js");
|
||||
const query = positionals.slice(1).join(" ").trim();
|
||||
process.exit(await runMeSearch({ ...f, query }));
|
||||
} else {
|
||||
console.error(
|
||||
"Usage: claudemesh me (cross-mesh overview)\n" +
|
||||
@@ -715,7 +720,8 @@ async function main(): Promise<void> {
|
||||
" claudemesh me notifications --all (include already-read)\n" +
|
||||
" claudemesh me notifications --since=ISO (custom window)\n" +
|
||||
" claudemesh me activity (recent messages, last 24h)\n" +
|
||||
" claudemesh me activity --since=ISO (custom window)",
|
||||
" claudemesh me activity --since=ISO (custom window)\n" +
|
||||
" claudemesh me search <query> (cross-mesh search)",
|
||||
);
|
||||
process.exit(EXIT.INVALID_ARGS);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user