@lambdacurry/arbor 0.20.13 → 0.20.14

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 -5
  2. package/package.json +1 -1
package/dist/arbor.js CHANGED
@@ -16921,6 +16921,25 @@ var computerRunReceipt = exports_external.looseObject({
16921
16921
  status: exports_external.enum(["active", "finished", "failed", "cancelled"]),
16922
16922
  outcome: exports_external.enum(["finished", "failed", "cancelled"]).nullable(),
16923
16923
  reason: exports_external.string().nullable(),
16924
+ reasonCode: exports_external.string().nullable(),
16925
+ operations: exports_external.array(exports_external.looseObject({
16926
+ operationId: exports_external.string(),
16927
+ kind: exports_external.literal("exec"),
16928
+ execution: exports_external.enum(["foreground", "background"]),
16929
+ state: exports_external.enum([
16930
+ "starting",
16931
+ "running",
16932
+ "completed",
16933
+ "failed",
16934
+ "cancelled",
16935
+ "provider-lost",
16936
+ "unknown"
16937
+ ]),
16938
+ mutationRetrySafety: exports_external.enum(["not-needed", "unsafe", "unknown"]),
16939
+ reasonCode: exports_external.string(),
16940
+ startedAt: exports_external.string(),
16941
+ endedAt: exports_external.string().nullable()
16942
+ })),
16924
16943
  startedAt: exports_external.string(),
16925
16944
  endedAt: exports_external.string().nullable(),
16926
16945
  durationMs: exports_external.number().nullable(),
@@ -16929,7 +16948,8 @@ var computerRunReceipt = exports_external.looseObject({
16929
16948
  at: exports_external.string(),
16930
16949
  label: exports_external.string().optional(),
16931
16950
  detail: exports_external.string().optional(),
16932
- targetId: exports_external.string().optional()
16951
+ targetId: exports_external.string().optional(),
16952
+ reasonCode: exports_external.string().optional()
16933
16953
  })),
16934
16954
  lifecycle: exports_external.array(exports_external.looseObject({ type: exports_external.string(), at: exports_external.string() }))
16935
16955
  });
@@ -17665,6 +17685,12 @@ var MCP_OUTPUT_SCHEMAS = {
17665
17685
  cpuPercent: exports_external.number().min(0).nullable(),
17666
17686
  processCount: exports_external.number().int().min(0).nullable(),
17667
17687
  reasonCode: exports_external.string()
17688
+ }).optional(),
17689
+ recovery: exports_external.looseObject({
17690
+ state: exports_external.enum(["provider-timeout", "provider-lost", "unknown"]),
17691
+ reasonCode: exports_external.string(),
17692
+ mutationRetrySafety: exports_external.enum(["unsafe", "unknown"]),
17693
+ nextAction: exports_external.enum(["computer_process_read", "computer_run_receipt"])
17668
17694
  }).optional()
17669
17695
  }),
17670
17696
  computer_process_terminate: exports_external.looseObject({
@@ -17864,7 +17890,8 @@ var OUTPUT_SHAPERS = {
17864
17890
  ["endedAt", result.endedAt],
17865
17891
  ["durationMs", result.durationMs],
17866
17892
  ["exitCode", result.exitCode],
17867
- ["activity", result.activity]
17893
+ ["activity", result.activity],
17894
+ ["recovery", result.recovery]
17868
17895
  ]),
17869
17896
  computer_process_terminate: (result) => defined([
17870
17897
  ["status", result.status],
@@ -18462,7 +18489,7 @@ var ACTION_DEFINITIONS = [
18462
18489
  {
18463
18490
  name: "computer_run_receipt",
18464
18491
  title: "Read a run receipt",
18465
- description: "READ ONLY: read one run's compact receipt — its purpose, actor, computer session, base snapshot and starting Git projection, explicit isolation/durability contract, pre-teardown durability assessment when available (including publication that remains unknown unless proven), meaningful activity, and terminal outcome. Background work may appear as distilled labels/outcomes, but Arbor keeps no raw command transcript or process output. The receipt stays readable after the Run is terminal.",
18492
+ description: "READ ONLY: read one run's compact receipt — its purpose, actor, computer session, base snapshot and starting Git projection, explicit isolation/durability contract, pre-teardown durability assessment when available (including publication that remains unknown unless proven), durable operation receipts with stable state/reason/retry-safety, meaningful activity, and terminal outcome. Foreground and background work may appear as distilled process identities/labels/outcomes, but Arbor keeps no raw command transcript or process output. The receipt stays readable after the Run is terminal.",
18466
18493
  inputSchema: {
18467
18494
  runId: exports_external.string().describe("the run to read, run_… (from computer_run_start or computer_runs)")
18468
18495
  },
@@ -18486,7 +18513,7 @@ var ACTION_DEFINITIONS = [
18486
18513
  {
18487
18514
  name: "computer_exec",
18488
18515
  title: "Run a command",
18489
- description: "Run one bounded logical operation in an opened Thread computer. Omitting cwd uses the environment's defaultCwd; pass cwd explicitly to override it. Pass runId to route the command according to that Run's execution placement; without runId the command executes in the parent Computer. Strict Bash semantics are ON by default. For tests, builds, installs, or any command likely to run long, prefer background=true so the call returns a processId immediately; follow it with computer_process_read using the returned cursor for small incremental tails. For a labeled run-scoped verification check, pass activityKind=verification so the terminal exit becomes a distilled verification outcome. For a connected human, Arbor supplies ambient GitHub authorization and Git identity ephemerally without writing credentials into the workspace. Background processes stay in the environment where they were started.",
18516
+ description: "Run one bounded logical operation in an opened Thread computer. Omitting cwd uses the environment's defaultCwd; pass cwd explicitly to override it. Pass runId to route the command according to that Run's execution placement; without runId the command executes in the parent Computer. Strict Bash semantics are ON by default. For explicit asynchronous work, background=true returns a processId immediately. On an isolated container Run, foreground exec also establishes a durable operation/process identity before Arbor waits; a missed foreground response can be recovered from computer_run_receipt.operations and computer_process_read without repeating the mutation. For a labeled run-scoped verification check, pass activityKind=verification so the terminal exit becomes a distilled verification outcome. For a connected human, Arbor supplies ambient GitHub authorization and Git identity ephemerally without writing credentials into the workspace. Provider-owned processes stay in the environment where they were started.",
18490
18517
  inputSchema: {
18491
18518
  computerSessionId: exports_external.string().optional().describe("the computerSessionId returned by computer_open, cms_…; required unless runId is supplied"),
18492
18519
  command: exports_external.string().min(1).describe("the shell command to run"),
@@ -18505,7 +18532,7 @@ var ACTION_DEFINITIONS = [
18505
18532
  {
18506
18533
  name: "computer_process_read",
18507
18534
  title: "Read a background process",
18508
- description: "READ ONLY: Tail one process returned by computer_exec(background=true). With no cursor, returns only the latest small output window; pass nextCursor on the next read to receive only newer output. Defaults to 4 KB total and allows an explicit larger read up to 64 KB. Returns a compact activity receipt that distinguishes fresh output, active CPU work, quiet running, terminal state, and unavailable telemetry without exposing raw process tables. Once terminal, also returns the final exit result.",
18535
+ description: "READ ONLY: Read one provider-owned process from computer_exec, including a recoverable foreground operation discovered through computer_run_receipt.operations. With no cursor, returns only the latest small output window; pass nextCursor on the next read to receive only newer output. Defaults to 4 KB total and allows an explicit larger read up to 64 KB. Returns the existing compact activity receipt that distinguishes fresh output, active CPU work, quiet running, terminal state, and unavailable telemetry without exposing raw process tables. For a known foreground recovery handle whose provider state cannot be observed, returns structured recovery state/reason/retry-safety instead of guessing. Once terminal, also returns the final exit result.",
18509
18536
  inputSchema: {
18510
18537
  computerSessionId: exports_external.string().optional().describe("the computerSessionId returned by computer_open, cms_…; required unless runId is supplied"),
18511
18538
  runId: exports_external.string().optional().describe("the Run that owns this process, if it was started inside a Run"),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lambdacurry/arbor",
3
- "version": "0.20.13",
3
+ "version": "0.20.14",
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",