@lambdacurry/arbor 0.14.1 → 0.14.2
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.
- package/README.md +1 -1
- package/dist/arbor.js +32 -14
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -42,7 +42,7 @@ This prints a URL + short code to relay to the human, who approves it in their l
|
|
|
42
42
|
|
|
43
43
|
## Output contract (agent-friendly)
|
|
44
44
|
|
|
45
|
-
Every command takes `--json` to emit a stable `{ ok, data | error, meta }` envelope on stdout (with structured error codes and agent-mode exit codes); advisory/human text goes to stderr. A failure envelope adds the server's granular `reason` — `validation.missing_field`, `limit.exceeded`, `conflict.state`, … — beside the coarse `code`, optionally with `field`, `limit`, `retryable`, and `
|
|
45
|
+
Every command takes `--json` to emit a stable `{ ok, data | error, meta }` envelope on stdout (with structured error codes and agent-mode exit codes); advisory/human text goes to stderr. A failure envelope adds the server's granular `reason` — `validation.missing_field`, `limit.exceeded`, `conflict.state`, … — beside the coarse `code`, optionally with `field`, `limit`, `retryable`, `phase`, and bounded sanitized `provider` lifecycle diagnostics (AD-237/261). `--quiet` (auto under `--json` or a pipe) silences the advisory stream. `--fields a,b,list:N` projects a result; `--limit`/`--cursor` paginate list commands.
|
|
46
46
|
|
|
47
47
|
```bash
|
|
48
48
|
arbor inbox --json --limit 20
|
package/dist/arbor.js
CHANGED
|
@@ -2078,6 +2078,9 @@ var watches = sqliteTable("watches", {
|
|
|
2078
2078
|
watchUq: uniqueIndex("watches_watcher_target_uniq").on(t.watcherProfileId, t.targetType, t.targetId),
|
|
2079
2079
|
watchTargetIdx: index("watches_target_idx").on(t.targetType, t.targetId)
|
|
2080
2080
|
}));
|
|
2081
|
+
// ../core/src/ops/computer.ts
|
|
2082
|
+
var MAX_COMPUTER_REPOSITORIES = 10;
|
|
2083
|
+
|
|
2081
2084
|
// ../core/src/ops/request.ts
|
|
2082
2085
|
var REQUEST_TTL_MS = 14 * 24 * 60 * 60 * 1000;
|
|
2083
2086
|
|
|
@@ -16618,7 +16621,8 @@ var computerProfile = exports_external.looseObject({
|
|
|
16618
16621
|
id: exports_external.string(),
|
|
16619
16622
|
version: exports_external.number(),
|
|
16620
16623
|
shell: exports_external.string(),
|
|
16621
|
-
runtimes: exports_external.looseObject({ bun: exports_external.string() }),
|
|
16624
|
+
runtimes: exports_external.looseObject({ bun: exports_external.string(), node: exports_external.string() }),
|
|
16625
|
+
packageManagers: exports_external.looseObject({ pnpm: exports_external.string() }),
|
|
16622
16626
|
tools: exports_external.array(exports_external.string()),
|
|
16623
16627
|
recommendedEditingPrimitive: exports_external.string()
|
|
16624
16628
|
});
|
|
@@ -17693,9 +17697,9 @@ var ACTION_DEFINITIONS = [
|
|
|
17693
17697
|
description: "Replace your organization's sparse computer-default layer without allocating runtime state. Omitted/null values fall back to provider defaults; Space, Topic, and Thread layers may override individual fields.",
|
|
17694
17698
|
inputSchema: {
|
|
17695
17699
|
backend: exports_external.enum(["worker-shell", "container"]).nullable().optional().describe("default execution tier, or null to use worker-shell"),
|
|
17696
|
-
containerProfile: exports_external.string().nullable().optional().describe("logical container profile;
|
|
17697
|
-
setupScript: exports_external.string().nullable().optional().describe("optional setup run
|
|
17698
|
-
repositories: exports_external.array(exports_external.string()).nullable().optional().describe("
|
|
17700
|
+
containerProfile: exports_external.string().nullable().optional().describe("logical container profile; bun-typescript-v1 guarantees Bash, Git, Bun 1.3.3, Node 26.5.1, and pnpm 10.33.0, or null to clear"),
|
|
17701
|
+
setupScript: exports_external.string().nullable().optional().describe("optional strict Bash setup run after connected repositories materialize, or null to clear"),
|
|
17702
|
+
repositories: exports_external.array(exports_external.string()).max(MAX_COMPUTER_REPOSITORIES).nullable().optional().describe("connected GitHub repositories to materialize into a fresh reusable base and allow for later Git calls; [] clears and null inherits")
|
|
17699
17703
|
},
|
|
17700
17704
|
surfaces: ["mcp", "cli"],
|
|
17701
17705
|
toolset: "structure",
|
|
@@ -17708,9 +17712,9 @@ var ACTION_DEFINITIONS = [
|
|
|
17708
17712
|
inputSchema: {
|
|
17709
17713
|
spaceId: exports_external.string().describe("the Space, spc_…"),
|
|
17710
17714
|
backend: exports_external.enum(["worker-shell", "container"]).nullable().optional().describe("override execution tier, or null to inherit"),
|
|
17711
|
-
containerProfile: exports_external.string().nullable().optional().describe("logical container profile;
|
|
17712
|
-
setupScript: exports_external.string().nullable().optional().describe("optional setup run
|
|
17713
|
-
repositories: exports_external.array(exports_external.string()).nullable().optional().describe("
|
|
17715
|
+
containerProfile: exports_external.string().nullable().optional().describe("logical container profile; bun-typescript-v1 guarantees Bash, Git, Bun 1.3.3, Node 26.5.1, and pnpm 10.33.0, or null to clear inherited profile"),
|
|
17716
|
+
setupScript: exports_external.string().nullable().optional().describe("optional strict Bash setup run after connected repositories materialize, or null to clear"),
|
|
17717
|
+
repositories: exports_external.array(exports_external.string()).max(MAX_COMPUTER_REPOSITORIES).nullable().optional().describe("connected GitHub repositories to materialize into a fresh reusable base and allow for later Git calls; [] clears and null inherits")
|
|
17714
17718
|
},
|
|
17715
17719
|
surfaces: ["mcp", "cli"],
|
|
17716
17720
|
toolset: "structure",
|
|
@@ -17723,9 +17727,9 @@ var ACTION_DEFINITIONS = [
|
|
|
17723
17727
|
inputSchema: {
|
|
17724
17728
|
topicId: exports_external.string().describe("the Topic, top_…"),
|
|
17725
17729
|
backend: exports_external.enum(["worker-shell", "container"]).nullable().optional().describe("override execution tier, or null to inherit"),
|
|
17726
|
-
containerProfile: exports_external.string().nullable().optional().describe("logical container profile;
|
|
17727
|
-
setupScript: exports_external.string().nullable().optional().describe("optional setup run
|
|
17728
|
-
repositories: exports_external.array(exports_external.string()).nullable().optional().describe("
|
|
17730
|
+
containerProfile: exports_external.string().nullable().optional().describe("logical container profile; bun-typescript-v1 guarantees Bash, Git, Bun 1.3.3, Node 26.5.1, and pnpm 10.33.0, or null to clear inherited profile"),
|
|
17731
|
+
setupScript: exports_external.string().nullable().optional().describe("optional strict Bash setup run after connected repositories materialize"),
|
|
17732
|
+
repositories: exports_external.array(exports_external.string()).max(MAX_COMPUTER_REPOSITORIES).nullable().optional().describe("connected GitHub repositories to materialize into a fresh reusable base and allow for later Git calls; [] clears and null inherits")
|
|
17729
17733
|
},
|
|
17730
17734
|
surfaces: ["mcp", "cli"],
|
|
17731
17735
|
toolset: "structure",
|
|
@@ -17738,9 +17742,9 @@ var ACTION_DEFINITIONS = [
|
|
|
17738
17742
|
inputSchema: {
|
|
17739
17743
|
threadId: exports_external.string().describe("the Thread, thr_…"),
|
|
17740
17744
|
backend: exports_external.enum(["worker-shell", "container"]).nullable().optional().describe("override execution tier, or null to inherit"),
|
|
17741
|
-
containerProfile: exports_external.string().nullable().optional().describe("logical container profile;
|
|
17742
|
-
setupScript: exports_external.string().nullable().optional().describe("optional setup run
|
|
17743
|
-
repositories: exports_external.array(exports_external.string()).nullable().optional().describe("
|
|
17745
|
+
containerProfile: exports_external.string().nullable().optional().describe("logical container profile; bun-typescript-v1 guarantees Bash, Git, Bun 1.3.3, Node 26.5.1, and pnpm 10.33.0, or null to clear inherited profile"),
|
|
17746
|
+
setupScript: exports_external.string().nullable().optional().describe("optional strict Bash setup run after connected repositories materialize"),
|
|
17747
|
+
repositories: exports_external.array(exports_external.string()).max(MAX_COMPUTER_REPOSITORIES).nullable().optional().describe("connected GitHub repositories to materialize into a fresh reusable base and allow for later Git calls; [] clears and null inherits")
|
|
17744
17748
|
},
|
|
17745
17749
|
surfaces: ["mcp", "cli"],
|
|
17746
17750
|
toolset: "structure",
|
|
@@ -17760,7 +17764,7 @@ var ACTION_DEFINITIONS = [
|
|
|
17760
17764
|
{
|
|
17761
17765
|
name: "computer_open",
|
|
17762
17766
|
title: "Open a Thread computer",
|
|
17763
|
-
description: "Open or resume this Thread's project environment for filesystem or command work.
|
|
17767
|
+
description: "Open or resume this Thread's project environment for filesystem or command work. Every configured repository is re-authorized through its explicit GitHub connection; a fresh reusable base clones it with a request-scoped contents:read credential before strict setup runs, while a restore receives no credential. Returns computerSessionId and the selected profile contract; pass the session id unchanged to later Computer tools and cited work.",
|
|
17764
17768
|
inputSchema: {
|
|
17765
17769
|
threadId: exports_external.string().describe("the Arbor Thread whose stable computer to open, thr_…"),
|
|
17766
17770
|
vcpus: exports_external.number().int().min(1).max(4).optional().describe("optional container vCPU request"),
|
|
@@ -19483,6 +19487,20 @@ function parseErrorDetails(value) {
|
|
|
19483
19487
|
details.retryable = raw.retryable;
|
|
19484
19488
|
if (typeof raw.phase === "string")
|
|
19485
19489
|
details.phase = raw.phase;
|
|
19490
|
+
if (raw.provider && typeof raw.provider === "object" && !Array.isArray(raw.provider)) {
|
|
19491
|
+
const provider = raw.provider;
|
|
19492
|
+
if (typeof provider.stage === "string" && provider.stage !== "") {
|
|
19493
|
+
details.provider = {
|
|
19494
|
+
stage: provider.stage,
|
|
19495
|
+
...typeof provider.command === "string" ? { command: provider.command } : {},
|
|
19496
|
+
...typeof provider.exitCode === "number" ? { exitCode: provider.exitCode } : {},
|
|
19497
|
+
...typeof provider.stdout === "string" ? { stdout: provider.stdout } : {},
|
|
19498
|
+
...typeof provider.stderr === "string" ? { stderr: provider.stderr } : {},
|
|
19499
|
+
...typeof provider.containerStarted === "boolean" ? { containerStarted: provider.containerStarted } : {},
|
|
19500
|
+
...typeof provider.repositoryMaterialized === "boolean" ? { repositoryMaterialized: provider.repositoryMaterialized } : {}
|
|
19501
|
+
};
|
|
19502
|
+
}
|
|
19503
|
+
}
|
|
19486
19504
|
return details;
|
|
19487
19505
|
}
|
|
19488
19506
|
function detailsForError(err) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lambdacurry/arbor",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.2",
|
|
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",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@arbor/actions": "workspace:*",
|
|
38
38
|
"@arbor/core": "workspace:*",
|
|
39
|
-
"@types/node": "^
|
|
39
|
+
"@types/node": "^26.2.0",
|
|
40
40
|
"tsx": "^4.20.6",
|
|
41
41
|
"typescript": "^5.8.0",
|
|
42
42
|
"vitest": "^4.1.4",
|