@clawops/cli 2.2.0 → 2.2.1

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/README.md CHANGED
@@ -576,7 +576,7 @@ pnpm dev doctor # verify toolchain
576
576
  ```bash
577
577
  pnpm dev # run CLI from src/ via tsx
578
578
  pnpm build # tsup → dist/
579
- pnpm test # vitest (2090 tests, ~13s)
579
+ pnpm test # vitest (2091 tests, ~13s)
580
580
  pnpm test:changed # vitest --changed (fast edit loop)
581
581
  pnpm test:integration # Docker-based SSH integration tests
582
582
  pnpm test:e2e:local # builds, then bootstrap, the host-touching MCP tools and a 1.x migration, in systemd containers
@@ -638,6 +638,7 @@ Use `pnpm changeset` to record a release note before merging a `feat` or `fix`.
638
638
  ## What's new in 2.2
639
639
 
640
640
  Recovery is a flag, agents can reach every command they need, and SSH failures say what failed.
641
+ 2.2.1 follows with the fix below it.
641
642
 
642
643
  ### Restore puts a backup into service
643
644
 
@@ -707,6 +708,18 @@ clawops 1.7.9, and AWS. That found defects the unit tests could not, several in
707
708
  `E2E_MCP=1 pnpm test:cloud <cloud>` backs up and restores over MCP on a real cloud host.
708
709
  - clawops.fyi carries structured data, an `/llms.txt`, a FAQ and a comparison page.
709
710
 
711
+ ### 2.2.1
712
+
713
+ - **`clawops config validate` and `config set` check against the schema the pinned OpenClaw
714
+ release (2026.9.2) really has.** The schema clawops shipped had been captured from a different
715
+ build, and the weekly check that compares them found the drift every week and then failed to
716
+ report it, on a missing issue label. It reports now. In practice: `messages.suppressToolErrors`
717
+ is refused, as the gateway refuses it, and `transcripts.autoStart[].whenOccupied` is accepted.
718
+ - **On OpenClaw 2026.9.2, agents can read each other's sessions by default.** Cross-agent session
719
+ access (`tools.agentToAgent`) and collector-mode subagents (`tools.swarm`) are on unless turned
720
+ off. If agents on one gateway should not see each other's sessions:
721
+ `clawops config set tools.agentToAgent.enabled false`, or give it an `allow` list.
722
+
710
723
  ---
711
724
 
712
725
  ## What's new in 2.1
@@ -74,7 +74,7 @@ async function generatePlan(intent, _opts) {
74
74
  "plan/apply is not supported for the local provider. Use `clawops up` directly."
75
75
  );
76
76
  }
77
- const { version } = await import("./package-HYGHRX35.js");
77
+ const { version } = await import("./package-ESYPCIES.js");
78
78
  const config = getConfig();
79
79
  const instanceType = await resolveInstanceType(intent);
80
80
  const { guardOpenclawVersion, defaultOpenclawVersion } = await import("./version-guard-XVYW5WFJ.js");
@@ -33,7 +33,7 @@ import {
33
33
  } from "./chunk-27335SIH.js";
34
34
  import {
35
35
  generatePlan
36
- } from "./chunk-66R52R7K.js";
36
+ } from "./chunk-T6OCPTTR.js";
37
37
  import {
38
38
  extractBaseOutputs
39
39
  } from "./chunk-3QJBNAHW.js";
@@ -1178,7 +1178,7 @@ async function handleUp(input, server) {
1178
1178
  const progressToken = void 0;
1179
1179
  const emit = makeProgressEmitter(server, progressToken);
1180
1180
  startTask(taskId, `clawops_up stack=${ctx.stackName}`);
1181
- const { generatePlan: generatePlan2 } = await import("./generate-4YYNW3IU.js");
1181
+ const { generatePlan: generatePlan2 } = await import("./generate-4JWTMOLQ.js");
1182
1182
  const { applyPlan: applyPlan2 } = await import("./apply-F5SQ2ZOS.js");
1183
1183
  const { resolveNetworkFlags } = await import("./network-args-PYJRJBYO.js");
1184
1184
  const { detectEgressIp } = await import("./firewall-5VKZ4WBH.js");
@@ -2232,7 +2232,7 @@ function bearerFrom(header) {
2232
2232
  return match?.[1]?.trim();
2233
2233
  }
2234
2234
  async function serveMcp(opts) {
2235
- const { version } = await import("./package-HYGHRX35.js");
2235
+ const { version } = await import("./package-ESYPCIES.js");
2236
2236
  const makeServer = () => {
2237
2237
  const server = new McpServer({ name: "clawops", version });
2238
2238
  registerTools(server, opts);
package/dist/cli.js CHANGED
@@ -256,7 +256,7 @@ var up_default = defineCommand2({
256
256
  }
257
257
  return;
258
258
  }
259
- const { generatePlan } = await import("./generate-4YYNW3IU.js");
259
+ const { generatePlan } = await import("./generate-4JWTMOLQ.js");
260
260
  const { applyPlan } = await import("./apply-F5SQ2ZOS.js");
261
261
  const { resolveNetworkFlags } = await import("./network-args-PYJRJBYO.js");
262
262
  const { detectEgressIp } = await import("./firewall-5VKZ4WBH.js");
@@ -552,7 +552,7 @@ var plan_default = defineCommand5({
552
552
  },
553
553
  async run({ args }) {
554
554
  const { buildContext } = await import("./context-EHSLWKSH.js");
555
- const { generatePlan } = await import("./generate-4YYNW3IU.js");
555
+ const { generatePlan } = await import("./generate-4JWTMOLQ.js");
556
556
  const { resolveNetworkFlags } = await import("./network-args-PYJRJBYO.js");
557
557
  const { detectEgressIp } = await import("./firewall-5VKZ4WBH.js");
558
558
  const ctx = buildContext(args);
@@ -1887,7 +1887,7 @@ var serveCmd = defineCommand18({
1887
1887
  inspector: { type: "boolean", description: "Enable MCP inspector" }
1888
1888
  },
1889
1889
  async run({ args }) {
1890
- const { serveMcp } = await import("./server-E3YA32ND.js");
1890
+ const { serveMcp } = await import("./server-Y2EDRUDL.js");
1891
1891
  await serveMcp({
1892
1892
  port: args.http ? Number(args.http) : void 0,
1893
1893
  bind: args.bind,
@@ -1968,8 +1968,8 @@ var wireCmd = defineCommand18({
1968
1968
  const { buildContext } = await import("./context-EHSLWKSH.js");
1969
1969
  const { acquireSession, drainPool } = await import("./pool-NT4XBSUT.js");
1970
1970
  const { extractBaseOutputs } = await import("./outputs-DJHBY7EE.js");
1971
- const { wireGatewayMcp } = await import("./mcp-wire-BXF4DJFT.js");
1972
- const { MCP_HTTP_PORT } = await import("./server-E3YA32ND.js");
1971
+ const { wireGatewayMcp } = await import("./mcp-wire-7MGEAMZH.js");
1972
+ const { MCP_HTTP_PORT } = await import("./server-Y2EDRUDL.js");
1973
1973
  const ac = new AbortController();
1974
1974
  process20.on("SIGINT", () => {
1975
1975
  ac.abort();
@@ -3073,7 +3073,7 @@ async function maybeWireGatewayMcp(opts) {
3073
3073
  if (!wireGateway) return;
3074
3074
  const { connect } = await import("./ssh-HOM7GF3M.js");
3075
3075
  const { getConfigDir: getConfigDir2 } = await import("./store-YOLQYXMB.js");
3076
- const { wireGatewayMcp } = await import("./mcp-wire-BXF4DJFT.js");
3076
+ const { wireGatewayMcp } = await import("./mcp-wire-7MGEAMZH.js");
3077
3077
  const knownHostsPath = path2.join(getConfigDir2(), "known_hosts");
3078
3078
  const spin = spinner("Wiring gateway MCP client...");
3079
3079
  const session = await connect({
@@ -3641,7 +3641,7 @@ import { accessSync, constants } from "fs";
3641
3641
  import { execSync as execSync2 } from "child_process";
3642
3642
  var ISSUES_URL = `${REPO_URL}/issues/new`;
3643
3643
  var BODY_CAP = 2e3;
3644
- var VERSION = true ? "2.2.0" : "dev";
3644
+ var VERSION = true ? "2.2.1" : "dev";
3645
3645
  async function collectContext() {
3646
3646
  const nodeVersion = process23.version;
3647
3647
  const os2 = `${process23.platform} ${process23.arch}`;
@@ -3928,7 +3928,7 @@ function resolveArgv(argv2, stdinIsTty) {
3928
3928
  }
3929
3929
 
3930
3930
  // src/cli/index.ts
3931
- var CLI_VERSION = true ? "2.2.0" : "dev";
3931
+ var CLI_VERSION = true ? "2.2.1" : "dev";
3932
3932
  var main = defineCommand24({
3933
3933
  meta: {
3934
3934
  name: "clawops",
@@ -5,7 +5,7 @@ import {
5
5
  isInstanceAlias,
6
6
  parseDiffForTest,
7
7
  planId
8
- } from "./chunk-66R52R7K.js";
8
+ } from "./chunk-T6OCPTTR.js";
9
9
  import "./chunk-POYS3EVQ.js";
10
10
  import "./chunk-PASAVVNS.js";
11
11
  import "./chunk-AVERNLUY.js";
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  MCP_HTTP_PORT
4
- } from "./chunk-CQOYUWR7.js";
4
+ } from "./chunk-Y3N63PDS.js";
5
5
  import "./chunk-E6BRQK67.js";
6
6
  import "./chunk-PCSX6Y3U.js";
7
7
  import "./chunk-LV7UO5CG.js";
8
8
  import "./chunk-AX65JMDZ.js";
9
9
  import "./chunk-SX75L2T3.js";
10
10
  import "./chunk-27335SIH.js";
11
- import "./chunk-66R52R7K.js";
11
+ import "./chunk-T6OCPTTR.js";
12
12
  import "./chunk-POYS3EVQ.js";
13
13
  import "./chunk-BOPSG2LI.js";
14
14
  import "./chunk-3QJBNAHW.js";
@@ -2,7 +2,7 @@
2
2
 
3
3
  // package.json
4
4
  var name = "@clawops/cli";
5
- var version = "2.2.0";
5
+ var version = "2.2.1";
6
6
  var description = "Deploy self-hosted OpenClaw to AWS, GCP, Azure or a local VM \u2014 a CLI and an MCP server in one.";
7
7
  var keywords = [
8
8
  "openclaw",
@@ -5,14 +5,14 @@ import {
5
5
  bearerFrom,
6
6
  isLoopbackBind,
7
7
  serveMcp
8
- } from "./chunk-CQOYUWR7.js";
8
+ } from "./chunk-Y3N63PDS.js";
9
9
  import "./chunk-E6BRQK67.js";
10
10
  import "./chunk-PCSX6Y3U.js";
11
11
  import "./chunk-LV7UO5CG.js";
12
12
  import "./chunk-AX65JMDZ.js";
13
13
  import "./chunk-SX75L2T3.js";
14
14
  import "./chunk-27335SIH.js";
15
- import "./chunk-66R52R7K.js";
15
+ import "./chunk-T6OCPTTR.js";
16
16
  import "./chunk-POYS3EVQ.js";
17
17
  import "./chunk-BOPSG2LI.js";
18
18
  import "./chunk-3QJBNAHW.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clawops/cli",
3
- "version": "2.2.0",
3
+ "version": "2.2.1",
4
4
  "description": "Deploy self-hosted OpenClaw to AWS, GCP, Azure or a local VM — a CLI and an MCP server in one.",
5
5
  "keywords": [
6
6
  "openclaw",