@lambdacurry/arbor 0.24.17 → 0.24.19

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 +47 -4
  2. package/package.json +1 -1
package/dist/arbor.js CHANGED
@@ -9496,6 +9496,24 @@ var adminCloseOutputSchema = strictObject({
9496
9496
  reasonCode: literal("run.admin_closed_abandoned"),
9497
9497
  actorProfileId: string2()
9498
9498
  });
9499
+ var adminForceStopOutputSchema = strictObject({
9500
+ mode: literal("admin_force"),
9501
+ outcome: _enum(["stopped", "absent"]),
9502
+ computerId: string2(),
9503
+ computerSessionId: string2(),
9504
+ reason: string2(),
9505
+ generation: strictObject({
9506
+ providerGeneration: number2().int().nonnegative(),
9507
+ workspaceGeneration: string2().nullable()
9508
+ }),
9509
+ settledRunIds: array(string2()),
9510
+ skippedRuns: array(strictObject({ runId: string2(), reason: string2() })),
9511
+ stoppedAt: string2().optional(),
9512
+ terminatedProcessIds: array(string2()).optional(),
9513
+ recoveryRebased: boolean2().optional(),
9514
+ replayed: boolean2().optional(),
9515
+ note: string2().optional()
9516
+ });
9499
9517
  function buildOutputSchemas() {
9500
9518
  const id = string2();
9501
9519
  const timestamp = string2();
@@ -11578,6 +11596,8 @@ function prepare(action) {
11578
11596
  templates.set(action, result);
11579
11597
  return result;
11580
11598
  }
11599
+ var variantOnly = new WeakMap;
11600
+ var variantOnlyServed = new WeakSet;
11581
11601
  function projectActionVariants(action, tags) {
11582
11602
  action = origins.get(action) ?? action;
11583
11603
  if (!action.privilegedVariants?.length || tags.length === 0)
@@ -12069,6 +12089,7 @@ var MCP_TOOL_ANNOTATIONS = {
12069
12089
  computer_run_promote: idempotent,
12070
12090
  computer_repo_work_status: readOnly,
12071
12091
  computer_run_finish: destructive,
12092
+ computer_stop: destructive,
12072
12093
  computer_run_receipt: readOnly,
12073
12094
  computer_run_retention: readOnly,
12074
12095
  computer_run_keep: idempotent,
@@ -13738,10 +13759,32 @@ var ACTION_DEFINITIONS = [
13738
13759
  description: "Deprecated by AD-306: finishing the last active shared Run with computer_run_finish performs the final checkpoint and stops the parent. Still checkpoints and stops the parent for a shared write Run (runId) or a legacy computerSessionId, refusing teardown when durability fails or a background process is running.",
13739
13760
  inputSchema: {
13740
13761
  runId: string2().optional().describe("an active shared write Run whose parent to checkpoint and stop, run_…"),
13741
- computerSessionId: string2().optional().describe("legacy alternative to runId: a computerSessionId on that Computer, cms_…")
13762
+ computerSessionId: string2().optional().describe("legacy alternative to runId: a computerSessionId on that Computer, cms_…"),
13763
+ mode: literal("save").optional().describe("save stop (checkpoint, then stop); omission preserves existing behavior")
13742
13764
  },
13743
- surfaces: ["computer-cli"],
13765
+ surfaces: ["computer-cli", "computer-mcp"],
13766
+ baseSurfaces: ["computer-cli"],
13744
13767
  toolset: "loop",
13768
+ variantDiscriminator: "mode",
13769
+ privilegedVariants: [
13770
+ {
13771
+ tag: "admin_force",
13772
+ requires: "active-org-admin",
13773
+ inputSchema: {
13774
+ mode: literal("admin_force").describe("active same-org owner/admin only (AD-358): kill the parent's processes and release it WITHOUT saving; its last checkpoint stays the restore point"),
13775
+ computerSessionId: string2().describe("admin_force: the exact computerSessionId of the Computer to stop, cms_…"),
13776
+ acceptDataLoss: boolean2().refine((value) => value === true, {
13777
+ message: "admin_force requires acceptDataLoss: true"
13778
+ }).describe("admin_force: must be true; running processes and unsaved work are lost"),
13779
+ reason: string2().trim().min(1).max(500).describe("admin_force: why the Computer is being force-stopped (recorded)"),
13780
+ expectedProviderGeneration: number2().int().nonnegative().describe("admin_force: the exact provider generation to stop"),
13781
+ expectedWorkspaceGeneration: string2().min(1).nullable().describe("admin_force: the exact workspace generation; null (CLI: the value null) for a Computer with none")
13782
+ },
13783
+ omitInputs: ["runId"],
13784
+ description: "Organization owner/admin only: mode=admin_force kills a Computer's parent processes and releases it without saving, by exact computerSessionId and both expected generations, with acceptDataLoss and a reason; its shared Runs settle only on control's confirmed stop of that generation. The deprecated save stop (no mode, CLI only) checkpoints and stops the parent for a shared write Run.",
13785
+ outputSchema: adminForceStopOutputSchema
13786
+ }
13787
+ ],
13745
13788
  run: forward("computer_runtime.stop")
13746
13789
  },
13747
13790
  {
@@ -15570,7 +15613,7 @@ var ACTIONS = ACTION_DEFINITIONS.map((action) => {
15570
15613
  });
15571
15614
 
15572
15615
  // ../actions/src/retention-entry.ts
15573
- var ARBOR_VERSION = "0.24.17";
15616
+ var ARBOR_VERSION = "0.24.19";
15574
15617
  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");
15575
15618
  var retainSourceSchema = boolean2().optional().describe("edit: in checkpoint mode, retain this newly minted content revision's source");
15576
15619
  var checkpointSchema = boolean2().optional().describe("edit: retain the exact current version source without incrementing content version");
@@ -16454,7 +16497,7 @@ function dispositionFilename(value) {
16454
16497
  // package.json
16455
16498
  var package_default = {
16456
16499
  name: "@lambdacurry/arbor",
16457
- version: "0.24.17",
16500
+ version: "0.24.19",
16458
16501
  description: "The Arbor CLI — a shared workspace for people and agents. The human + headless-agent write path over Arbor's guarded operation surface.",
16459
16502
  keywords: [
16460
16503
  "agents",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lambdacurry/arbor",
3
- "version": "0.24.17",
3
+ "version": "0.24.19",
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",