@lambdacurry/arbor 0.14.6 → 0.15.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 +14 -9
  2. package/package.json +1 -1
package/dist/arbor.js CHANGED
@@ -1625,6 +1625,7 @@ var computerReprovisions = sqliteTable("computer_reprovisions", {
1625
1625
  restorationOutcome: text("restoration_outcome").$type().notNull().default("not_needed"),
1626
1626
  restoredSnapshotId: text("restored_snapshot_id"),
1627
1627
  failureCode: text("failure_code"),
1628
+ failureDetail: text("failure_detail"),
1628
1629
  createdAt: ts("created_at").notNull(),
1629
1630
  completedAt: ts("completed_at")
1630
1631
  }, (t) => ({
@@ -17328,6 +17329,7 @@ var MCP_OUTPUT_SCHEMAS = {
17328
17329
  operation: exports_external.literal("clone"),
17329
17330
  repository: exports_external.string(),
17330
17331
  dir: exports_external.string(),
17332
+ credential: exports_external.enum(["caller", "arbor-managed"]),
17331
17333
  branch: exports_external.string().optional(),
17332
17334
  head: exports_external.string().optional(),
17333
17335
  refs: exports_external.array(exports_external.string()).optional()
@@ -17337,6 +17339,7 @@ var MCP_OUTPUT_SCHEMAS = {
17337
17339
  operation: exports_external.literal("fetch"),
17338
17340
  repository: exports_external.string(),
17339
17341
  dir: exports_external.string(),
17342
+ credential: exports_external.enum(["caller", "arbor-managed"]),
17340
17343
  branch: exports_external.string().optional(),
17341
17344
  head: exports_external.string().optional(),
17342
17345
  fetchHead: exports_external.string().optional(),
@@ -17347,6 +17350,7 @@ var MCP_OUTPUT_SCHEMAS = {
17347
17350
  operation: exports_external.literal("pull"),
17348
17351
  repository: exports_external.string(),
17349
17352
  dir: exports_external.string(),
17353
+ credential: exports_external.enum(["caller", "arbor-managed"]),
17350
17354
  branch: exports_external.string().optional(),
17351
17355
  head: exports_external.string().optional(),
17352
17356
  before: exports_external.string().optional(),
@@ -17359,6 +17363,7 @@ var MCP_OUTPUT_SCHEMAS = {
17359
17363
  operation: exports_external.literal("push"),
17360
17364
  repository: exports_external.string(),
17361
17365
  dir: exports_external.string(),
17366
+ credential: exports_external.enum(["caller", "arbor-managed"]),
17362
17367
  branch: exports_external.string().optional(),
17363
17368
  head: exports_external.string().optional(),
17364
17369
  before: exports_external.string().optional(),
@@ -17983,13 +17988,13 @@ var ACTION_DEFINITIONS = [
17983
17988
  {
17984
17989
  name: "computer_sync",
17985
17990
  title: "Sync an allowed repository",
17986
- description: "Fetch, fast-forward pull, or push the checked-out branch of a cloned recipe repository using the working collaborator's GitHub token just in time. The lightweight Computer fixes the allowlisted GitHub URL, never force-pushes or deletes refs, and neither stores nor returns the token.",
17991
+ description: "Fetch, fast-forward pull, or push the checked-out branch of a cloned recipe repository. OMIT githubToken to refresh a repository named in this computer's effective recipe with Arbor's own managed credential — Arbor rechecks the repository connection and mints a request-scoped one-repository read credential server-side, so a restored computer can reach current history with no token of yours. Managed refresh covers fetch and pull; push writes to GitHub and still takes your just-in-time collaborator token. The lightweight Computer fixes the allowlisted GitHub URL, never force-pushes or deletes refs, and neither stores nor returns either credential.",
17987
17992
  inputSchema: {
17988
17993
  computerSessionId: exports_external.string().describe("the computerSessionId returned by computer_open, cms_…"),
17989
17994
  repository: exports_external.string().describe("allowed owner/repository slug already cloned by computer_clone"),
17990
17995
  operation: exports_external.enum(["fetch", "pull", "push"]).describe("network operation to perform"),
17991
- githubToken: exports_external.string().min(1).describe("short-lived GitHub token supplied by the caller"),
17992
- githubUsername: exports_external.string().optional().describe("GitHub username; defaults to x-access-token")
17996
+ githubToken: exports_external.string().min(1).optional().describe("short-lived collaborator GitHub token; omit for fetch/pull to use Arbor's managed recipe credential, required for push"),
17997
+ githubUsername: exports_external.string().optional().describe("GitHub username for a supplied githubToken; defaults to x-access-token")
17993
17998
  },
17994
17999
  surfaces: ["computer-cli"],
17995
18000
  toolset: "loop",
@@ -17998,12 +18003,12 @@ var ACTION_DEFINITIONS = [
17998
18003
  {
17999
18004
  name: "computer_fetch",
18000
18005
  title: "Fetch an allowed repository",
18001
- description: "Fetch remote refs for a cloned recipe repository without changing its checked-out branch or any remote ref. The collaborator's GitHub token is spent only on this call and is neither stored nor returned.",
18006
+ description: `Fetch remote refs for a cloned recipe repository without changing its checked-out branch or any remote ref. OMIT githubToken and Arbor refreshes it for you: it rechecks that the repository is in this computer's effective recipe and still connected, mints a request-scoped one-repository read credential server-side, spends it on this fetch alone, and returns credential: "arbor-managed" — this is the way a RESTORED computer, which deliberately holds no credential, catches up with the remote. Supply githubToken instead to fetch as the collaborator. Neither credential is stored or returned.`,
18002
18007
  inputSchema: {
18003
18008
  computerSessionId: exports_external.string().describe("the computerSessionId returned by computer_open, cms_…"),
18004
18009
  repository: exports_external.string().describe("allowed owner/repository slug already cloned"),
18005
- githubToken: exports_external.string().min(1).describe("short-lived GitHub token supplied by the caller"),
18006
- githubUsername: exports_external.string().optional().describe("GitHub username; defaults to x-access-token")
18010
+ githubToken: exports_external.string().min(1).optional().describe("short-lived collaborator GitHub token; omit to use Arbor's managed recipe credential"),
18011
+ githubUsername: exports_external.string().optional().describe("GitHub username for a supplied githubToken; defaults to x-access-token")
18007
18012
  },
18008
18013
  surfaces: ["computer-mcp"],
18009
18014
  toolset: "loop",
@@ -18012,12 +18017,12 @@ var ACTION_DEFINITIONS = [
18012
18017
  {
18013
18018
  name: "computer_pull",
18014
18019
  title: "Fast-forward an allowed repository",
18015
- description: "Fetch and fast-forward the checked-out branch of a cloned recipe repository; divergent history is rejected. The collaborator's GitHub token is spent only on this call and is neither stored nor returned.",
18020
+ description: "Fetch and fast-forward the checked-out branch of a cloned recipe repository; divergent history, a dirty working tree, and anything needing a merge are rejected rather than forced. OMIT githubToken and Arbor pulls with its own managed recipe credential after rechecking the repository connection — the way a restored computer reaches current history. Supply githubToken instead to pull as the collaborator. Neither credential is stored or returned.",
18016
18021
  inputSchema: {
18017
18022
  computerSessionId: exports_external.string().describe("the computerSessionId returned by computer_open, cms_…"),
18018
18023
  repository: exports_external.string().describe("allowed owner/repository slug already cloned"),
18019
- githubToken: exports_external.string().min(1).describe("short-lived GitHub token supplied by the caller"),
18020
- githubUsername: exports_external.string().optional().describe("GitHub username; defaults to x-access-token")
18024
+ githubToken: exports_external.string().min(1).optional().describe("short-lived collaborator GitHub token; omit to use Arbor's managed recipe credential"),
18025
+ githubUsername: exports_external.string().optional().describe("GitHub username for a supplied githubToken; defaults to x-access-token")
18021
18026
  },
18022
18027
  surfaces: ["computer-mcp"],
18023
18028
  toolset: "loop",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lambdacurry/arbor",
3
- "version": "0.14.6",
3
+ "version": "0.15.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",