@lambdacurry/arbor 0.15.2 → 0.16.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.
Files changed (2) hide show
  1. package/dist/arbor.js +26 -5
  2. package/package.json +1 -1
package/dist/arbor.js CHANGED
@@ -17002,6 +17002,12 @@ var MCP_OUTPUT_SCHEMAS = {
17002
17002
  get_computer: exports_external.looseObject({
17003
17003
  threadId: id,
17004
17004
  config: redactedComputerRecipe,
17005
+ repositoryAuthorization: exports_external.array(exports_external.looseObject({
17006
+ repository: exports_external.string(),
17007
+ connected: exports_external.boolean(),
17008
+ grantedByScope: exports_external.enum(["organization", "space", "topic", "thread"]).nullable(),
17009
+ inheritedBySiblingThreads: exports_external.boolean()
17010
+ })),
17005
17011
  compatibility: exports_external.looseObject({
17006
17012
  state: exports_external.enum(["ready", "stale_config", "backend_mismatch", "replacement_required"]),
17007
17013
  reason: exports_external.string(),
@@ -17016,6 +17022,19 @@ var MCP_OUTPUT_SCHEMAS = {
17016
17022
  lineage: exports_external.array(jsonObject),
17017
17023
  reprovisions: exports_external.array(jsonObject)
17018
17024
  }),
17025
+ github_repositories: exports_external.looseObject({
17026
+ repositories: exports_external.array(jsonObject),
17027
+ nextCursor: exports_external.string().nullable().optional(),
17028
+ hasMore: exports_external.boolean().optional()
17029
+ }),
17030
+ github_connect_repository: exports_external.looseObject({
17031
+ repositoryId: id,
17032
+ scope: exports_external.enum(["organization", "space", "topic", "thread"]),
17033
+ scopeId: id,
17034
+ status: exports_external.enum(["active", "disconnected"]),
17035
+ connected: exports_external.boolean(),
17036
+ inheritedBySiblingThreads: exports_external.boolean()
17037
+ }),
17019
17038
  publish_topic_computer: exports_external.looseObject({
17020
17039
  published: exports_external.boolean(),
17021
17040
  snapshot
@@ -17551,6 +17570,8 @@ var MCP_TOOL_ANNOTATIONS = {
17551
17570
  app_restore_state: destructiveIdempotent,
17552
17571
  app_archive: additive,
17553
17572
  charter: destructive,
17573
+ github_repositories: readOnly,
17574
+ github_connect_repository: idempotent,
17554
17575
  computer_open: additive,
17555
17576
  computer_reprovision: destructiveIdempotent,
17556
17577
  computer_exec: destructiveOpenWorld,
@@ -17635,23 +17656,23 @@ var ACTION_DEFINITIONS = [
17635
17656
  {
17636
17657
  name: "github_repositories",
17637
17658
  title: "List installed GitHub repositories",
17638
- description: "List repositories projected from this organization's verified Arbor Computer GitHub App installation. This returns repository ids and metadata, never credentials; use the id with github_connect_repository.",
17659
+ description: "READ ONLY: List repositories projected from this organization's verified Arbor Computer GitHub App installation. This returns repository ids and metadata, never credentials; use the id with github_connect_repository.",
17639
17660
  inputSchema: { ...PAGINATION_INPUT },
17640
- surfaces: ["cli"],
17661
+ surfaces: ["mcp", "cli"],
17641
17662
  toolset: "admin",
17642
17663
  run: forward("github.repositories")
17643
17664
  },
17644
17665
  {
17645
17666
  name: "github_connect_repository",
17646
17667
  title: "Connect a GitHub repository",
17647
- description: "Connect or disconnect one installed GitHub repository at an Arbor organization, Space, Topic, or Thread. This explicit, recoverable connection is required before Arbor may use private repository context there; it does not grant an agent a Git credential.",
17668
+ description: "Connect or disconnect one installed GitHub repository at an Arbor organization, Space, Topic, or Thread. This explicit, recoverable connection is required before Arbor may use private repository context there; it does not grant an agent a Git credential. THE SCOPE IS THE DECISION: a Computer recipe only NAMES repositories, and a Thread materializes one only when a connection at its own scope or an ANCESTOR authorizes it — so connect at the Topic that owns the project and every Thread opened under it inherits the environment, while connecting at a single Thread authorizes that Thread alone and no sibling. Read get_computer's repositoryAuthorization to see which scope currently grants each configured repository. Owner/admin only.",
17648
17669
  inputSchema: {
17649
17670
  repositoryId: exports_external.string().describe("installed repository id from github_repositories, ghr_…"),
17650
- scope: exports_external.enum(["organization", "space", "topic", "thread"]).describe("the Arbor scope that may use this repository's context"),
17671
+ scope: exports_external.enum(["organization", "space", "topic", "thread"]).describe("the Arbor scope that may use this repository's context; topic is the durable choice for a project every Thread under it develops"),
17651
17672
  scopeId: exports_external.string().describe("id matching the selected scope"),
17652
17673
  connected: exports_external.boolean().describe("true to connect; false to disconnect recoverably")
17653
17674
  },
17654
- surfaces: ["cli"],
17675
+ surfaces: ["mcp", "cli"],
17655
17676
  toolset: "admin",
17656
17677
  run: forward("github.set_repository_connection")
17657
17678
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lambdacurry/arbor",
3
- "version": "0.15.2",
3
+ "version": "0.16.0",
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",