@lambdacurry/arbor 0.22.25 → 0.22.27
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.
- package/dist/arbor.js +26 -21
- package/package.json +1 -1
package/dist/arbor.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// package.json
|
|
3
3
|
var package_default = {
|
|
4
4
|
name: "@lambdacurry/arbor",
|
|
5
|
-
version: "0.22.
|
|
5
|
+
version: "0.22.27",
|
|
6
6
|
description: "The Arbor CLI — a shared workspace for people and agents. The human + headless-agent write path over Arbor's guarded operation surface.",
|
|
7
7
|
keywords: [
|
|
8
8
|
"agents",
|
|
@@ -7977,6 +7977,21 @@ var computerRun = looseObject({
|
|
|
7977
7977
|
startedAt: string2(),
|
|
7978
7978
|
endedAt: string2().nullable()
|
|
7979
7979
|
});
|
|
7980
|
+
var computerRunFinishRequest = looseObject({
|
|
7981
|
+
intentId: id,
|
|
7982
|
+
outcome: _enum(["finished", "failed", "cancelled"]),
|
|
7983
|
+
reason: string2().nullable(),
|
|
7984
|
+
discard: boolean2(),
|
|
7985
|
+
expectedCurrentSnapshotId: id,
|
|
7986
|
+
requestedAt: timestamp,
|
|
7987
|
+
updatedAt: timestamp,
|
|
7988
|
+
state: _enum(["pending", "rejected", "completed"]),
|
|
7989
|
+
phase: _enum(["quiescence", "git", "checkpoint", "release", "rejected"]),
|
|
7990
|
+
reasonCode: string2().nullable(),
|
|
7991
|
+
finishAssessment: computerRunFinishAssessment.nullable(),
|
|
7992
|
+
providerGeneration: number2().int().nonnegative().nullable(),
|
|
7993
|
+
releasedSnapshotId: id.nullable()
|
|
7994
|
+
});
|
|
7980
7995
|
var computerRunReceipt2 = looseObject({
|
|
7981
7996
|
runId: id,
|
|
7982
7997
|
threadId: id,
|
|
@@ -7996,21 +8011,7 @@ var computerRunReceipt2 = looseObject({
|
|
|
7996
8011
|
gitStart: computerRunGitStart.nullable().optional(),
|
|
7997
8012
|
durability: computerRunDurability,
|
|
7998
8013
|
finishAssessment: computerRunFinishAssessment.nullable(),
|
|
7999
|
-
finishRequest:
|
|
8000
|
-
intentId: id,
|
|
8001
|
-
outcome: _enum(["finished", "failed", "cancelled"]),
|
|
8002
|
-
reason: string2().nullable(),
|
|
8003
|
-
discard: boolean2(),
|
|
8004
|
-
expectedCurrentSnapshotId: id,
|
|
8005
|
-
requestedAt: timestamp,
|
|
8006
|
-
updatedAt: timestamp,
|
|
8007
|
-
state: _enum(["pending", "rejected", "completed"]),
|
|
8008
|
-
phase: _enum(["quiescence", "git", "checkpoint", "release", "rejected"]),
|
|
8009
|
-
reasonCode: string2().nullable(),
|
|
8010
|
-
finishAssessment: computerRunFinishAssessment.nullable(),
|
|
8011
|
-
providerGeneration: number2().int().nonnegative().nullable(),
|
|
8012
|
-
releasedSnapshotId: id.nullable()
|
|
8013
|
-
}).nullable(),
|
|
8014
|
+
finishRequest: computerRunFinishRequest.nullable(),
|
|
8014
8015
|
status: _enum(["active", "finished", "failed", "cancelled"]),
|
|
8015
8016
|
outcome: _enum(["finished", "failed", "cancelled"]).nullable(),
|
|
8016
8017
|
reason: string2().nullable(),
|
|
@@ -9135,10 +9136,12 @@ var MCP_OUTPUT_SCHEMAS = {
|
|
|
9135
9136
|
parentAsleep: boolean2().optional()
|
|
9136
9137
|
}),
|
|
9137
9138
|
computer_run_finish: looseObject({
|
|
9139
|
+
runId: id,
|
|
9138
9140
|
status: string2(),
|
|
9139
9141
|
replayed: boolean2(),
|
|
9140
9142
|
durability: computerRunDurability,
|
|
9141
9143
|
finishAssessment: computerRunFinishAssessment.nullable(),
|
|
9144
|
+
finishRequest: computerRunFinishRequest.nullable(),
|
|
9142
9145
|
parent: object({
|
|
9143
9146
|
checkpoint: string2().nullable(),
|
|
9144
9147
|
stopped: boolean2(),
|
|
@@ -9622,10 +9625,12 @@ var OUTPUT_SHAPERS = {
|
|
|
9622
9625
|
computer_run_finish: (result) => {
|
|
9623
9626
|
const run = record2(result.run) ?? {};
|
|
9624
9627
|
return defined([
|
|
9628
|
+
["runId", run.runId],
|
|
9625
9629
|
["status", run.status],
|
|
9626
9630
|
["replayed", result.replayed],
|
|
9627
9631
|
["durability", run.durability],
|
|
9628
9632
|
["finishAssessment", result.finishAssessment],
|
|
9633
|
+
["finishRequest", result.finishRequest ?? null],
|
|
9629
9634
|
["parent", result.parent]
|
|
9630
9635
|
]);
|
|
9631
9636
|
},
|
|
@@ -10040,8 +10045,8 @@ ${ARBOR_FEEDBACK_GUIDANCE}
|
|
|
10040
10045
|
|
|
10041
10046
|
1. ORIENT, CONFIGURE, AND AUTHORIZE. Start with provider-free get_computer(threadId) to inspect the effective inherited recipe, repository authorization, compatibility, recoverySafety, and durable lineage without contacting execution. Use set_organization_computer, set_space_computer, set_topic_computer, or set_thread_computer only when the corresponding complete sparse layer must be replaced; use github_connect_repository with a known installed id, exact owner/name, or canonical GitHub URL, or use github_repositories when browsing, to authorize repositories at the narrowest scope that should inherit them. If github_repositories looks stale, github_refresh_installation reconciles the cached inventory from GitHub. computer_run_start(threadId, mode) is the front door: it attaches durable identity itself and starts an isolated write Run from the Thread's base snapshot without booting the parent. Each returned repository entry includes verified root instruction pointers when that repo has an AGENTS.md: read surfaced repository instructions before substantial edits or verification, then check for a nearer nested AGENTS.md once the target path is known. Repo-local instructions/scripts/config beat guessed formatter, test, lint, or build commands.
|
|
10042
10047
|
2. READ THE CAPABILITIES CARD, NOT THE BACKEND. runId is the one address: every runtime tool takes it, and the computerSessionId a Run carries is legacy input. computer_status(runId) describes the live PARENT Thread Computer behind a shared Run; it does not establish isolated Run activity, so use computer_run_receipt(runId) and computer_process_read for Run-owned work. Command-line utilities, including Git and package managers, run through computer_exec; check unfamiliar binaries with command -v.
|
|
10043
|
-
3. ONE RUN PER TASK. A write Run defaults to an isolated execution environment with its own filesystem, processes, ports, and /tmp while preserving /workspace paths; a read Run shares the parent. Pass runId to Run-aware tools. If a response is lost, recover the durable operation/process identity from computer_run_receipt and read it before retrying. computer_process_read and computer_process_terminate settle a provider-absent current-generation process from exact evidence; computer_run_suspend performs that bounded settlement internally and never replays unknown work. A still-active process returns a retryable busy state; an unknown current-generation mutation fail-closes. An isolated local commit or Preview is not Git publication; push coherent work
|
|
10044
|
-
4. CHECKPOINT COMPLETE UNITS THROUGH THE RUN. computer_run_suspend(runId) checkpoints an intermediate complete unit — an isolated Run publishes its exact workspace and releases its Sandbox, a shared Run advances the parent lineage — and computer_run_finish(runId)
|
|
10048
|
+
3. ONE RUN PER TASK. A write Run defaults to an isolated execution environment with its own filesystem, processes, ports, and /tmp while preserving /workspace paths; a read Run shares the parent. Pass runId to Run-aware tools. If a response is lost, recover the durable operation/process identity from computer_run_receipt and read it before retrying. computer_process_read and computer_process_terminate settle a provider-absent current-generation process from exact evidence; computer_run_suspend performs that bounded settlement internally and never replays unknown work. A still-active process returns a retryable busy state; an unknown current-generation mutation fail-closes. An isolated local commit or Preview is not Git publication; push coherent work before computer_run_finish. discard=true with outcome failed or cancelled explicitly abandons Git work only after provider work is quiescent; it never overrides active or unknown execution.
|
|
10049
|
+
4. CHECKPOINT COMPLETE UNITS THROUGH THE RUN. computer_run_suspend(runId) checkpoints an intermediate complete unit — an isolated Run publishes its exact workspace and releases its Sandbox, a shared Run advances the parent lineage — and computer_run_finish(runId) requests the final release; finishing the last active shared Run also stops the parent. An accepted isolated finish may return status active with finishRequest.state pending while the lifecycle owner preserves output, verifies Git, checkpoints, and releases without caller cleanup; one request is sufficient, and computer_run_receipt is an optional observation rather than a progress trigger. An isolated Run Preview is durable review output, not adoption or a checkpoint. The internal provider-handle publication operations are not agent tools.
|
|
10045
10050
|
5. GIT AND GITHUB ARE ORDINARY COMMANDS AFTER AUTHORIZATION. Clone, fetch, pull, push, and gh run through computer_exec using a connected human's just-in-time ambient GitHub identity. Credentials never enter argv, workspace files, Git config, checkpoints, Events, logs, or receipts. A restored Computer deliberately keeps the checkout age of its snapshot, so fetch/pull before trusting remote state.
|
|
10046
10051
|
6. VERIFY, PREVIEW, AND EXPORT. computer_verify captures a public URL directly without opening a project runtime. computer_publish_preview preserves immutable static output from either the parent or an active isolated write Run. computer_export moves bounded files into durable Thread Attachments; for a computer:// file Artifact asleep face, export the exact locator path .tldr and a same-Thread PNG, then use artifact set_snapshot. computer_export itself does not call set_snapshot; place returned Markdown exactly where the media belongs and cite the matching attachment ids.
|
|
10047
10052
|
7. PACKAGE, DEPLOY, ACTIVATE, AND OPERATE APPS HERE. computer_publish_app_bundle creates the immutable executable bundle from verified parent bytes through a shared write Run: push isolated work, computer_run_start with execution shared, pull, then publish. For short-lived public Artifact experiments use preview_app_create/get/retire; for published Space Apps use app_create, app_config_apply, app_deploy, app_deployment_get, app_activate, app_get, app_fetch/app_request, app_rollback, app_set_access, app_reset_state/app_restore_state, and app_archive as one workflow-closed release surface. First-class Organization/Profile Secrets remain on Arbor's collaboration MCP because they are broader identity-owned resources; App configuration here references existing Secret ids and never accepts or returns secret material.
|
|
@@ -10817,12 +10822,12 @@ var ACTION_DEFINITIONS = [
|
|
|
10817
10822
|
{
|
|
10818
10823
|
name: "computer_run_finish",
|
|
10819
10824
|
title: "Finish a run",
|
|
10820
|
-
description: "
|
|
10825
|
+
description: "Request final Run release with unread terminal output preserved for 30 days. An isolated Run may return status active with finishRequest pending while its lifecycle owner proves quiescence, Git durability, checkpoint, and release without caller cleanup; send once, observe the receipt optionally, and use discard=true with failed or cancelled only to abandon Git after provider quiescence.",
|
|
10821
10826
|
inputSchema: {
|
|
10822
10827
|
runId: string2().describe("the runId returned by computer_run_start, run_…"),
|
|
10823
10828
|
outcome: _enum(["finished", "failed", "cancelled"]).optional().describe("terminal outcome; defaults to finished"),
|
|
10824
10829
|
reason: string2().max(500).optional().describe("one factual line on how this unit of work ended, e.g. what shipped or what broke"),
|
|
10825
|
-
discard: boolean2().optional().describe("explicitly abandon
|
|
10830
|
+
discard: boolean2().optional().describe("explicitly abandon non-durable Git or workspace state only after provider quiescence; requires outcome failed or cancelled and never overrides active or unknown execution")
|
|
10826
10831
|
},
|
|
10827
10832
|
surfaces: ["computer-mcp", "computer-cli"],
|
|
10828
10833
|
toolset: "loop",
|
|
@@ -10831,7 +10836,7 @@ var ACTION_DEFINITIONS = [
|
|
|
10831
10836
|
{
|
|
10832
10837
|
name: "computer_run_receipt",
|
|
10833
10838
|
title: "Read a run receipt",
|
|
10834
|
-
description: "
|
|
10839
|
+
description: "Observe one Run's durable receipt during or after execution, including its finishRequest, Run-owned operation/activity state, and compact providerLifecycle journal; reading it never advances a pending finish. Use this instead of parent computer_status for compact history rather than transcripts; it does not rewrite terminal reasonCode.",
|
|
10835
10840
|
inputSchema: {
|
|
10836
10841
|
runId: string2().describe("the run to read, run_… (from computer_run_start or computer_runs)")
|
|
10837
10842
|
},
|
package/package.json
CHANGED