clawborrator-cli 0.0.43 → 0.0.44

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.
@@ -68729,12 +68729,13 @@ var agentsList = new Command("list").alias("ls").description("list published age
68729
68729
  for (const a of data.items) {
68730
68730
  const dot = a.online ? "\u25CF" : "\u25CB";
68731
68731
  const tag2 = a.status === "draft" ? " [draft]" : "";
68732
+ const iso = a.isolated ? " [isolated]" : " [composable]";
68732
68733
  const stats = `${a.queriesAllTime} queries`;
68733
68734
  const tagln = a.tagline ? ` \u2014 ${a.tagline}` : "";
68734
- console.log(`${dot} @${a.handle}${tag2} ${a.name} ${stats}${tagln}`);
68735
+ console.log(`${dot} @${a.handle}${tag2}${iso} ${a.name} ${stats}${tagln}`);
68735
68736
  }
68736
68737
  });
68737
- var agentsPublish = new Command("publish").description("publish a session as a public agent").requiredOption("--session <id>", "the session UUID to back the agent").requiredOption("--name <name>", 'display name (e.g. "viper-rust-expert")').option("--tagline <text>", "one-line description (160 chars max)").option("--description <text>", "long-form description, markdown allowed (4 KB max)").option("--slug <slug>", "explicit slug (default: derived from session routingName)").option("--draft", "publish as draft (status=draft); use --published to go live immediately").option("--published", "publish as live (status=published)").option("--budget <n>", "daily budget in queries (default 1000, max 100000)", (v) => parseInt(v, 10)).option("--concurrency <n>", "concurrent in-flight queries cap (default 5, max 20)", (v) => parseInt(v, 10)).action(async (opts) => {
68738
+ var agentsPublish = new Command("publish").description("publish a session as a public agent").requiredOption("--session <id>", "the session UUID to back the agent").requiredOption("--name <name>", 'display name (e.g. "viper-rust-expert")').option("--tagline <text>", "one-line description (160 chars max)").option("--description <text>", "long-form description, markdown allowed (4 KB max)").option("--slug <slug>", "explicit slug (default: derived from session routingName)").option("--draft", "publish as draft (status=draft); use --published to go live immediately").option("--published", "publish as live (status=published)").option("--budget <n>", "daily budget in queries (default 1000, max 100000)", (v) => parseInt(v, 10)).option("--concurrency <n>", "concurrent in-flight queries cap (default 5, max 20)", (v) => parseInt(v, 10)).option("--isolated", "isolated mode: agent CC cannot use cross-session routing tools while answering (default true; safer)").option("--composable", "composable mode: agent CC may use cross-session routing tools (gated against the requester's own access)").action(async (opts) => {
68738
68739
  const status = opts.published ? "published" : "draft";
68739
68740
  const body = {
68740
68741
  sessionId: opts.session,
@@ -68746,10 +68747,13 @@ var agentsPublish = new Command("publish").description("publish a session as a p
68746
68747
  if (opts.slug) body.slug = opts.slug;
68747
68748
  if (typeof opts.budget === "number") body.dailyBudgetQueries = opts.budget;
68748
68749
  if (typeof opts.concurrency === "number") body.concurrencyCap = opts.concurrency;
68750
+ if (opts.composable) body.isolated = false;
68751
+ else if (opts.isolated) body.isolated = true;
68749
68752
  const r = await api.post("/api/v1/agents", body);
68750
68753
  console.log(`\u2713 ${r.restored ? "restored" : "published"} agent: @${r.handle}`);
68751
68754
  console.log(` name: ${r.name}`);
68752
68755
  console.log(` status: ${r.status}`);
68756
+ console.log(` mode: ${r.isolated ? "isolated (cross-session routing disabled while answering)" : "composable (CC may route to peers)"}`);
68753
68757
  console.log(` budget: ${r.dailyBudgetQueries}/day, concurrency ${r.concurrencyCap}`);
68754
68758
  console.log(` session: ${r.sessionId}`);
68755
68759
  if (r.status === "draft") {
@@ -68758,7 +68762,7 @@ var agentsPublish = new Command("publish").description("publish a session as a p
68758
68762
  console.log(` call as: '@${r.handle} <question>' from any session prompt`);
68759
68763
  }
68760
68764
  });
68761
- var agentsUpdate = new Command("update").description("update an agent").argument("<handle>", "@owner/slug").option("--status <s>", "draft | published").option("--name <name>").option("--tagline <text>").option("--description <text>").option("--budget <n>", "daily budget in queries", (v) => parseInt(v, 10)).option("--concurrency <n>", "concurrency cap", (v) => parseInt(v, 10)).action(async (handleArg, opts) => {
68765
+ var agentsUpdate = new Command("update").description("update an agent").argument("<handle>", "@owner/slug").option("--status <s>", "draft | published").option("--name <name>").option("--tagline <text>").option("--description <text>").option("--budget <n>", "daily budget in queries", (v) => parseInt(v, 10)).option("--concurrency <n>", "concurrency cap", (v) => parseInt(v, 10)).option("--isolated", "switch to isolated mode (block cross-session routing while answering)").option("--composable", "switch to composable mode (allow cross-session routing tools)").action(async (handleArg, opts) => {
68762
68766
  const handle = handleArg.replace(/^@/, "");
68763
68767
  const agent = await api.get(`/api/v1/agents/by-handle/${encodeURIComponent(handle.split("/")[0])}/${encodeURIComponent(handle.split("/")[1] ?? "")}`);
68764
68768
  const body = {};
@@ -68768,6 +68772,8 @@ var agentsUpdate = new Command("update").description("update an agent").argument
68768
68772
  if (opts.description) body.description = opts.description;
68769
68773
  if (typeof opts.budget === "number") body.dailyBudgetQueries = opts.budget;
68770
68774
  if (typeof opts.concurrency === "number") body.concurrencyCap = opts.concurrency;
68775
+ if (opts.composable) body.isolated = false;
68776
+ else if (opts.isolated) body.isolated = true;
68771
68777
  if (Object.keys(body).length === 0) {
68772
68778
  console.error("no fields to update");
68773
68779
  process.exit(2);
@@ -68775,6 +68781,7 @@ var agentsUpdate = new Command("update").description("update an agent").argument
68775
68781
  const r = await api.patch(`/api/v1/agents/${agent.id}`, body);
68776
68782
  console.log(`\u2713 updated @${r.handle}`);
68777
68783
  console.log(` status: ${r.status}`);
68784
+ console.log(` mode: ${r.isolated ? "isolated" : "composable"}`);
68778
68785
  console.log(` budget: ${r.dailyBudgetQueries}/day, concurrency ${r.concurrencyCap}`);
68779
68786
  });
68780
68787
  var agentsUnpublish = new Command("unpublish").description("soft-delete an agent (drops its handle)").argument("<handle>", "@owner/slug").action(async (handleArg) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clawborrator-cli",
3
- "version": "0.0.43",
3
+ "version": "0.0.44",
4
4
  "type": "module",
5
5
  "description": "claw — command-line client for clawborrator hub_v1. Manages PATs, channel tokens, sessions, cross-session routing, and webhooks; ships an inline TUI for live multi-operator session attach.",
6
6
  "license": "MIT",