claudemesh-cli 1.9.4 → 1.10.0
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.
package/dist/entrypoints/cli.js
CHANGED
|
@@ -88,7 +88,7 @@ __export(exports_urls, {
|
|
|
88
88
|
VERSION: () => VERSION,
|
|
89
89
|
URLS: () => URLS
|
|
90
90
|
});
|
|
91
|
-
var URLS, VERSION = "1.
|
|
91
|
+
var URLS, VERSION = "1.10.0", env;
|
|
92
92
|
var init_urls = __esm(() => {
|
|
93
93
|
URLS = {
|
|
94
94
|
BROKER: process.env.CLAUDEMESH_BROKER_URL ?? "wss://ic.claudemesh.com/ws",
|
|
@@ -12285,6 +12285,58 @@ var init_notification = __esm(() => {
|
|
|
12285
12285
|
init_exit_codes();
|
|
12286
12286
|
});
|
|
12287
12287
|
|
|
12288
|
+
// src/commands/me.ts
|
|
12289
|
+
var exports_me = {};
|
|
12290
|
+
__export(exports_me, {
|
|
12291
|
+
runMe: () => runMe
|
|
12292
|
+
});
|
|
12293
|
+
async function runMe(flags) {
|
|
12294
|
+
return withRestKey({
|
|
12295
|
+
meshSlug: flags.mesh ?? null,
|
|
12296
|
+
purpose: "workspace-overview",
|
|
12297
|
+
capabilities: ["read"]
|
|
12298
|
+
}, async ({ secret }) => {
|
|
12299
|
+
const ws = await request({
|
|
12300
|
+
path: "/api/v1/me/workspace",
|
|
12301
|
+
token: secret
|
|
12302
|
+
});
|
|
12303
|
+
if (flags.json) {
|
|
12304
|
+
console.log(JSON.stringify(ws, null, 2));
|
|
12305
|
+
return EXIT.SUCCESS;
|
|
12306
|
+
}
|
|
12307
|
+
render.section(`${clay("workspace")} — ${bold(ws.userId.slice(0, 8))} ${dim(`· ${ws.totals.meshes} mesh${ws.totals.meshes === 1 ? "" : "es"}`)}`);
|
|
12308
|
+
const totalsLine = [
|
|
12309
|
+
`${green(String(ws.totals.online))}/${ws.totals.peers} online`,
|
|
12310
|
+
`${ws.totals.topics} topic${ws.totals.topics === 1 ? "" : "s"}`,
|
|
12311
|
+
ws.totals.unreadMentions > 0 ? yellow(`${ws.totals.unreadMentions} unread @you`) : dim("0 unread @you")
|
|
12312
|
+
].join(dim(" · "));
|
|
12313
|
+
process.stdout.write(" " + totalsLine + `
|
|
12314
|
+
|
|
12315
|
+
`);
|
|
12316
|
+
if (ws.meshes.length === 0) {
|
|
12317
|
+
process.stdout.write(dim(" no meshes joined — run `claudemesh new` or accept an invite\n"));
|
|
12318
|
+
return EXIT.SUCCESS;
|
|
12319
|
+
}
|
|
12320
|
+
const slugWidth = Math.max(...ws.meshes.map((m) => m.slug.length), 8);
|
|
12321
|
+
for (const m of ws.meshes) {
|
|
12322
|
+
const slug = cyan(m.slug.padEnd(slugWidth));
|
|
12323
|
+
const peers = `${m.online}/${m.peers}`;
|
|
12324
|
+
const role = dim(m.myRole);
|
|
12325
|
+
const unread = m.unreadMentions > 0 ? " " + yellow(`${m.unreadMentions} @you`) : "";
|
|
12326
|
+
process.stdout.write(` ${slug} ${peers.padStart(5)} online ${dim(String(m.topics).padStart(2) + " topics")} ${role}${unread}
|
|
12327
|
+
`);
|
|
12328
|
+
}
|
|
12329
|
+
return EXIT.SUCCESS;
|
|
12330
|
+
});
|
|
12331
|
+
}
|
|
12332
|
+
var init_me = __esm(() => {
|
|
12333
|
+
init_with_rest_key();
|
|
12334
|
+
init_client();
|
|
12335
|
+
init_render();
|
|
12336
|
+
init_styles();
|
|
12337
|
+
init_exit_codes();
|
|
12338
|
+
});
|
|
12339
|
+
|
|
12288
12340
|
// src/commands/member.ts
|
|
12289
12341
|
var exports_member = {};
|
|
12290
12342
|
__export(exports_member, {
|
|
@@ -13924,6 +13976,7 @@ Topic (conversation scope, v0.2.0)
|
|
|
13924
13976
|
claudemesh topic tail <topic> live SSE tail [--limit --forward-only]
|
|
13925
13977
|
claudemesh topic post <t> <msg> encrypted REST post (v0.3.0 v2) [--reply-to <id>]
|
|
13926
13978
|
claudemesh send "#topic" "msg" send to a topic (WS path, v1 plaintext)
|
|
13979
|
+
claudemesh me cross-mesh workspace overview (v0.4.0)
|
|
13927
13980
|
claudemesh member list mesh roster with online state [--online]
|
|
13928
13981
|
claudemesh notification list recent @-mentions of you [--since <ISO>]
|
|
13929
13982
|
|
|
@@ -14781,6 +14834,21 @@ async function main() {
|
|
|
14781
14834
|
}
|
|
14782
14835
|
break;
|
|
14783
14836
|
}
|
|
14837
|
+
case "me": {
|
|
14838
|
+
const sub = positionals[0];
|
|
14839
|
+
const f = {
|
|
14840
|
+
mesh: flags.mesh,
|
|
14841
|
+
json: !!flags.json
|
|
14842
|
+
};
|
|
14843
|
+
if (!sub || sub === "workspace" || sub === "overview") {
|
|
14844
|
+
const { runMe: runMe2 } = await Promise.resolve().then(() => (init_me(), exports_me));
|
|
14845
|
+
process.exit(await runMe2(f));
|
|
14846
|
+
} else {
|
|
14847
|
+
console.error("Usage: claudemesh me (cross-mesh overview; future: me topics, me notifications, me activity)");
|
|
14848
|
+
process.exit(EXIT.INVALID_ARGS);
|
|
14849
|
+
}
|
|
14850
|
+
break;
|
|
14851
|
+
}
|
|
14784
14852
|
case "member":
|
|
14785
14853
|
case "members": {
|
|
14786
14854
|
const sub = positionals[0] ?? "list";
|
|
@@ -14846,4 +14914,4 @@ main().catch((err) => {
|
|
|
14846
14914
|
process.exit(EXIT.INTERNAL_ERROR);
|
|
14847
14915
|
});
|
|
14848
14916
|
|
|
14849
|
-
//# debugId=
|
|
14917
|
+
//# debugId=0FC51F4D5C410DB364756E2164756E21
|