@lambdacurry/arbor 0.24.11 → 0.24.13

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 +22 -1
  2. package/package.json +1 -1
package/dist/arbor.js CHANGED
@@ -646,7 +646,7 @@ function dispositionFilename(value) {
646
646
  // package.json
647
647
  var package_default = {
648
648
  name: "@lambdacurry/arbor",
649
- version: "0.24.11",
649
+ version: "0.24.13",
650
650
  description: "The Arbor CLI — a shared workspace for people and agents. The human + headless-agent write path over Arbor's guarded operation surface.",
651
651
  keywords: [
652
652
  "agents",
@@ -8559,6 +8559,7 @@ var computerRuns = sqliteTable("computer_runs", {
8559
8559
  execution: text("isolation").$type().notNull(),
8560
8560
  workspaceDir: text("workspace_dir").notNull(),
8561
8561
  baseSnapshotId: text("base_snapshot_id"),
8562
+ sourceRunId: text("source_run_id"),
8562
8563
  currentSnapshotId: text("current_snapshot_id"),
8563
8564
  runtimeState: text("runtime_state").$type().notNull().default("shared"),
8564
8565
  runtimeUpdatedAt: ts("runtime_updated_at"),
@@ -8755,6 +8756,8 @@ var computerRunStarts = sqliteTable("computer_run_starts", {
8755
8756
  checkpointParentSnapshotId: text("checkpoint_parent_snapshot_id").references(() => computerSnapshots.id),
8756
8757
  snapshotId: text("snapshot_id").references(() => computerSnapshots.id),
8757
8758
  runId: text("run_id").references(() => computerRuns.id),
8759
+ sourceRunId: text("source_run_id").references(() => computerRuns.id),
8760
+ sourceSnapshotId: text("source_snapshot_id").references(() => computerSnapshots.id),
8758
8761
  createdAt: ts("created_at").notNull(),
8759
8762
  updatedAt: ts("updated_at").notNull()
8760
8763
  }, (t) => ({
@@ -9959,6 +9962,13 @@ var RUN_PROVIDER_LIFECYCLE_PHASES = [
9959
9962
  "workspace_freeze"
9960
9963
  ];
9961
9964
  var RUN_PROVIDER_LIFECYCLE_PHASE_SET = new Set(RUN_PROVIDER_LIFECYCLE_PHASES);
9965
+ var OWNER_ACTION_EVENT_TYPES = new Set([
9966
+ "run.started",
9967
+ "process.starting",
9968
+ "run.workspace_mutation",
9969
+ "artifact.produced",
9970
+ "run.finish_requested"
9971
+ ]);
9962
9972
 
9963
9973
  // ../core/src/ops/computer.ts
9964
9974
  var MAX_COMPUTER_REPOSITORIES = 10;
@@ -10371,6 +10381,7 @@ function buildOutputSchemas() {
10371
10381
  repositories: computerRunGitStartRepositories.describe("the inherited base's repositories before any requested revision was checked out"),
10372
10382
  materialized: looseObject({ repositories: computerRunGitStartRepositories }).optional().describe("the workspace as admitted, at each requested revision; read this, when present, for what the Run started on")
10373
10383
  });
10384
+ const computerRunSource = object({ runId: id, snapshotId: id.nullable() }).optional().describe("this Run began at source.runId's durable checkpoint snapshotId");
10374
10385
  const computerRun = looseObject({
10375
10386
  runId: id,
10376
10387
  computerId: id,
@@ -10382,6 +10393,7 @@ function buildOutputSchemas() {
10382
10393
  execution: _enum(["shared", "isolated"]),
10383
10394
  workspaceDir: string2(),
10384
10395
  baseSnapshotId: id.nullable(),
10396
+ source: computerRunSource,
10385
10397
  currentSnapshotId: id.nullable().optional(),
10386
10398
  runtime: computerRunRuntime,
10387
10399
  gitStart: computerRunGitStart.nullable().optional(),
@@ -10430,11 +10442,16 @@ function buildOutputSchemas() {
10430
10442
  executionContextId: id,
10431
10443
  displayName: string2().nullable()
10432
10444
  }),
10445
+ ownerActivity: object({
10446
+ liveness: literal("unknown"),
10447
+ lastObservedAction: object({ type: string2(), at: timestamp }).nullable().describe("last durably recorded caller ingress attributed to this Run's owner; excludes provider/process completion, lifecycle automation and reads; not presence or a complete action history")
10448
+ }),
10433
10449
  label: string2().nullable(),
10434
10450
  mode: _enum(["read", "write"]),
10435
10451
  execution: _enum(["shared", "isolated"]),
10436
10452
  workspace: looseObject({ dir: string2() }),
10437
10453
  baseSnapshotId: id.nullable(),
10454
+ source: computerRunSource,
10438
10455
  runtime: computerRunRuntime,
10439
10456
  gitStart: computerRunGitStart.nullable().optional(),
10440
10457
  durability: computerRunDurability,
@@ -11692,6 +11709,7 @@ function buildOutputSchemas() {
11692
11709
  runId: id,
11693
11710
  replayed: boolean2(),
11694
11711
  execution: _enum(["shared", "isolated"]),
11712
+ source: computerRunSource,
11695
11713
  durability: computerRunDurabilitySummary,
11696
11714
  status: string2()
11697
11715
  }),
@@ -12307,6 +12325,7 @@ var OUTPUT_SHAPERS = {
12307
12325
  ["runId", run.runId],
12308
12326
  ["replayed", result.replayed],
12309
12327
  ["execution", run.execution],
12328
+ ["source", selected(run.source, ["runId", "snapshotId"])],
12310
12329
  [
12311
12330
  "durability",
12312
12331
  defined([
@@ -13756,6 +13775,8 @@ var ACTION_DEFINITIONS = [
13756
13775
  repository: string2().describe("configured GitHub repository as canonical owner/name"),
13757
13776
  head: string2().regex(/^[0-9a-fA-F]{40}(?:[0-9a-fA-F]{24})?$/).describe("exact 40- or 64-hex Git object id required before caller work")
13758
13777
  })).max(32).optional().describe("optional exact repository revisions the isolated workspace must prove before caller work"),
13778
+ sourceRunId: string2().optional().describe("fork: a new isolated write Run restored from YOUR same-Thread Run's last durable checkpoint (its last suspend or admission; edits since are not included), run_…; active, suspended, or ended within 14 days or Keep; requires threadId; the source Run is never changed"),
13779
+ sourceSnapshotId: string2().optional().describe("with sourceRunId: the exact checkpoint you expect (the source receipt's runtime.currentSnapshotId), cps_…; refused if it moved"),
13759
13780
  idempotencyKey: string2().min(1).max(200).describe("stable key for this ONE logical Run-start request; reuse it unchanged for retries")
13760
13781
  },
13761
13782
  surfaces: ["computer-mcp", "computer-cli"],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lambdacurry/arbor",
3
- "version": "0.24.11",
3
+ "version": "0.24.13",
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",