@lambdacurry/arbor 0.20.4 → 0.20.6

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 +34 -2
  2. package/package.json +1 -1
package/dist/arbor.js CHANGED
@@ -1683,6 +1683,7 @@ var computerRuns = sqliteTable("computer_runs", {
1683
1683
  workspaceDir: text("workspace_dir").notNull(),
1684
1684
  _legacyWorkspaceRef: text("workspace_ref"),
1685
1685
  baseSnapshotId: text("base_snapshot_id"),
1686
+ gitStart: text("git_start", { mode: "json" }).$type(),
1686
1687
  status: text("status").$type().notNull().default("active"),
1687
1688
  label: text("label"),
1688
1689
  reason: text("reason"),
@@ -2199,6 +2200,8 @@ var watches = sqliteTable("watches", {
2199
2200
  }));
2200
2201
  // ../core/src/ops/computer-run.ts
2201
2202
  var TERMINAL = new Set(["finished", "failed", "cancelled"]);
2203
+ var RUN_LIFECYCLE_TYPES = new Set(["run.started", "run.finished", "run.failed", "run.cancelled"]);
2204
+ var COMPUTER_RUN_ACTIVITY_LABEL_MAX = 120;
2202
2205
 
2203
2206
  // ../core/src/ops/computer.ts
2204
2207
  var MAX_COMPUTER_REPOSITORIES = 10;
@@ -16763,6 +16766,19 @@ var computerProfile = exports_external.looseObject({
16763
16766
  tools: exports_external.array(exports_external.string()),
16764
16767
  recommendedEditingPrimitive: exports_external.string()
16765
16768
  });
16769
+ var computerRunGitStart = exports_external.looseObject({
16770
+ repositories: exports_external.array(exports_external.looseObject({
16771
+ repository: exports_external.string(),
16772
+ path: exports_external.string(),
16773
+ git: exports_external.looseObject({
16774
+ head: exports_external.string().nullable(),
16775
+ branch: exports_external.string().nullable(),
16776
+ upstream: exports_external.string().nullable(),
16777
+ dirty: exports_external.boolean(),
16778
+ remote: exports_external.looseObject({ name: exports_external.string(), repository: exports_external.string().nullable() }).nullable()
16779
+ }).nullable()
16780
+ }))
16781
+ });
16766
16782
  var computerRun = exports_external.looseObject({
16767
16783
  runId: id,
16768
16784
  computerId: id,
@@ -16774,6 +16790,7 @@ var computerRun = exports_external.looseObject({
16774
16790
  execution: exports_external.enum(["shared", "isolated"]),
16775
16791
  workspaceDir: exports_external.string(),
16776
16792
  baseSnapshotId: id.nullable(),
16793
+ gitStart: computerRunGitStart.nullable().optional(),
16777
16794
  status: exports_external.enum(["active", "finished", "failed", "cancelled"]),
16778
16795
  label: exports_external.string().nullable(),
16779
16796
  reason: exports_external.string().nullable(),
@@ -16785,18 +16802,30 @@ var computerRunReceipt = exports_external.looseObject({
16785
16802
  threadId: id,
16786
16803
  computerId: id,
16787
16804
  computerSessionId: id,
16788
- actor: exports_external.looseObject({ profileId: id, executionContextId: id }),
16805
+ actor: exports_external.looseObject({
16806
+ profileId: id,
16807
+ executionContextId: id,
16808
+ displayName: exports_external.string().nullable()
16809
+ }),
16789
16810
  label: exports_external.string().nullable(),
16790
16811
  mode: exports_external.enum(["read", "write"]),
16791
16812
  execution: exports_external.enum(["shared", "isolated"]),
16792
16813
  workspace: exports_external.looseObject({ dir: exports_external.string() }),
16793
16814
  baseSnapshotId: id.nullable(),
16815
+ gitStart: computerRunGitStart.nullable().optional(),
16794
16816
  status: exports_external.enum(["active", "finished", "failed", "cancelled"]),
16795
16817
  outcome: exports_external.enum(["finished", "failed", "cancelled"]).nullable(),
16796
16818
  reason: exports_external.string().nullable(),
16797
16819
  startedAt: exports_external.string(),
16798
16820
  endedAt: exports_external.string().nullable(),
16799
16821
  durationMs: exports_external.number().nullable(),
16822
+ activity: exports_external.array(exports_external.looseObject({
16823
+ type: exports_external.string(),
16824
+ at: exports_external.string(),
16825
+ label: exports_external.string().optional(),
16826
+ detail: exports_external.string().optional(),
16827
+ targetId: exports_external.string().optional()
16828
+ })),
16800
16829
  lifecycle: exports_external.array(exports_external.looseObject({ type: exports_external.string(), at: exports_external.string() }))
16801
16830
  });
16802
16831
  var computerCapabilityCard = exports_external.looseObject({
@@ -17404,6 +17433,7 @@ var MCP_OUTPUT_SCHEMAS = {
17404
17433
  runId: id,
17405
17434
  execution: exports_external.enum(["shared", "isolated"]),
17406
17435
  baseSnapshotId: id.nullable(),
17436
+ gitStart: computerRunGitStart.nullable().optional(),
17407
17437
  status: exports_external.string()
17408
17438
  }),
17409
17439
  computer_run_finish: exports_external.looseObject({
@@ -17610,6 +17640,7 @@ var OUTPUT_SHAPERS = {
17610
17640
  ["runId", run.runId],
17611
17641
  ["execution", run.execution],
17612
17642
  ["baseSnapshotId", run.baseSnapshotId],
17643
+ ["gitStart", run.gitStart],
17613
17644
  ["status", run.status]
17614
17645
  ]);
17615
17646
  },
@@ -18211,7 +18242,7 @@ var ACTION_DEFINITIONS = [
18211
18242
  {
18212
18243
  name: "computer_run_receipt",
18213
18244
  title: "Read a run receipt",
18214
- description: "READ ONLY: read one run's compact receipt — its purpose, actor, computer session, the base snapshot it forked from, its workspace and execution placement, how it ended and why, how long it took, and its lifecycle events. This is the normal way to inspect a run you or someone else started, and it stays readable after the run is terminal. Arbor keeps no process state and no command output, so the receipt says what the protocol recorded, not what scrolled past in the shell.",
18245
+ description: "READ ONLY: read one run's compact receipt — its purpose, actor, computer session, base snapshot and starting Git projection, execution placement, 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.",
18215
18246
  inputSchema: {
18216
18247
  runId: exports_external.string().describe("the run to read, run_… (from computer_run_start or computer_runs)")
18217
18248
  },
@@ -18243,6 +18274,7 @@ var ACTION_DEFINITIONS = [
18243
18274
  cwd: exports_external.string().optional().describe("working directory under /workspace, or under the run"),
18244
18275
  timeout: exports_external.number().int().min(1000).max(1800000).optional().describe("timeout in milliseconds, from 1,000 through 1,800,000"),
18245
18276
  background: exports_external.boolean().optional().describe("start a container process and return its pid"),
18277
+ activityLabel: exports_external.string().min(1).max(COMPUTER_RUN_ACTIVITY_LABEL_MAX).optional().describe("short human-readable label for run-scoped background work; Arbor records this label instead of the raw command or output"),
18246
18278
  strict: exports_external.boolean().optional().describe("fail on the first unhandled command or pipeline failure; defaults to true, set false only for intentional best-effort execution")
18247
18279
  },
18248
18280
  surfaces: ["computer-mcp", "computer-cli"],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lambdacurry/arbor",
3
- "version": "0.20.4",
3
+ "version": "0.20.6",
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",