@lambdacurry/arbor 0.24.33 → 0.24.34

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 +57 -4
  2. package/package.json +1 -1
package/dist/arbor.js CHANGED
@@ -10324,6 +10324,20 @@ var RUN_PROVIDER_LIFECYCLE_PHASES = [
10324
10324
  "workspace_freeze"
10325
10325
  ];
10326
10326
  var RUN_PROVIDER_LIFECYCLE_PHASE_SET = new Set(RUN_PROVIDER_LIFECYCLE_PHASES);
10327
+ var RUN_RESTORE_PHASE_KEYS = [
10328
+ "verify",
10329
+ "cacheBoot",
10330
+ "cacheReady",
10331
+ "cacheSweep",
10332
+ "proof",
10333
+ "homeReset",
10334
+ "boot",
10335
+ "ready",
10336
+ "sweep",
10337
+ "extract",
10338
+ "chown"
10339
+ ];
10340
+ var RUN_RESTORE_PHASE_KEY_SET = new Set(RUN_RESTORE_PHASE_KEYS);
10327
10341
  var OWNER_ACTION_EVENT_TYPES = new Set([
10328
10342
  "run.started",
10329
10343
  "process.starting",
@@ -10830,6 +10844,14 @@ function buildOutputSchemas() {
10830
10844
  lastDurableSnapshotId: id.nullable(),
10831
10845
  unsavedChanges: literal("not-saved-by-close")
10832
10846
  });
10847
+ const runRestoreFacts = looseObject({
10848
+ source: _enum(["native-cache", "durable-r2"]),
10849
+ decision: _enum(["ok", "no_native", "image_mismatch", "too_old"]).nullable().optional(),
10850
+ missPhase: _enum(["boot", "proof", "homeReset"]).nullable().optional(),
10851
+ missErrorType: string2().nullable().optional(),
10852
+ wallMs: number2().int().min(0).optional(),
10853
+ phasesMs: record(string2(), number2().int().min(0)).optional()
10854
+ });
10833
10855
  const computerRunReceipt = looseObject({
10834
10856
  runId: id,
10835
10857
  threadId: id,
@@ -10917,6 +10939,10 @@ function buildOutputSchemas() {
10917
10939
  reasonCode: string2().optional()
10918
10940
  })),
10919
10941
  lifecycle: array(looseObject({ type: string2(), at: string2() })),
10942
+ start: looseObject({
10943
+ admittedMs: number2().nullable(),
10944
+ restore: runRestoreFacts.extend({ observedAt: timestamp, providerGeneration: number2().int().min(0) }).nullable().describe("null means not recorded, never that no restore happened")
10945
+ }).describe("F1 start→admitted milliseconds and the provider's starting-restore facts"),
10920
10946
  providerLifecycle: looseObject({
10921
10947
  generation: number2().int().min(0).nullable(),
10922
10948
  lastPhase: string2().nullable(),
@@ -10945,7 +10971,8 @@ function buildOutputSchemas() {
10945
10971
  retryOperation: _enum(["run_terminal_checkpoint", "run_release", "run_checkpoint_publication"]).optional(),
10946
10972
  retryAttempts: number2().int().positive().optional(),
10947
10973
  retryLastFailedAt: timestamp.optional(),
10948
- retryNextAttemptAt: timestamp.optional()
10974
+ retryNextAttemptAt: timestamp.optional(),
10975
+ restore: runRestoreFacts.optional()
10949
10976
  }))
10950
10977
  })
10951
10978
  });
@@ -11437,6 +11464,20 @@ function buildOutputSchemas() {
11437
11464
  startingSnapshot: snapshot.nullable(),
11438
11465
  config: computerConfig
11439
11466
  }),
11467
+ computer_topic_base: looseObject({
11468
+ topicId: id,
11469
+ topicBase: looseObject({ id, createdAt: timestamp, contentDigest: string2().nullable() }).nullable(),
11470
+ nativeCache: union([
11471
+ looseObject({
11472
+ state: literal("checked"),
11473
+ native: looseObject({ capturedImage: string2(), capturedAt: timestamp.nullable() }).nullable(),
11474
+ servingImageMatches: boolean2().nullable(),
11475
+ decision: _enum(["ok", "no_native", "image_mismatch", "too_old"]).nullable(),
11476
+ checkedAt: timestamp.nullable()
11477
+ }),
11478
+ looseObject({ state: literal("unavailable") })
11479
+ ]).nullable().describe("null when there is no Topic base to check")
11480
+ }),
11440
11481
  get_computer: looseObject({
11441
11482
  threadId: id,
11442
11483
  config: redactedComputerRecipe,
@@ -13081,6 +13122,7 @@ var MCP_TOOL_ANNOTATIONS = {
13081
13122
  set_topic_computer: destructiveIdempotent,
13082
13123
  set_thread_computer: destructiveIdempotent,
13083
13124
  get_computer: readOnly,
13125
+ computer_topic_base: readOnly,
13084
13126
  computer_inventory: readOnly,
13085
13127
  computer_audit_access: additive,
13086
13128
  transition_thread: additive,
@@ -14503,7 +14545,7 @@ var ACTION_DEFINITIONS = [
14503
14545
  {
14504
14546
  name: "computer_run_receipt",
14505
14547
  title: "Read a run receipt",
14506
- description: "Read pending admission, finish continuation, Run-owned operation/activity state, and providerLifecycle with exactly one of runId or runStartId instead of parent computer_status. This read drives nothing; setupReadiness is not an instruction to reinstall: run computer_run_setup when the task needs a prepared workspace, then save work outside the temporary Computer before finishing.",
14548
+ description: "Read pending admission, finish continuation, Run-owned operation/activity state, providerLifecycle, and the start facts with exactly one of runId or runStartId instead of parent computer_status. This read drives nothing; setupReadiness is not an instruction to reinstall: run computer_run_setup when the task needs a prepared workspace, then save work outside the temporary Computer before finishing.",
14507
14549
  inputSchema: {
14508
14550
  runId: string2().optional().describe("the Run to read, run_…; provide exactly one of runId or runStartId"),
14509
14551
  runStartId: string2().optional().describe("the pending or linked RunStart to read, rsr_…; alternative to runId")
@@ -14947,6 +14989,17 @@ var ACTION_DEFINITIONS = [
14947
14989
  toolset: "loop",
14948
14990
  run: forward("computer.get")
14949
14991
  },
14992
+ {
14993
+ name: "computer_topic_base",
14994
+ title: "Check a Topic base's native cache",
14995
+ description: "Read this Topic's current base and, live from Currybox control, its captured image and time, whether the serving image still matches, and the native-cache decision Runs will get. One read when asked: it never recaptures, retires, starts, or caches anything; nativeCache.state=unavailable means control could not answer, and a null topicBase means no base exists yet.",
14996
+ inputSchema: {
14997
+ topicId: string2().describe("the Topic, top_…")
14998
+ },
14999
+ surfaces: ["computer-mcp", "computer-cli"],
15000
+ toolset: "loop",
15001
+ run: forward("computer.topic_base")
15002
+ },
14950
15003
  {
14951
15004
  name: "computer_audit_access",
14952
15005
  title: "Issue a Computer audit grant",
@@ -16788,7 +16841,7 @@ var ACTIONS = ACTION_DEFINITIONS.map((action) => {
16788
16841
  });
16789
16842
 
16790
16843
  // ../actions/src/retention-entry.ts
16791
- var ARBOR_VERSION = "0.24.33";
16844
+ var ARBOR_VERSION = "0.24.34";
16792
16845
  var historyPolicySchema = _enum(["full", "checkpoint"]).optional().describe("text Artifacts: future history retention policy; full retains every source snapshot, checkpoint keeps metadata for every revision and source only when explicitly retained");
16793
16846
  var retainSourceSchema = boolean2().optional().describe("edit: in checkpoint mode, retain this newly minted content revision's source");
16794
16847
  var checkpointSchema = boolean2().optional().describe("edit: retain the exact current version source without incrementing content version");
@@ -17196,7 +17249,7 @@ function dispositionFilename(value) {
17196
17249
  // package.json
17197
17250
  var package_default = {
17198
17251
  name: "@lambdacurry/arbor",
17199
- version: "0.24.33",
17252
+ version: "0.24.34",
17200
17253
  description: "The Arbor CLI — a shared workspace for people and agents. The human + headless-agent write path over Arbor's guarded operation surface.",
17201
17254
  keywords: [
17202
17255
  "agents",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lambdacurry/arbor",
3
- "version": "0.24.33",
3
+ "version": "0.24.34",
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",