@lambdacurry/arbor 0.4.28 → 0.4.30

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/arbor.js +22 -5
  2. package/package.json +1 -1
package/dist/arbor.js CHANGED
@@ -16973,12 +16973,16 @@ function matchCommand(positionals) {
16973
16973
  }
16974
16974
  return;
16975
16975
  }
16976
+ function toolNameAlias(action) {
16977
+ return action.name.includes("_") ? action.name : "";
16978
+ }
16976
16979
  function helpLine(action) {
16977
16980
  const flags = flagsForSchema(action.inputSchema).map((f) => {
16978
16981
  const token = f.kind === "boolean" ? `--${f.flag}` : `--${f.flag} <>`;
16979
16982
  return f.required ? token : `[${token}]`;
16980
16983
  }).join(" ");
16981
- const head = ` ${commandWords(action)}${flags ? ` ${flags}` : ""}`;
16984
+ const alias2 = toolNameAlias(action);
16985
+ const head = ` ${commandWords(action)}${alias2 ? ` (${alias2})` : ""}${flags ? ` ${flags}` : ""}`;
16982
16986
  return `${head}
16983
16987
  ${action.description}`;
16984
16988
  }
@@ -17005,12 +17009,17 @@ function commandHelp(positionals) {
17005
17009
  const primaryNote = primary ? `
17006
17010
 
17007
17011
  A single bare argument fills --${primary.flag} (e.g. \`arbor ${commandWords(action)} <${primary.field}>\`).` : "";
17008
- return `${commandWords(action)} — ${action.description}
17012
+ const alias2 = toolNameAlias(action);
17013
+ const aliasNote = alias2 ? `
17014
+
17015
+ Alias: \`arbor ${alias2}\` (the tool-name form) resolves to this same command.` : "";
17016
+ const heading = `${commandWords(action)}${alias2 ? ` (alias: ${alias2})` : ""}`;
17017
+ return `${heading} — ${action.description}
17009
17018
 
17010
17019
  ${usage}
17011
17020
 
17012
17021
  ${lines.join(`
17013
- `)}${primaryNote}
17022
+ `)}${primaryNote}${aliasNote}
17014
17023
  `;
17015
17024
  }
17016
17025
  function commandCatalog() {
@@ -17185,6 +17194,10 @@ function parseArgs(argv) {
17185
17194
  }
17186
17195
  return { positionals, flags };
17187
17196
  }
17197
+ function clamp(text3, max = 140) {
17198
+ const t = text3.trim().replace(/\s+/g, " ");
17199
+ return t.length > max ? `${t.slice(0, max - 1)}…` : t;
17200
+ }
17188
17201
  var PKG = (() => {
17189
17202
  try {
17190
17203
  const pkg = JSON.parse(readFileSync3(fileURLToPath(new URL("../package.json", import.meta.url)), "utf8"));
@@ -17206,13 +17219,17 @@ async function renderMe(ctx, action) {
17206
17219
  const setLines = (charter ? ` charter: ${charter}
17207
17220
  ` : "") + (caps.length > 0 ? ` capabilities: ${caps.join(", ")}
17208
17221
  ` : "");
17222
+ const setCharters = me.spaceCharters ?? [];
17223
+ const charterLines = setCharters.length > 0 ? ` space charters:
17224
+ ` + setCharters.map((s) => ` • ${s.spaceTitle} — ${clamp(s.charter)}
17225
+ `).join("") : "";
17209
17226
  const human = `${me.profile.displayName} · ${me.profile.kind} · org-role ${me.profile.orgRole}
17210
17227
  ` + ` org ${me.profile.orgId} · resolved via ${me.client.kind}
17211
- ` + setLines + (gaps.length > 0 ? ` to be more legible to your team, set: ${gaps.join("; ")} (\`introduce\`)
17228
+ ` + setLines + charterLines + (gaps.length > 0 ? ` to be more legible to your team, set: ${gaps.join("; ")} (\`introduce\`)
17212
17229
  ` : "") + spaceLines;
17213
17230
  emitDual(me, human, action, ctx);
17214
17231
  }
17215
- var CLI_NOTE = `On this CLI, before your first write: commands are NOUN-VERB (\`thread get\`, \`space get\`, not \`get thread\`). A single-argument command also takes a bare positional — \`recall "your question"\`, \`thread get thr_…\` — so you don't have to name the obvious flag. Flag names are kebab-derived from the inputs (\`--thread-id\`, \`--request-id\`, \`--contribution-id\` — not \`--thread\`/\`--request\`), so check \`arbor help\` or \`arbor <command> --help\` (now focused on that command's flags) instead of guessing. Pass long/markdown bodies via \`--body-file -\` (stdin), never shell-quoted; a one-line \`--summary\` (≤300 chars) on a long contribution becomes its recall snippet. List inputs (e.g. \`--capabilities\`) accept EITHER a comma list (\`--capabilities a,b,c\`) OR a repeated flag (\`--capabilities a --capabilities b\`) — both build the array. \`tree\` is a glanceable map (default depth \`topics\`); drill down with \`space get\`/\`topic get\`/\`thread get\` rather than expanding the whole tree. If \`inbox\` is empty, that's "nothing needs you" — but if you're unsure your auth resolved, \`whoami\` confirms it.`;
17232
+ var CLI_NOTE = `On this CLI, before your first write: commands are NOUN-VERB (\`thread get\`, \`space get\`, not \`get thread\`). The underscore tool-names you see in MCP, recall, and docs (\`set_space_charter\`, \`transition_thread\`) work as CLI commands VERBATIM too — \`set_space_charter …\` and \`set space charter …\` are the same command, either form. A single-argument command also takes a bare positional — \`recall "your question"\`, \`thread get thr_…\` — so you don't have to name the obvious flag. Flag names are kebab-derived from the inputs (\`--thread-id\`, \`--request-id\`, \`--contribution-id\` — not \`--thread\`/\`--request\`), so check \`arbor help\` or \`arbor <command> --help\` (now focused on that command's flags) instead of guessing. Pass long/markdown bodies via \`--body-file -\` (stdin), never shell-quoted; a one-line \`--summary\` (≤300 chars) on a long contribution becomes its recall snippet. List inputs (e.g. \`--capabilities\`) accept EITHER a comma list (\`--capabilities a,b,c\`) OR a repeated flag (\`--capabilities a --capabilities b\`) — both build the array. \`tree\` is a glanceable map (default depth \`topics\`); drill down with \`space get\`/\`topic get\`/\`thread get\` rather than expanding the whole tree. If \`inbox\` is empty, that's "nothing needs you" — but if you're unsure your auth resolved, \`whoami\` confirms it.`;
17216
17233
  function renderOrient(ctx) {
17217
17234
  emitDual({ orientation: ORIENTATION, cliNote: CLI_NOTE }, `${ORIENTATION}
17218
17235
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lambdacurry/arbor",
3
- "version": "0.4.28",
3
+ "version": "0.4.30",
4
4
  "description": "The Arbor CLI — a shared workspace for people and agents. The human + headless-agent write path over Arbor's guarded operation surface.",
5
5
  "type": "module",
6
6
  "bin": {