claudemesh-cli 1.0.2 → 1.1.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.0
|
|
91
|
+
var URLS, VERSION = "1.1.0", env;
|
|
92
92
|
var init_urls = __esm(() => {
|
|
93
93
|
URLS = {
|
|
94
94
|
BROKER: process.env.CLAUDEMESH_BROKER_URL ?? "wss://ic.claudemesh.com/ws",
|
|
@@ -6715,6 +6715,263 @@ var init_recall = __esm(() => {
|
|
|
6715
6715
|
init_exit_codes();
|
|
6716
6716
|
});
|
|
6717
6717
|
|
|
6718
|
+
// src/commands/broker-actions.ts
|
|
6719
|
+
var exports_broker_actions = {};
|
|
6720
|
+
__export(exports_broker_actions, {
|
|
6721
|
+
runVisible: () => runVisible,
|
|
6722
|
+
runTaskComplete: () => runTaskComplete,
|
|
6723
|
+
runTaskClaim: () => runTaskClaim,
|
|
6724
|
+
runSummary: () => runSummary,
|
|
6725
|
+
runStatusSet: () => runStatusSet,
|
|
6726
|
+
runStats: () => runStats,
|
|
6727
|
+
runPing: () => runPing,
|
|
6728
|
+
runMsgStatus: () => runMsgStatus,
|
|
6729
|
+
runGroupLeave: () => runGroupLeave,
|
|
6730
|
+
runGroupJoin: () => runGroupJoin,
|
|
6731
|
+
runForget: () => runForget,
|
|
6732
|
+
runClock: () => runClock
|
|
6733
|
+
});
|
|
6734
|
+
async function runStatusSet(state, opts) {
|
|
6735
|
+
const valid = ["idle", "working", "dnd"];
|
|
6736
|
+
if (!valid.includes(state)) {
|
|
6737
|
+
render.err(`Invalid status: ${state}`, `must be one of: ${valid.join(", ")}`);
|
|
6738
|
+
return EXIT.INVALID_ARGS;
|
|
6739
|
+
}
|
|
6740
|
+
await withMesh({ meshSlug: opts.mesh ?? null }, async (client) => {
|
|
6741
|
+
await client.setStatus(state);
|
|
6742
|
+
});
|
|
6743
|
+
if (opts.json) {
|
|
6744
|
+
console.log(JSON.stringify({ status: state }));
|
|
6745
|
+
return EXIT.SUCCESS;
|
|
6746
|
+
}
|
|
6747
|
+
render.ok(`status set to ${bold(state)}`);
|
|
6748
|
+
return EXIT.SUCCESS;
|
|
6749
|
+
}
|
|
6750
|
+
async function runSummary(text, opts) {
|
|
6751
|
+
if (!text) {
|
|
6752
|
+
render.err("Usage: claudemesh summary <text>");
|
|
6753
|
+
return EXIT.INVALID_ARGS;
|
|
6754
|
+
}
|
|
6755
|
+
await withMesh({ meshSlug: opts.mesh ?? null }, async (client) => {
|
|
6756
|
+
await client.setSummary(text);
|
|
6757
|
+
});
|
|
6758
|
+
if (opts.json) {
|
|
6759
|
+
console.log(JSON.stringify({ summary: text }));
|
|
6760
|
+
return EXIT.SUCCESS;
|
|
6761
|
+
}
|
|
6762
|
+
render.ok("summary set", dim(text));
|
|
6763
|
+
return EXIT.SUCCESS;
|
|
6764
|
+
}
|
|
6765
|
+
async function runVisible(value, opts) {
|
|
6766
|
+
let visible;
|
|
6767
|
+
if (value === "true" || value === "1" || value === "yes")
|
|
6768
|
+
visible = true;
|
|
6769
|
+
else if (value === "false" || value === "0" || value === "no")
|
|
6770
|
+
visible = false;
|
|
6771
|
+
else {
|
|
6772
|
+
render.err("Usage: claudemesh visible <true|false>");
|
|
6773
|
+
return EXIT.INVALID_ARGS;
|
|
6774
|
+
}
|
|
6775
|
+
await withMesh({ meshSlug: opts.mesh ?? null }, async (client) => {
|
|
6776
|
+
await client.setVisible(visible);
|
|
6777
|
+
});
|
|
6778
|
+
if (opts.json) {
|
|
6779
|
+
console.log(JSON.stringify({ visible }));
|
|
6780
|
+
return EXIT.SUCCESS;
|
|
6781
|
+
}
|
|
6782
|
+
render.ok(visible ? "you are now visible to peers" : "you are now hidden", visible ? undefined : "direct messages still reach you");
|
|
6783
|
+
return EXIT.SUCCESS;
|
|
6784
|
+
}
|
|
6785
|
+
async function runGroupJoin(name, opts) {
|
|
6786
|
+
if (!name) {
|
|
6787
|
+
render.err("Usage: claudemesh group join @<name> [--role X]");
|
|
6788
|
+
return EXIT.INVALID_ARGS;
|
|
6789
|
+
}
|
|
6790
|
+
const cleanName = name.startsWith("@") ? name.slice(1) : name;
|
|
6791
|
+
await withMesh({ meshSlug: opts.mesh ?? null }, async (client) => {
|
|
6792
|
+
await client.joinGroup(cleanName, opts.role);
|
|
6793
|
+
});
|
|
6794
|
+
if (opts.json) {
|
|
6795
|
+
console.log(JSON.stringify({ group: cleanName, role: opts.role ?? null }));
|
|
6796
|
+
return EXIT.SUCCESS;
|
|
6797
|
+
}
|
|
6798
|
+
render.ok(`joined ${clay("@" + cleanName)}`, opts.role ? `as ${opts.role}` : undefined);
|
|
6799
|
+
return EXIT.SUCCESS;
|
|
6800
|
+
}
|
|
6801
|
+
async function runGroupLeave(name, opts) {
|
|
6802
|
+
if (!name) {
|
|
6803
|
+
render.err("Usage: claudemesh group leave @<name>");
|
|
6804
|
+
return EXIT.INVALID_ARGS;
|
|
6805
|
+
}
|
|
6806
|
+
const cleanName = name.startsWith("@") ? name.slice(1) : name;
|
|
6807
|
+
await withMesh({ meshSlug: opts.mesh ?? null }, async (client) => {
|
|
6808
|
+
await client.leaveGroup(cleanName);
|
|
6809
|
+
});
|
|
6810
|
+
if (opts.json) {
|
|
6811
|
+
console.log(JSON.stringify({ group: cleanName, left: true }));
|
|
6812
|
+
return EXIT.SUCCESS;
|
|
6813
|
+
}
|
|
6814
|
+
render.ok(`left ${clay("@" + cleanName)}`);
|
|
6815
|
+
return EXIT.SUCCESS;
|
|
6816
|
+
}
|
|
6817
|
+
async function runForget(id, opts) {
|
|
6818
|
+
if (!id) {
|
|
6819
|
+
render.err("Usage: claudemesh forget <memory-id>");
|
|
6820
|
+
return EXIT.INVALID_ARGS;
|
|
6821
|
+
}
|
|
6822
|
+
await withMesh({ meshSlug: opts.mesh ?? null }, async (client) => {
|
|
6823
|
+
await client.forget(id);
|
|
6824
|
+
});
|
|
6825
|
+
if (opts.json) {
|
|
6826
|
+
console.log(JSON.stringify({ id, forgotten: true }));
|
|
6827
|
+
return EXIT.SUCCESS;
|
|
6828
|
+
}
|
|
6829
|
+
render.ok(`forgot ${dim(id.slice(0, 8))}`);
|
|
6830
|
+
return EXIT.SUCCESS;
|
|
6831
|
+
}
|
|
6832
|
+
async function runMsgStatus(id, opts) {
|
|
6833
|
+
if (!id) {
|
|
6834
|
+
render.err("Usage: claudemesh msg-status <message-id>");
|
|
6835
|
+
return EXIT.INVALID_ARGS;
|
|
6836
|
+
}
|
|
6837
|
+
return await withMesh({ meshSlug: opts.mesh ?? null }, async (client) => {
|
|
6838
|
+
const result = await client.messageStatus(id);
|
|
6839
|
+
if (!result) {
|
|
6840
|
+
if (opts.json)
|
|
6841
|
+
console.log(JSON.stringify({ id, found: false }));
|
|
6842
|
+
else
|
|
6843
|
+
render.err(`Message ${id} not found or timed out.`);
|
|
6844
|
+
return EXIT.NOT_FOUND;
|
|
6845
|
+
}
|
|
6846
|
+
if (opts.json) {
|
|
6847
|
+
console.log(JSON.stringify(result, null, 2));
|
|
6848
|
+
return EXIT.SUCCESS;
|
|
6849
|
+
}
|
|
6850
|
+
render.section(`message ${id.slice(0, 12)}…`);
|
|
6851
|
+
render.kv([
|
|
6852
|
+
["target", result.targetSpec],
|
|
6853
|
+
["delivered", result.delivered ? "yes" : "no"],
|
|
6854
|
+
["delivered_at", result.deliveredAt ?? dim("—")]
|
|
6855
|
+
]);
|
|
6856
|
+
if (result.recipients.length > 0) {
|
|
6857
|
+
render.blank();
|
|
6858
|
+
render.heading("recipients");
|
|
6859
|
+
for (const r of result.recipients) {
|
|
6860
|
+
process.stdout.write(` ${bold(r.name)} ${dim(r.pubkey.slice(0, 12) + "…")} ${dim("·")} ${r.status}
|
|
6861
|
+
`);
|
|
6862
|
+
}
|
|
6863
|
+
}
|
|
6864
|
+
return EXIT.SUCCESS;
|
|
6865
|
+
});
|
|
6866
|
+
}
|
|
6867
|
+
async function runClock(opts) {
|
|
6868
|
+
return await withMesh({ meshSlug: opts.mesh ?? null }, async (client) => {
|
|
6869
|
+
const result = await client.getClock();
|
|
6870
|
+
if (!result) {
|
|
6871
|
+
if (opts.json)
|
|
6872
|
+
console.log(JSON.stringify({ error: "timed out" }));
|
|
6873
|
+
else
|
|
6874
|
+
render.err("Clock query timed out");
|
|
6875
|
+
return EXIT.INTERNAL_ERROR;
|
|
6876
|
+
}
|
|
6877
|
+
if (opts.json) {
|
|
6878
|
+
console.log(JSON.stringify(result, null, 2));
|
|
6879
|
+
return EXIT.SUCCESS;
|
|
6880
|
+
}
|
|
6881
|
+
const statusLabel = result.speed === 0 ? "not started" : result.paused ? "paused" : "running";
|
|
6882
|
+
render.section(`mesh clock — ${statusLabel}`);
|
|
6883
|
+
render.kv([
|
|
6884
|
+
["speed", `x${result.speed}`],
|
|
6885
|
+
["tick", String(result.tick)],
|
|
6886
|
+
["sim_time", result.simTime],
|
|
6887
|
+
["started_at", result.startedAt]
|
|
6888
|
+
]);
|
|
6889
|
+
return EXIT.SUCCESS;
|
|
6890
|
+
});
|
|
6891
|
+
}
|
|
6892
|
+
async function runStats(opts) {
|
|
6893
|
+
return await withMesh({ meshSlug: opts.mesh ?? null }, async (client) => {
|
|
6894
|
+
const peers = await client.listPeers();
|
|
6895
|
+
if (opts.json) {
|
|
6896
|
+
console.log(JSON.stringify({
|
|
6897
|
+
mesh: client.meshSlug,
|
|
6898
|
+
peers: peers.map((p) => ({ name: p.displayName, pubkey: p.pubkey, stats: p.stats ?? null }))
|
|
6899
|
+
}, null, 2));
|
|
6900
|
+
return EXIT.SUCCESS;
|
|
6901
|
+
}
|
|
6902
|
+
render.section(client.meshSlug);
|
|
6903
|
+
for (const p of peers) {
|
|
6904
|
+
const s = p.stats;
|
|
6905
|
+
if (!s) {
|
|
6906
|
+
process.stdout.write(` ${bold(p.displayName)} ${dim("(no stats)")}
|
|
6907
|
+
`);
|
|
6908
|
+
continue;
|
|
6909
|
+
}
|
|
6910
|
+
const up = s.uptime != null ? `${Math.floor(s.uptime / 60)}m` : "—";
|
|
6911
|
+
process.stdout.write(` ${bold(p.displayName)} ${dim(`in:${s.messagesIn ?? 0} out:${s.messagesOut ?? 0} tools:${s.toolCalls ?? 0} up:${up} err:${s.errors ?? 0}`)}
|
|
6912
|
+
`);
|
|
6913
|
+
}
|
|
6914
|
+
return EXIT.SUCCESS;
|
|
6915
|
+
});
|
|
6916
|
+
}
|
|
6917
|
+
async function runPing(opts) {
|
|
6918
|
+
return await withMesh({ meshSlug: opts.mesh ?? null }, async (client) => {
|
|
6919
|
+
const peers = await client.listPeers();
|
|
6920
|
+
if (opts.json) {
|
|
6921
|
+
console.log(JSON.stringify({
|
|
6922
|
+
mesh: client.meshSlug,
|
|
6923
|
+
ws_status: client.status,
|
|
6924
|
+
peers_online: peers.length,
|
|
6925
|
+
push_buffer: client.pushHistory.length
|
|
6926
|
+
}, null, 2));
|
|
6927
|
+
return EXIT.SUCCESS;
|
|
6928
|
+
}
|
|
6929
|
+
render.section(`ping ${client.meshSlug}`);
|
|
6930
|
+
render.kv([
|
|
6931
|
+
["ws_status", client.status],
|
|
6932
|
+
["peers_online", String(peers.length)],
|
|
6933
|
+
["push_buffer", String(client.pushHistory.length)]
|
|
6934
|
+
]);
|
|
6935
|
+
return EXIT.SUCCESS;
|
|
6936
|
+
});
|
|
6937
|
+
}
|
|
6938
|
+
async function runTaskClaim(id, opts) {
|
|
6939
|
+
if (!id) {
|
|
6940
|
+
render.err("Usage: claudemesh task claim <id>");
|
|
6941
|
+
return EXIT.INVALID_ARGS;
|
|
6942
|
+
}
|
|
6943
|
+
await withMesh({ meshSlug: opts.mesh ?? null }, async (client) => {
|
|
6944
|
+
await client.claimTask(id);
|
|
6945
|
+
});
|
|
6946
|
+
if (opts.json) {
|
|
6947
|
+
console.log(JSON.stringify({ id, claimed: true }));
|
|
6948
|
+
return EXIT.SUCCESS;
|
|
6949
|
+
}
|
|
6950
|
+
render.ok(`claimed ${dim(id.slice(0, 8))}`);
|
|
6951
|
+
return EXIT.SUCCESS;
|
|
6952
|
+
}
|
|
6953
|
+
async function runTaskComplete(id, result, opts) {
|
|
6954
|
+
if (!id) {
|
|
6955
|
+
render.err("Usage: claudemesh task complete <id> [result]");
|
|
6956
|
+
return EXIT.INVALID_ARGS;
|
|
6957
|
+
}
|
|
6958
|
+
await withMesh({ meshSlug: opts.mesh ?? null }, async (client) => {
|
|
6959
|
+
await client.completeTask(id, result);
|
|
6960
|
+
});
|
|
6961
|
+
if (opts.json) {
|
|
6962
|
+
console.log(JSON.stringify({ id, completed: true, result: result ?? null }));
|
|
6963
|
+
return EXIT.SUCCESS;
|
|
6964
|
+
}
|
|
6965
|
+
render.ok(`completed ${dim(id.slice(0, 8))}`, result);
|
|
6966
|
+
return EXIT.SUCCESS;
|
|
6967
|
+
}
|
|
6968
|
+
var init_broker_actions = __esm(() => {
|
|
6969
|
+
init_connect();
|
|
6970
|
+
init_render();
|
|
6971
|
+
init_styles();
|
|
6972
|
+
init_exit_codes();
|
|
6973
|
+
});
|
|
6974
|
+
|
|
6718
6975
|
// src/commands/remind.ts
|
|
6719
6976
|
var exports_remind = {};
|
|
6720
6977
|
__export(exports_remind, {
|
|
@@ -10163,12 +10420,34 @@ function formatPush(p, meshSlug) {
|
|
|
10163
10420
|
return `[${meshSlug}]${tag} from ${p.senderPubkey.slice(0, 12)}… (${p.priority}, ${p.createdAt}):
|
|
10164
10421
|
${body}`;
|
|
10165
10422
|
}
|
|
10423
|
+
function maybeWarnDeprecated(toolName) {
|
|
10424
|
+
const hint = DEPRECATED_TOOL_HINTS[toolName];
|
|
10425
|
+
if (!hint)
|
|
10426
|
+
return;
|
|
10427
|
+
if (warnedTools.has(toolName))
|
|
10428
|
+
return;
|
|
10429
|
+
warnedTools.add(toolName);
|
|
10430
|
+
process.stderr.write(`[claudemesh] mcp tool "${toolName}" is soft-deprecated in 1.1.0 ` + `and will be removed in 2.0.0. Use \`${hint}\` instead.
|
|
10431
|
+
`);
|
|
10432
|
+
}
|
|
10166
10433
|
async function startMcpServer() {
|
|
10167
10434
|
const serviceIdx = process.argv.indexOf("--service");
|
|
10168
10435
|
if (serviceIdx !== -1 && process.argv[serviceIdx + 1]) {
|
|
10169
10436
|
return startServiceProxy(process.argv[serviceIdx + 1]);
|
|
10170
10437
|
}
|
|
10438
|
+
const meshIdx = process.argv.indexOf("--mesh");
|
|
10439
|
+
const onlyMesh = meshIdx !== -1 ? process.argv[meshIdx + 1] : null;
|
|
10171
10440
|
const config = readConfig();
|
|
10441
|
+
if (onlyMesh) {
|
|
10442
|
+
const available = config.meshes.map((m) => m.slug);
|
|
10443
|
+
const filtered = config.meshes.filter((m) => m.slug === onlyMesh);
|
|
10444
|
+
if (filtered.length === 0) {
|
|
10445
|
+
process.stderr.write(`[claudemesh] --mesh "${onlyMesh}" not found in config. ` + `Joined meshes: ${available.join(", ") || "(none)"}
|
|
10446
|
+
`);
|
|
10447
|
+
process.exit(1);
|
|
10448
|
+
}
|
|
10449
|
+
config.meshes = filtered;
|
|
10450
|
+
}
|
|
10172
10451
|
const myName = config.displayName ?? "unnamed";
|
|
10173
10452
|
const myRole = config.role ?? process.env.CLAUDEMESH_ROLE ?? null;
|
|
10174
10453
|
const myGroups = (config.groups ?? []).map((g) => `@${g.name}${g.role ? ":" + g.role : ""}`).join(", ") || "none";
|
|
@@ -10446,6 +10725,7 @@ ${manifest.allowed_tools.map((t) => ` - ${t}`).join(`
|
|
|
10446
10725
|
if (config.meshes.length === 0) {
|
|
10447
10726
|
return text("No meshes joined. Run `claudemesh join https://claudemesh.com/join/<token>` first.", true);
|
|
10448
10727
|
}
|
|
10728
|
+
maybeWarnDeprecated(name);
|
|
10449
10729
|
switch (name) {
|
|
10450
10730
|
case "send_message": {
|
|
10451
10731
|
const { to, message, priority } = args ?? {};
|
|
@@ -12209,12 +12489,40 @@ async function startServiceProxy(serviceName) {
|
|
|
12209
12489
|
process.on("SIGTERM", shutdown);
|
|
12210
12490
|
process.on("SIGINT", shutdown);
|
|
12211
12491
|
}
|
|
12212
|
-
var peerNameCache, peerNameCacheAge = 0, CACHE_TTL_MS = 30000;
|
|
12492
|
+
var peerNameCache, peerNameCacheAge = 0, CACHE_TTL_MS = 30000, DEPRECATED_TOOL_HINTS, warnedTools;
|
|
12213
12493
|
var init_server = __esm(() => {
|
|
12214
12494
|
init_definitions();
|
|
12215
12495
|
init_facade();
|
|
12216
12496
|
init_facade8();
|
|
12217
12497
|
peerNameCache = new Map;
|
|
12498
|
+
DEPRECATED_TOOL_HINTS = {
|
|
12499
|
+
send_message: "claudemesh send <to> <msg> [--mesh X] [--priority Y]",
|
|
12500
|
+
list_peers: "claudemesh peers --json",
|
|
12501
|
+
check_messages: "claudemesh inbox --json",
|
|
12502
|
+
message_status: "claudemesh msg-status <id>",
|
|
12503
|
+
set_profile: "claudemesh profile --avatar X --bio Y",
|
|
12504
|
+
set_status: "claudemesh status set <state>",
|
|
12505
|
+
set_summary: "claudemesh summary <text>",
|
|
12506
|
+
set_visible: "claudemesh visible <true|false>",
|
|
12507
|
+
join_group: "claudemesh group join @<name> [--role X]",
|
|
12508
|
+
leave_group: "claudemesh group leave @<name>",
|
|
12509
|
+
get_state: "claudemesh state get <key> --json",
|
|
12510
|
+
set_state: "claudemesh state set <key> <value>",
|
|
12511
|
+
list_state: "claudemesh state list --json",
|
|
12512
|
+
remember: "claudemesh remember <text>",
|
|
12513
|
+
recall: "claudemesh recall <query> --json",
|
|
12514
|
+
forget: "claudemesh forget <id>",
|
|
12515
|
+
schedule_reminder: "claudemesh remind <msg> --in/--at/--cron",
|
|
12516
|
+
list_scheduled: "claudemesh remind list --json",
|
|
12517
|
+
cancel_scheduled: "claudemesh remind cancel <id>",
|
|
12518
|
+
mesh_info: "claudemesh info --json",
|
|
12519
|
+
mesh_stats: "claudemesh stats --json",
|
|
12520
|
+
mesh_clock: "claudemesh clock --json",
|
|
12521
|
+
ping_mesh: "claudemesh ping",
|
|
12522
|
+
claim_task: "claudemesh task claim <id>",
|
|
12523
|
+
complete_task: "claudemesh task complete <id>"
|
|
12524
|
+
};
|
|
12525
|
+
warnedTools = new Set;
|
|
12218
12526
|
});
|
|
12219
12527
|
|
|
12220
12528
|
// src/commands/mcp.ts
|
|
@@ -12509,12 +12817,28 @@ Messaging
|
|
|
12509
12817
|
claudemesh peers see who's online
|
|
12510
12818
|
claudemesh send <to> <msg> send a message
|
|
12511
12819
|
claudemesh inbox drain pending messages
|
|
12820
|
+
claudemesh msg-status <id> check delivery status
|
|
12512
12821
|
claudemesh state get|set|list shared state
|
|
12513
12822
|
claudemesh remember <text> store a memory
|
|
12514
12823
|
claudemesh recall <query> search memories
|
|
12824
|
+
claudemesh forget <id> remove a memory
|
|
12515
12825
|
claudemesh remind ... schedule a reminder
|
|
12516
12826
|
claudemesh profile view or edit your profile
|
|
12517
12827
|
claudemesh info mesh overview
|
|
12828
|
+
claudemesh stats per-peer activity counters
|
|
12829
|
+
claudemesh clock mesh logical clock state
|
|
12830
|
+
claudemesh ping diagnostic round-trip
|
|
12831
|
+
|
|
12832
|
+
Identity / presence
|
|
12833
|
+
claudemesh status set <state> set peer status (idle | working | dnd)
|
|
12834
|
+
claudemesh summary <text> broadcast 1-2 sentence work summary
|
|
12835
|
+
claudemesh visible <true|false> toggle peer visibility
|
|
12836
|
+
claudemesh group join @<name> join a group (--role X optional)
|
|
12837
|
+
claudemesh group leave @<name> leave a group
|
|
12838
|
+
|
|
12839
|
+
Tasks
|
|
12840
|
+
claudemesh task claim <id> claim an unclaimed task
|
|
12841
|
+
claudemesh task complete <id> mark task done [result]
|
|
12518
12842
|
|
|
12519
12843
|
Auth
|
|
12520
12844
|
claudemesh login sign in (browser or paste token)
|
|
@@ -12711,6 +13035,11 @@ async function main() {
|
|
|
12711
13035
|
process.exit(await recall2(positionals.join(" "), { json: !!flags.json }));
|
|
12712
13036
|
break;
|
|
12713
13037
|
}
|
|
13038
|
+
case "forget": {
|
|
13039
|
+
const { runForget: runForget2 } = await Promise.resolve().then(() => (init_broker_actions(), exports_broker_actions));
|
|
13040
|
+
process.exit(await runForget2(positionals[0], { mesh: flags.mesh, json: !!flags.json }));
|
|
13041
|
+
break;
|
|
13042
|
+
}
|
|
12714
13043
|
case "remind": {
|
|
12715
13044
|
const { runRemind: runRemind2 } = await Promise.resolve().then(() => (init_remind(), exports_remind));
|
|
12716
13045
|
await runRemind2({ mesh: flags.mesh }, positionals);
|
|
@@ -12721,6 +13050,64 @@ async function main() {
|
|
|
12721
13050
|
await runProfile2(flags);
|
|
12722
13051
|
break;
|
|
12723
13052
|
}
|
|
13053
|
+
case "summary": {
|
|
13054
|
+
const { runSummary: runSummary2 } = await Promise.resolve().then(() => (init_broker_actions(), exports_broker_actions));
|
|
13055
|
+
process.exit(await runSummary2(positionals.join(" "), { mesh: flags.mesh, json: !!flags.json }));
|
|
13056
|
+
break;
|
|
13057
|
+
}
|
|
13058
|
+
case "visible": {
|
|
13059
|
+
const { runVisible: runVisible2 } = await Promise.resolve().then(() => (init_broker_actions(), exports_broker_actions));
|
|
13060
|
+
process.exit(await runVisible2(positionals[0], { mesh: flags.mesh, json: !!flags.json }));
|
|
13061
|
+
break;
|
|
13062
|
+
}
|
|
13063
|
+
case "group": {
|
|
13064
|
+
const sub = positionals[0];
|
|
13065
|
+
if (sub === "join") {
|
|
13066
|
+
const { runGroupJoin: runGroupJoin2 } = await Promise.resolve().then(() => (init_broker_actions(), exports_broker_actions));
|
|
13067
|
+
process.exit(await runGroupJoin2(positionals[1], { mesh: flags.mesh, role: flags.role, json: !!flags.json }));
|
|
13068
|
+
} else if (sub === "leave") {
|
|
13069
|
+
const { runGroupLeave: runGroupLeave2 } = await Promise.resolve().then(() => (init_broker_actions(), exports_broker_actions));
|
|
13070
|
+
process.exit(await runGroupLeave2(positionals[1], { mesh: flags.mesh, json: !!flags.json }));
|
|
13071
|
+
} else {
|
|
13072
|
+
console.error("Usage: claudemesh group <join|leave> @<name> [--role X]");
|
|
13073
|
+
process.exit(EXIT.INVALID_ARGS);
|
|
13074
|
+
}
|
|
13075
|
+
break;
|
|
13076
|
+
}
|
|
13077
|
+
case "msg-status": {
|
|
13078
|
+
const { runMsgStatus: runMsgStatus2 } = await Promise.resolve().then(() => (init_broker_actions(), exports_broker_actions));
|
|
13079
|
+
process.exit(await runMsgStatus2(positionals[0], { mesh: flags.mesh, json: !!flags.json }));
|
|
13080
|
+
break;
|
|
13081
|
+
}
|
|
13082
|
+
case "clock": {
|
|
13083
|
+
const { runClock: runClock2 } = await Promise.resolve().then(() => (init_broker_actions(), exports_broker_actions));
|
|
13084
|
+
process.exit(await runClock2({ mesh: flags.mesh, json: !!flags.json }));
|
|
13085
|
+
break;
|
|
13086
|
+
}
|
|
13087
|
+
case "stats": {
|
|
13088
|
+
const { runStats: runStats2 } = await Promise.resolve().then(() => (init_broker_actions(), exports_broker_actions));
|
|
13089
|
+
process.exit(await runStats2({ mesh: flags.mesh, json: !!flags.json }));
|
|
13090
|
+
break;
|
|
13091
|
+
}
|
|
13092
|
+
case "ping": {
|
|
13093
|
+
const { runPing: runPing2 } = await Promise.resolve().then(() => (init_broker_actions(), exports_broker_actions));
|
|
13094
|
+
process.exit(await runPing2({ mesh: flags.mesh, json: !!flags.json }));
|
|
13095
|
+
break;
|
|
13096
|
+
}
|
|
13097
|
+
case "task": {
|
|
13098
|
+
const sub = positionals[0];
|
|
13099
|
+
if (sub === "claim") {
|
|
13100
|
+
const { runTaskClaim: runTaskClaim2 } = await Promise.resolve().then(() => (init_broker_actions(), exports_broker_actions));
|
|
13101
|
+
process.exit(await runTaskClaim2(positionals[1], { mesh: flags.mesh, json: !!flags.json }));
|
|
13102
|
+
} else if (sub === "complete") {
|
|
13103
|
+
const { runTaskComplete: runTaskComplete2 } = await Promise.resolve().then(() => (init_broker_actions(), exports_broker_actions));
|
|
13104
|
+
process.exit(await runTaskComplete2(positionals[1], positionals.slice(2).join(" ") || undefined, { mesh: flags.mesh, json: !!flags.json }));
|
|
13105
|
+
} else {
|
|
13106
|
+
console.error("Usage: claudemesh task <claim|complete> <id> [result]");
|
|
13107
|
+
process.exit(EXIT.INVALID_ARGS);
|
|
13108
|
+
}
|
|
13109
|
+
break;
|
|
13110
|
+
}
|
|
12724
13111
|
case "login": {
|
|
12725
13112
|
const { login: login2 } = await Promise.resolve().then(() => (init_login(), exports_login));
|
|
12726
13113
|
process.exit(await login2());
|
|
@@ -12757,8 +13144,13 @@ async function main() {
|
|
|
12757
13144
|
break;
|
|
12758
13145
|
}
|
|
12759
13146
|
case "status": {
|
|
12760
|
-
|
|
12761
|
-
|
|
13147
|
+
if (positionals[0] === "set") {
|
|
13148
|
+
const { runStatusSet: runStatusSet2 } = await Promise.resolve().then(() => (init_broker_actions(), exports_broker_actions));
|
|
13149
|
+
process.exit(await runStatusSet2(positionals[1] ?? "", { mesh: flags.mesh, json: !!flags.json }));
|
|
13150
|
+
} else {
|
|
13151
|
+
const { runStatus: runStatus2 } = await Promise.resolve().then(() => (init_status(), exports_status));
|
|
13152
|
+
await runStatus2();
|
|
13153
|
+
}
|
|
12762
13154
|
break;
|
|
12763
13155
|
}
|
|
12764
13156
|
case "sync": {
|
|
@@ -12854,4 +13246,4 @@ main().catch((err) => {
|
|
|
12854
13246
|
process.exit(EXIT.INTERNAL_ERROR);
|
|
12855
13247
|
});
|
|
12856
13248
|
|
|
12857
|
-
//# debugId=
|
|
13249
|
+
//# debugId=0A4A6F72C9E014B864756E2164756E21
|