@lambdacurry/arbor 0.21.57 → 0.21.59

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 +32 -6
  2. package/package.json +1 -1
package/dist/arbor.js CHANGED
@@ -16,7 +16,7 @@ var __export = (target, all) => {
16
16
  // package.json
17
17
  var package_default = {
18
18
  name: "@lambdacurry/arbor",
19
- version: "0.21.57",
19
+ version: "0.21.59",
20
20
  description: "The Arbor CLI — a shared workspace for people and agents. The human + headless-agent write path over Arbor's guarded operation surface.",
21
21
  keywords: [
22
22
  "agents",
@@ -18037,6 +18037,12 @@ var MCP_OUTPUT_SCHEMAS = {
18037
18037
  purpose: nullableString.optional()
18038
18038
  }),
18039
18039
  create_thread: exports_external.looseObject({ threadId: id }),
18040
+ thread_update: exports_external.looseObject({
18041
+ id,
18042
+ title: exports_external.string().optional(),
18043
+ objective: exports_external.string().optional(),
18044
+ topicId: exports_external.string().optional()
18045
+ }),
18040
18046
  set_organization_computer: exports_external.looseObject({ config: computerConfigLayer.nullable() }),
18041
18047
  set_space_computer: exports_external.looseObject({ config: computerConfigLayer.nullable() }),
18042
18048
  set_topic_computer: exports_external.looseObject({ config: computerConfigLayer.nullable() }),
@@ -19045,6 +19051,7 @@ var MCP_TOOL_ANNOTATIONS = {
19045
19051
  create_topic: additive,
19046
19052
  topic_update: additive,
19047
19053
  create_thread: additive,
19054
+ thread_update: additive,
19048
19055
  set_organization_computer: destructiveIdempotent,
19049
19056
  set_space_computer: destructiveIdempotent,
19050
19057
  set_topic_computer: destructiveIdempotent,
@@ -19689,7 +19696,7 @@ var ACTION_DEFINITIONS = [
19689
19696
  inputSchema: {
19690
19697
  topicId: exports_external.string().describe("the topic to edit, top_…"),
19691
19698
  title: exports_external.string().min(1).optional().describe("a new title — an area of work, not a question"),
19692
- purpose: exports_external.string().optional().describe("a new one-line purpose — what belongs here")
19699
+ purpose: exports_external.string().optional().describe("a new purpose — what this Topic accomplishes and what belongs here, leading with its primary role (Direction, Delivery, Operations, Intake, Coordination, or Learning); name an external or split source of truth or a handoff boundary only when it materially matters")
19693
19700
  },
19694
19701
  surfaces: ["mcp", "cli"],
19695
19702
  toolset: "spaces",
@@ -19757,6 +19764,20 @@ var ACTION_DEFINITIONS = [
19757
19764
  toolset: "loop",
19758
19765
  run: forward("thread.create")
19759
19766
  },
19767
+ {
19768
+ name: "thread_update",
19769
+ title: "Edit a thread's title, objective, or topic",
19770
+ description: "Correct a Thread's title or objective, or move it under another Topic of the same Space, patching only supplied fields; use it to make done clear or refile misfiled work instead of archiving and reopening. Status moves stay with `transition_thread`, and the temporary help list with `charter` ways_to_help.",
19771
+ inputSchema: {
19772
+ threadId: exports_external.string().describe("the thread to edit, thr_…"),
19773
+ title: exports_external.string().min(1).optional().describe("a new title — the question, outcome, investigation, instance, or standing concern"),
19774
+ objective: exports_external.string().min(1).optional().describe("a new objective — what this Thread should accomplish; for finite work, what done means"),
19775
+ topicId: exports_external.string().optional().describe("move the thread under this topic of the same space, top_…")
19776
+ },
19777
+ surfaces: ["mcp", "cli"],
19778
+ toolset: "loop",
19779
+ run: forward("thread.setConfig")
19780
+ },
19760
19781
  {
19761
19782
  name: "set_organization_computer",
19762
19783
  title: "Replace organization computer defaults",
@@ -20216,7 +20237,7 @@ var ACTION_DEFINITIONS = [
20216
20237
  {
20217
20238
  name: "transition_thread",
20218
20239
  title: "Move a thread's lifecycle",
20219
- description: "Move a Thread among active, needs-review, stuck, standing, resolved, or archived with an optional reason; illegal lifecycle jumps are rejected. Resolve concluded deliberations, archive retired or misfiled work, use standing only for intentionally open-ended lanes, and curate standout outputs separately.",
20240
+ description: "Move a Thread among active, needs-review, stuck, standing, resolved, or archived with an optional reason; illegal lifecycle jumps are rejected. Resolve finite Decide/Deliver/Investigate/Manage work once its outcome is in, archive retired work (refile misfiled work with `thread_update` instead), use standing only for intentionally open-ended concerns, and curate standout outputs separately.",
20220
20241
  inputSchema: {
20221
20242
  threadId: exports_external.string().describe("the thread to move, thr_…"),
20222
20243
  to: exports_external.string().describe("target status: active|needs-review|stuck|standing|resolved|archived"),
@@ -20371,7 +20392,7 @@ var ACTION_DEFINITIONS = [
20371
20392
  {
20372
20393
  name: "request",
20373
20394
  title: "Request a contribution or review",
20374
- description: "Request a contribution or review on a Thread: omit aboutContributionId for a contribution answered via respond, or pass it for a review answered only by stamp; target people or leave it open. Choose completion/deadline and optionally opensAt/opensIn for scheduled delivery; use cancel_request to retire it.",
20395
+ description: "Request a contribution or review on a Thread: omit aboutContributionId for a contribution answered via respond, or pass it for a review answered only by stamp; explicitly target yourself for a normal Inbox obligation, target other people, or leave it open. Choose completion/deadline and optionally opensAt/opensIn to keep it dormant until scheduled delivery; fulfill a self-target through respond or use cancel_request to retire it.",
20375
20396
  inputSchema: {
20376
20397
  threadId: exports_external.string().describe("the thread the request is in, thr_…"),
20377
20398
  requestedAction: exports_external.string().optional().describe("a one-line 'what you're requesting'"),
@@ -20793,7 +20814,7 @@ var ACTION_DEFINITIONS = [
20793
20814
  description: "Edit a Space's purpose, title, or visibility; org owner/admin or that Space's admin only, and only supplied fields are patched. Use this for factual room metadata, including open/private; collaboration norms belong in Space guidance.",
20794
20815
  inputSchema: {
20795
20816
  spaceId: exports_external.string().describe("the space, spc_…"),
20796
- purpose: exports_external.string().optional().describe("one-line purpose what this space is about"),
20817
+ purpose: exports_external.string().optional().describe("why this boundary exists and what it is around — commonly a Product/System, Program/Function, Portfolio/Network, or Practice/Community — plus its dominant work modes (Build, Operate, Coordinate, Discuss, Share) when that helps; plain prose, not metadata syntax"),
20797
20818
  title: exports_external.string().optional().describe("a new title for the space"),
20798
20819
  visibility: exports_external.enum(["open", "private"]).optional().describe("open or private (invite-only)")
20799
20820
  },
@@ -22849,7 +22870,12 @@ var KNOWN_MISREACHES = [
22849
22870
  { tried: "topics", use: "tree --depth topics", why: "topics are a tree depth" },
22850
22871
  { tried: "search", use: "recall <query>", why: "recall is the search surface" },
22851
22872
  { tried: "update topic", use: "topic update --topic-id top_…", why: "this command is noun-verb" },
22852
- { tried: "update space", use: "space update --space-id spc_…", why: "this command is noun-verb" }
22873
+ { tried: "update space", use: "space update --space-id spc_…", why: "this command is noun-verb" },
22874
+ {
22875
+ tried: "update thread",
22876
+ use: "thread update --thread-id thr_…",
22877
+ why: "this command is noun-verb"
22878
+ }
22853
22879
  ];
22854
22880
  function familyHelp(positionals) {
22855
22881
  if (positionals.length !== 1)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lambdacurry/arbor",
3
- "version": "0.21.57",
3
+ "version": "0.21.59",
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
  "keywords": [
6
6
  "agents",