@clawops/cli 2.2.1 → 2.3.0

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 (44) hide show
  1. package/README.md +48 -3
  2. package/dist/{apply-F5SQ2ZOS.js → apply-ODV3NOJJ.js} +9 -9
  3. package/dist/{automation-NBYQ6MFZ.js → automation-VDKLZMJI.js} +1 -1
  4. package/dist/{backup-flows-NDP5JTR3.js → backup-flows-THPX2D7S.js} +1 -1
  5. package/dist/{bootstrap-32TZXVDF.js → bootstrap-L3P5E4D7.js} +2 -2
  6. package/dist/{chunk-PASAVVNS.js → chunk-47CGHUVT.js} +1 -1
  7. package/dist/{chunk-E6BRQK67.js → chunk-4SEFKZRL.js} +1 -1
  8. package/dist/{chunk-PCSX6Y3U.js → chunk-66CUJFXK.js} +2 -2
  9. package/dist/{chunk-55UMO37O.js → chunk-CHPMOE4T.js} +1 -1
  10. package/dist/{chunk-Y3N63PDS.js → chunk-EGGXYZC6.js} +60 -59
  11. package/dist/{chunk-755X5OGS.js → chunk-FGY262WZ.js} +4 -1
  12. package/dist/{chunk-LV7UO5CG.js → chunk-G2ROJXYJ.js} +2 -2
  13. package/dist/{chunk-GFIR2IIJ.js → chunk-GYMAC4MW.js} +47 -28
  14. package/dist/{chunk-T6OCPTTR.js → chunk-K7OWMI63.js} +14 -8
  15. package/dist/{chunk-OUQVKIIA.js → chunk-PNRFFYOA.js} +14 -14
  16. package/dist/{chunk-AX65JMDZ.js → chunk-PRBDJSWN.js} +12 -9
  17. package/dist/{chunk-4MHDW2NB.js → chunk-QRF4OWG4.js} +1 -1
  18. package/dist/{chunk-AVERNLUY.js → chunk-SQPHNVCF.js} +6 -6
  19. package/dist/{chunk-RDUKRIRC.js → chunk-U3NRKBDW.js} +1 -1
  20. package/dist/cli.js +111 -72
  21. package/dist/{context-EHSLWKSH.js → context-4KTM4DKH.js} +5 -5
  22. package/dist/{flows-6B2I6TRW.js → flows-6YEJGHCK.js} +7 -7
  23. package/dist/{generate-4JWTMOLQ.js → generate-OJ5UWTLV.js} +9 -7
  24. package/dist/{harden-UHAOVQMZ.js → harden-7O553IOK.js} +5 -5
  25. package/dist/{init-HOPXDNWY.js → init-RVQ72GZ5.js} +2 -2
  26. package/dist/{mcp-wire-7MGEAMZH.js → mcp-wire-HSGZFOG5.js} +21 -21
  27. package/dist/{migrate-flow-24XA4GZL.js → migrate-flow-4XQUUFMH.js} +2 -2
  28. package/dist/{package-ESYPCIES.js → package-UOWSHBWP.js} +1 -1
  29. package/dist/policy-4FFK7REN.js +42 -0
  30. package/dist/{remote-config-OZYBMBSK.js → remote-config-V2WXIXIF.js} +1 -1
  31. package/dist/{server-Y2EDRUDL.js → server-YH2JWZ2Q.js} +21 -21
  32. package/dist/setup-policy-OK5PGWP7.js +90 -0
  33. package/dist/{stack-config-ICQ5YHUL.js → stack-config-3E7KWFPI.js} +2 -2
  34. package/dist/{stack-delete-NTIGKWUF.js → stack-delete-SNPMLWMD.js} +2 -2
  35. package/dist/{state-AKZP2S4T.js → state-KG6K5QZC.js} +2 -2
  36. package/dist/{store-YOLQYXMB.js → store-BTQOOIJH.js} +1 -1
  37. package/dist/{tailscale-cutover-V42HO5UM.js → tailscale-cutover-XTMGDM5H.js} +2 -2
  38. package/dist/{validate-DZE6LFEB.js → validate-CRXX7OYF.js} +1 -1
  39. package/package.json +1 -1
  40. package/spec/errors.yaml +5 -3
  41. package/spec/mcp-tools.yaml +4 -3
  42. package/dist/{chunk-UAJJEDCJ.js → chunk-AGSNTIYZ.js} +0 -0
  43. package/dist/{chunk-YPVWF7IA.js → chunk-HSGKK3RF.js} +3 -3
  44. package/dist/{ready-IJEUBFVX.js → ready-4H3NNEYQ.js} +3 -3
@@ -1,17 +1,17 @@
1
1
  #!/usr/bin/env node
2
- import {
3
- listOverlays
4
- } from "./chunk-6ZFIFDBJ.js";
5
2
  import {
6
3
  inspectContainer
7
4
  } from "./chunk-Z3XLWZWF.js";
8
5
  import {
9
- execPrivileged
10
- } from "./chunk-WPZIJONN.js";
6
+ listOverlays
7
+ } from "./chunk-6ZFIFDBJ.js";
11
8
  import {
12
9
  interpretProbe,
13
10
  probeCommand
14
11
  } from "./chunk-LT4XMO5D.js";
12
+ import {
13
+ execPrivileged
14
+ } from "./chunk-WPZIJONN.js";
15
15
  import {
16
16
  PUBLISH_INSPECT_CMD,
17
17
  STATE_DIR_CONTAINER,
@@ -158,8 +158,8 @@ function renderSnapshot(snap, opts) {
158
158
  return lines.join("\n");
159
159
  }
160
160
  async function probeEntries() {
161
- const { buildContext } = await import("./context-EHSLWKSH.js");
162
- const { getConfig } = await import("./store-YOLQYXMB.js");
161
+ const { buildContext } = await import("./context-4KTM4DKH.js");
162
+ const { getConfig } = await import("./store-BTQOOIJH.js");
163
163
  const config = getConfig();
164
164
  if (!config) return [];
165
165
  return Promise.all(
@@ -227,7 +227,7 @@ function renderMenu(entries, selectedIdx, showAll, noColor, confirmDelete) {
227
227
  return lines.join("\n");
228
228
  }
229
229
  async function deleteFromRegistry(name) {
230
- const { requireConfig, setConfig } = await import("./store-YOLQYXMB.js");
230
+ const { requireConfig, setConfig } = await import("./store-BTQOOIJH.js");
231
231
  const config = requireConfig();
232
232
  const newStacks = { ...config.stacks };
233
233
  delete newStacks[name];
@@ -385,7 +385,7 @@ var monitor_default = defineCommand({
385
385
  const tailLines = Math.max(1, parseInt(String(args.tail ?? "10"), 10) || 10);
386
386
  const isTTY = Boolean(process.stdout.isTTY);
387
387
  const noColor = Boolean(args["no-color"]) || !isTTY;
388
- const { buildContext } = await import("./context-EHSLWKSH.js");
388
+ const { buildContext } = await import("./context-4KTM4DKH.js");
389
389
  const { acquireSession, drainPool } = await import("./pool-NT4XBSUT.js");
390
390
  const ac = new AbortController();
391
391
  process.on("SIGINT", () => ac.abort());
@@ -718,7 +718,7 @@ import { accessSync, mkdirSync, readFileSync, constants } from "fs";
718
718
  import ssh2 from "ssh2";
719
719
  import path from "path";
720
720
  async function runDiagnostics(opts = {}, deps = {}) {
721
- const { getConfig, getConfigDir } = await import("./store-YOLQYXMB.js");
721
+ const { getConfig, getConfigDir } = await import("./store-BTQOOIJH.js");
722
722
  const config = getConfig();
723
723
  const sections = [];
724
724
  sections.push({ title: "Runtime", checks: await runtimeChecks(getConfigDir()) });
@@ -1018,8 +1018,8 @@ async function deployedVersionCheck(image, deployedVersion) {
1018
1018
  }
1019
1019
  async function hardeningChecks(conn, stack, signal) {
1020
1020
  try {
1021
- const { MODULE_CATALOG, resolveModules, withRemoteExec } = await import("./harden-UHAOVQMZ.js");
1022
- const { buildContext } = await import("./context-EHSLWKSH.js");
1021
+ const { MODULE_CATALOG, resolveModules, withRemoteExec } = await import("./harden-7O553IOK.js");
1022
+ const { buildContext } = await import("./context-4KTM4DKH.js");
1023
1023
  const provider = buildContext({ stack }).adapter.name;
1024
1024
  const modules = resolveModules(MODULE_CATALOG, void 0, provider);
1025
1025
  const checks = [];
@@ -1041,8 +1041,8 @@ async function hardeningChecks(conn, stack, signal) {
1041
1041
  }
1042
1042
  }
1043
1043
  async function defaultOpenSession(stack, signal) {
1044
- const { getConfig } = await import("./store-YOLQYXMB.js");
1045
- const { buildContext } = await import("./context-EHSLWKSH.js");
1044
+ const { getConfig } = await import("./store-BTQOOIJH.js");
1045
+ const { buildContext } = await import("./context-4KTM4DKH.js");
1046
1046
  const { extractBaseOutputs } = await import("./outputs-DJHBY7EE.js");
1047
1047
  const { acquireSession } = await import("./pool-NT4XBSUT.js");
1048
1048
  const config = getConfig();
@@ -2,21 +2,21 @@
2
2
  import {
3
3
  resolveSecrets
4
4
  } from "./chunk-BOPSG2LI.js";
5
+ import {
6
+ writeStackConfig
7
+ } from "./chunk-CHPMOE4T.js";
5
8
  import {
6
9
  atomicWriteConfig,
7
10
  deepMerge,
8
11
  readRemoteConfig,
9
12
  restartGateway
10
- } from "./chunk-UAJJEDCJ.js";
13
+ } from "./chunk-AGSNTIYZ.js";
11
14
  import {
12
15
  validatePlan
13
- } from "./chunk-PASAVVNS.js";
14
- import {
15
- writeStackConfig
16
- } from "./chunk-55UMO37O.js";
16
+ } from "./chunk-47CGHUVT.js";
17
17
  import {
18
18
  buildContext
19
- } from "./chunk-AVERNLUY.js";
19
+ } from "./chunk-SQPHNVCF.js";
20
20
  import {
21
21
  saveOverlay
22
22
  } from "./chunk-6ZFIFDBJ.js";
@@ -26,7 +26,7 @@ import {
26
26
  import {
27
27
  getConfig,
28
28
  setConfig
29
- } from "./chunk-GFIR2IIJ.js";
29
+ } from "./chunk-GYMAC4MW.js";
30
30
  import {
31
31
  UsageError
32
32
  } from "./chunk-KGXPLI7W.js";
@@ -48,13 +48,16 @@ ${validation.errors.join("\n")}`
48
48
  }
49
49
  const { guardOpenclawVersion } = await import("./version-guard-XVYW5WFJ.js");
50
50
  await guardOpenclawVersion(plan.spec.openclaw.version);
51
+ const { enforceInstanceType } = await import("./policy-4FFK7REN.js");
52
+ const { getConfig: getConfig2 } = await import("./store-BTQOOIJH.js");
53
+ await enforceInstanceType(getConfig2(), plan.spec.provider, plan.spec.instanceType);
51
54
  const ctx = buildContext({
52
55
  stack: plan.spec.stackName,
53
56
  provider: plan.spec.provider
54
57
  });
55
58
  const stack = await ctx.getStack();
56
59
  const { guardPrivateOnlyApply } = await import("./private-only-DIA26I2E.js");
57
- const { probeSsh } = await import("./tailscale-cutover-V42HO5UM.js");
60
+ const { probeSsh } = await import("./tailscale-cutover-XTMGDM5H.js");
58
61
  await guardPrivateOnlyApply(plan, ctx, opts?.probeTailnet ?? ((conn2) => probeSsh(conn2, opts?.signal)));
59
62
  await writeStackConfig(stack, plan);
60
63
  if (plan.metadata.stackVersion !== void 0) {
@@ -93,7 +96,7 @@ The diff you reviewed may no longer reflect what will be applied.
93
96
  signal: opts?.signal,
94
97
  onProgress: (line) => reportProgress(opts, line)
95
98
  });
96
- const { waitForGateway } = await import("./ready-IJEUBFVX.js");
99
+ const { waitForGateway } = await import("./ready-4H3NNEYQ.js");
97
100
  try {
98
101
  await waitForGateway(readySession, {
99
102
  signal: opts?.signal,
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  getConfigDir
4
- } from "./chunk-GFIR2IIJ.js";
4
+ } from "./chunk-GYMAC4MW.js";
5
5
 
6
6
  // src/config/secrets.ts
7
7
  import { readFileSync, existsSync } from "fs";
@@ -1,17 +1,17 @@
1
1
  #!/usr/bin/env node
2
- import {
3
- getProvider
4
- } from "./chunk-VUFMZEIM.js";
5
2
  import {
6
3
  readLocalState
7
- } from "./chunk-RDUKRIRC.js";
4
+ } from "./chunk-U3NRKBDW.js";
8
5
  import {
9
6
  getConfigDir,
10
7
  requireConfig
11
- } from "./chunk-GFIR2IIJ.js";
8
+ } from "./chunk-GYMAC4MW.js";
12
9
  import {
13
10
  UsageError
14
11
  } from "./chunk-KGXPLI7W.js";
12
+ import {
13
+ getProvider
14
+ } from "./chunk-VUFMZEIM.js";
15
15
 
16
16
  // src/cli/context.ts
17
17
  function buildContext(args) {
@@ -41,7 +41,7 @@ function buildContext(args) {
41
41
  `Stack "${stackName}" not found in config. Run \`clawops init\` or use \`--stack\` to specify a different stack.`
42
42
  );
43
43
  }
44
- const { getOrCreateStack } = await import("./automation-NBYQ6MFZ.js");
44
+ const { getOrCreateStack } = await import("./automation-VDKLZMJI.js");
45
45
  stackCache = await getOrCreateStack({
46
46
  stack: stackName,
47
47
  stateUrl: stackConfig.stateUrl,
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  getConfigDir
4
- } from "./chunk-GFIR2IIJ.js";
4
+ } from "./chunk-GYMAC4MW.js";
5
5
 
6
6
  // src/providers/local/state.ts
7
7
  import { readFileSync, writeFileSync, mkdirSync, renameSync } from "fs";