@lambdacurry/arbor 0.17.4 → 0.17.5

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 +14 -4
  2. package/package.json +1 -1
package/dist/arbor.js CHANGED
@@ -16678,6 +16678,7 @@ var redactedComputerRecipe = exports_external.looseObject({
16678
16678
  provider: exports_external.string(),
16679
16679
  backend: exports_external.enum(["worker-shell", "container"]),
16680
16680
  containerProfile: nullableString,
16681
+ containerProfileRevision: exports_external.number().int().nullable(),
16681
16682
  repositories: exports_external.array(exports_external.string()),
16682
16683
  setupScriptConfigured: exports_external.boolean(),
16683
16684
  configRevision: exports_external.string(),
@@ -17345,7 +17346,13 @@ var MCP_OUTPUT_SCHEMAS = {
17345
17346
  repositories: exports_external.array(exports_external.looseObject({ repository: exports_external.string(), path: exports_external.string() })),
17346
17347
  defaultCwd: exports_external.string(),
17347
17348
  capabilities: computerCapabilityCard,
17348
- runtime: jsonObject
17349
+ runtime: jsonObject,
17350
+ reconciliation: exports_external.looseObject({
17351
+ action: exports_external.literal("automatic_reprovision"),
17352
+ reason: exports_external.literal("container_profile_revision"),
17353
+ fromContainerProfileRevision: exports_external.number().int().nullable(),
17354
+ toContainerProfileRevision: exports_external.number().int().nullable()
17355
+ }).optional()
17349
17356
  }),
17350
17357
  computer_reprovision: exports_external.looseObject({
17351
17358
  reprovisionId: id,
@@ -18056,7 +18063,7 @@ var ACTION_DEFINITIONS = [
18056
18063
  {
18057
18064
  name: "computer_open",
18058
18065
  title: "Open a Thread computer",
18059
- 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 — pass it unchanged to later Computer tools and cited work — plus the selected profile contract (including GitHub CLI (gh) on bun-typescript-v1), a resolved capabilities card, workspaceRoot, each materialized repositories[].path, and defaultCwd. Omitted computer_exec.cwd uses defaultCwd: the single checkout when exactly one repository is configured, workspaceRoot otherwise.",
18066
+ description: "Open or resume this Thread's project environment for filesystem or command work. A safe living-profile revision drift is reconciled automatically by replacing the generation, restoring supported state, and returning reconciliation metadata; structural recipe changes still fail explicitly with computer_reprovision as the suggested action. 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 — pass it unchanged to later Computer tools and cited work — plus the selected profile contract (including GitHub CLI (gh) on bun-typescript-v1), a resolved capabilities card, workspaceRoot, each materialized repositories[].path, and defaultCwd. Omitted computer_exec.cwd uses defaultCwd: the single checkout when exactly one repository is configured, workspaceRoot otherwise.",
18060
18067
  inputSchema: {
18061
18068
  threadId: exports_external.string().describe("the Arbor Thread whose stable computer to open, thr_…"),
18062
18069
  vcpus: exports_external.number().int().min(1).max(4).optional().describe("optional container vCPU request"),
@@ -18322,7 +18329,7 @@ var ACTION_DEFINITIONS = [
18322
18329
  {
18323
18330
  name: "computer_checkpoint",
18324
18331
  title: "Checkpoint completed work",
18325
- description: "Save an intermediate complete unit of project work into durable Thread lineage. For the final unit, call computer_stop instead; it performs the final checkpoint before teardown. No checkpoint is needed for computer_verify alone because remote visual capture starts no project runtime.",
18332
+ description: "Save an intermediate complete unit of project work into durable Thread lineage. A running background process may still be writing the workspace, so checkpointing refuses until it is finished or explicitly terminated; use computer_status to inspect active processes. For the final unit, call computer_stop instead; it performs the final checkpoint before teardown. No checkpoint is needed for computer_verify alone because remote visual capture starts no project runtime.",
18326
18333
  inputSchema: {
18327
18334
  computerSessionId: exports_external.string().describe("the computerSessionId returned by computer_open, cms_…")
18328
18335
  },
@@ -18369,7 +18376,7 @@ var ACTION_DEFINITIONS = [
18369
18376
  {
18370
18377
  name: "computer_stop",
18371
18378
  title: "Checkpoint and stop",
18372
- description: "Finish an opened computer after a unit of work. Currybox checkpoints and Arbor publishes before teardown; any durability failure refuses the stop instead of silently discarding state.",
18379
+ description: "Finish an opened computer after a unit of work. Currybox checkpoints and Arbor publishes before teardown; any durability failure refuses the stop instead of silently discarding state. A running background process also refuses the checkpoint; use computer_status to inspect it and computer_process_terminate when it should be stopped.",
18373
18380
  inputSchema: {
18374
18381
  computerSessionId: exports_external.string().describe("the computerSessionId returned by computer_open, cms_…")
18375
18382
  },
@@ -19921,6 +19928,9 @@ function parseErrorDetails(value) {
19921
19928
  if (typeof raw.compatibilityState === "string") {
19922
19929
  details.compatibilityState = raw.compatibilityState;
19923
19930
  }
19931
+ if (typeof raw.compatibilityReason === "string") {
19932
+ details.compatibilityReason = raw.compatibilityReason;
19933
+ }
19924
19934
  if (typeof raw.suggestedAction === "string")
19925
19935
  details.suggestedAction = raw.suggestedAction;
19926
19936
  return details;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lambdacurry/arbor",
3
- "version": "0.17.4",
3
+ "version": "0.17.5",
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",