@lambdacurry/arbor 0.20.2 → 0.20.4

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 +31 -6
  2. package/package.json +1 -1
package/dist/arbor.js CHANGED
@@ -18237,7 +18237,7 @@ var ACTION_DEFINITIONS = [
18237
18237
  title: "Run a command",
18238
18238
  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 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.",
18239
18239
  inputSchema: {
18240
- computerSessionId: exports_external.string().describe("the computerSessionId returned by computer_open, cms_"),
18240
+ computerSessionId: exports_external.string().optional().describe("the computerSessionId returned by computer_open, cms_…; required unless runId is supplied"),
18241
18241
  command: exports_external.string().min(1).describe("the shell command to run"),
18242
18242
  runId: exports_external.string().optional().describe("route this command according to this Run execution placement, run_… (from computer_run_start)"),
18243
18243
  cwd: exports_external.string().optional().describe("working directory under /workspace, or under the run"),
@@ -18254,7 +18254,7 @@ var ACTION_DEFINITIONS = [
18254
18254
  title: "Read a background process",
18255
18255
  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. Once terminal, also returns the final exit result.",
18256
18256
  inputSchema: {
18257
- computerSessionId: exports_external.string().describe("the computerSessionId returned by computer_open, cms_"),
18257
+ computerSessionId: exports_external.string().optional().describe("the computerSessionId returned by computer_open, cms_…; required unless runId is supplied"),
18258
18258
  runId: exports_external.string().optional().describe("the Run that owns this process, if it was started inside a Run"),
18259
18259
  processId: exports_external.string().min(1).describe("the opaque processId returned by computer_exec(background=true), proc_…"),
18260
18260
  cursor: exports_external.string().optional().describe("continue after nextCursor from the prior process read; omit for a small latest tail"),
@@ -18269,7 +18269,7 @@ var ACTION_DEFINITIONS = [
18269
18269
  title: "Terminate a background process",
18270
18270
  description: "Terminate one process returned by computer_exec(background=true), including its provider-owned process tree. Returns the observed terminal state so ChatGPT can stop long verification explicitly without shell PIDs or ps/kill workarounds.",
18271
18271
  inputSchema: {
18272
- computerSessionId: exports_external.string().describe("the computerSessionId returned by computer_open, cms_"),
18272
+ computerSessionId: exports_external.string().optional().describe("the computerSessionId returned by computer_open, cms_…; required unless runId is supplied"),
18273
18273
  runId: exports_external.string().optional().describe("the Run that owns this process, if it was started inside a Run"),
18274
18274
  processId: exports_external.string().min(1).describe("the opaque processId returned by computer_exec(background=true), proc_…")
18275
18275
  },
@@ -18375,7 +18375,7 @@ var ACTION_DEFINITIONS = [
18375
18375
  title: "Export a Thread file",
18376
18376
  description: "Move one bounded image, MP4/WebM video, or supported file from an opened Computer or Run into a durable Thread Attachment. Pass runId to export the exact files visible to that Run execution placement. Describe what it shows so the returned attachments[].markdown has meaningful image alt text or a video/file label; put that Markdown where the media belongs and bind those ids when contributing or responding. Supply one stable idempotencyKey per logical export: safe retries return the original Attachment, while reusing the key for another path or description conflicts.",
18377
18377
  inputSchema: {
18378
- computerSessionId: exports_external.string().describe("the computerSessionId returned by computer_open, cms_"),
18378
+ computerSessionId: exports_external.string().optional().describe("the computerSessionId returned by computer_open, cms_…; required unless runId is supplied"),
18379
18379
  runId: exports_external.string().optional().describe("route this export according to this Run execution placement, run_…"),
18380
18380
  path: exports_external.string().describe("absolute path to one supported file under /workspace"),
18381
18381
  description: exports_external.string().min(1).max(500).describe("concise description of what the file shows or contains; becomes image alt text, a video caption, and the Artifact summary"),
@@ -18390,7 +18390,7 @@ var ACTION_DEFINITIONS = [
18390
18390
  title: "Write a project file",
18391
18391
  description: "Write one file under /workspace. Content is UTF-8 by default; pass encoding=base64 only for binary bytes. Pass runId to route the write according to that Run: isolated Runs target their Sandbox, shared Runs target the live parent Computer. Without runId the write targets the parent Computer. Prefer normal editing tools for code changes; reach for this when the MCP/CLI computer surface is the only filesystem path.",
18392
18392
  inputSchema: {
18393
- computerSessionId: exports_external.string().describe("the computerSessionId returned by computer_open, cms_"),
18393
+ computerSessionId: exports_external.string().optional().describe("the computerSessionId returned by computer_open, cms_…; required unless runId is supplied"),
18394
18394
  path: exports_external.string().describe("absolute path under /workspace, or a path inside the run"),
18395
18395
  runId: exports_external.string().optional().describe("route this write according to this Run execution placement, run_… (from computer_run_start)"),
18396
18396
  content: exports_external.string().describe("complete UTF-8 content, or base64 bytes when encoding=base64"),
@@ -18483,6 +18483,31 @@ var ACTION_DEFINITIONS = [
18483
18483
  toolset: "admin",
18484
18484
  run: forward("computer.inventory")
18485
18485
  },
18486
+ {
18487
+ name: "computer_reset_plan",
18488
+ title: "Plan an early-dogfood Computer reset",
18489
+ description: "TEMPORARY CLI-ONLY: Dry-run the bounded early-dogfood Computer reset for one Thread. Human organization owner/admin only. Returns exact counts, refusal reasons, provider refs to release separately, and a planToken. It never deletes anything.",
18490
+ inputSchema: {
18491
+ threadId: exports_external.string().describe("the Thread whose Computer runtime state is being reviewed"),
18492
+ reason: exports_external.string().min(1).max(500).describe("why this early dogfood state is disposable")
18493
+ },
18494
+ surfaces: ["cli"],
18495
+ toolset: "admin",
18496
+ run: forward("computer.reset_plan")
18497
+ },
18498
+ {
18499
+ name: "computer_reset_apply",
18500
+ title: "Apply an early-dogfood Computer reset",
18501
+ description: "TEMPORARY CLI-ONLY: Apply exactly a previously reviewed computer_reset_plan. Human organization owner/admin only. The operation refuses if Computer state changed, active work exists, post-cutoff state exists, or durable outputs cite the Computer history. Provider cleanup remains separate.",
18502
+ inputSchema: {
18503
+ threadId: exports_external.string().describe("the Thread whose reviewed Computer runtime state will be reset"),
18504
+ reason: exports_external.string().min(1).max(500).describe("the same reason used for the reviewed plan"),
18505
+ planToken: exports_external.string().regex(/^[a-f0-9]{64}$/).describe("the exact planToken returned by computer_reset_plan")
18506
+ },
18507
+ surfaces: ["cli"],
18508
+ toolset: "admin",
18509
+ run: forward("computer.reset_apply")
18510
+ },
18486
18511
  {
18487
18512
  name: "publish_topic_computer",
18488
18513
  title: "Publish a Topic computer base",
@@ -19088,7 +19113,7 @@ var ACTION_DEFINITIONS = [
19088
19113
  {
19089
19114
  name: "service_register",
19090
19115
  title: "Register a Computer lifecycle service",
19091
- description: "Register a persistent service identity for Currybox Computer lifecycle maintenance and mint its API key (shown ONCE). Human owner/admin CLI setup only. The credential is restricted to computer.get + computer.checkpoint + computer.reconcile_runs and to the Spaces listed here; store it as the Currybox control plane's Arbor credential.",
19116
+ description: "Register a persistent service identity for Currybox Computer lifecycle maintenance and mint its API key (shown ONCE). Human owner/admin CLI setup only. The credential is restricted to computer.get + computer.lifecycle_runs + computer.checkpoint + computer.reconcile_runs and to the Spaces listed here; store it as the Currybox control plane's Arbor credential.",
19092
19117
  inputSchema: {
19093
19118
  displayName: exports_external.string().min(1).describe("the service display name, e.g. Currybox lifecycle service"),
19094
19119
  spaceIds: exports_external.array(exports_external.string().min(1)).min(1).describe("Spaces whose Thread computers the service may maintain")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lambdacurry/arbor",
3
- "version": "0.20.2",
3
+ "version": "0.20.4",
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",