@clawops/cli 1.7.9 → 2.0.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 (57) hide show
  1. package/README.md +412 -70
  2. package/dist/{apply-F3KY2HTB.js → apply-AM5HERE7.js} +8 -6
  3. package/dist/{aws-L4RR2LSE.js → aws-AMON7DA7.js} +20 -9
  4. package/dist/{azure-7OXQENQL.js → azure-T4G6OBJQ.js} +19 -8
  5. package/dist/{bootstrap-HL4DNUNG.js → bootstrap-DMRPWJGN.js} +28 -19
  6. package/dist/bootstrap.sh.tmpl +51 -31
  7. package/dist/channels-KBUR42IU.js +53 -0
  8. package/dist/{chunk-DQDAWNGB.js → chunk-3WYA2QDM.js} +1 -1
  9. package/dist/chunk-6TIYVHPX.js +152 -0
  10. package/dist/{chunk-3XK66DKK.js → chunk-AHAAEXWC.js} +41 -0
  11. package/dist/{chunk-GZN7PKP4.js → chunk-AX74VXTV.js} +292 -94
  12. package/dist/{chunk-C5X375RO.js → chunk-CKSPROD5.js} +59 -15
  13. package/dist/{chunk-UKTP332Z.js → chunk-GAZPPSKU.js} +6 -7
  14. package/dist/{chunk-FNS56UQY.js → chunk-GYV4KNW7.js} +319 -252
  15. package/dist/{chunk-PVUVI35Y.js → chunk-JW5A7E3X.js} +5 -1
  16. package/dist/chunk-LT4XMO5D.js +50 -0
  17. package/dist/{chunk-P5LKWRPL.js → chunk-LU2V3LXA.js} +3 -3
  18. package/dist/chunk-N44K3LHE.js +140 -0
  19. package/dist/chunk-NUDIHZEH.js +55 -0
  20. package/dist/chunk-SBLQH2TJ.js +56 -0
  21. package/dist/chunk-UFRO4H5W.js +228 -0
  22. package/dist/{chunk-A4QR4TXW.js → chunk-WHJMKDV7.js} +24 -4
  23. package/dist/chunk-YR3O2I3S.js +101 -0
  24. package/dist/cli.js +866 -577
  25. package/dist/config-validate-K2N6XLDX.js +76 -0
  26. package/dist/{context-5LCUG2QR.js → context-KHKWJJMC.js} +1 -1
  27. package/dist/{firewall-XQGO7HWK.js → firewall-T3NTPZJD.js} +10 -0
  28. package/dist/{gcp-UG6AWPIZ.js → gcp-2JBTD7ZM.js} +19 -8
  29. package/dist/{generate-OAGYT3VH.js → generate-2XV2GSP2.js} +4 -4
  30. package/dist/{harden-URPXLSVF.js → harden-PCDK3UQ5.js} +48 -11
  31. package/dist/health-5CCOXYGG.js +11 -0
  32. package/dist/logs-P7YCKVF4.js +15 -0
  33. package/dist/{mcp-wire-7E5JQY47.js → mcp-wire-BFEY2Y6H.js} +23 -17
  34. package/dist/{package-5AR4ZPK4.js → package-3HUW57XH.js} +3 -3
  35. package/dist/plugins-DTST3OER.js +49 -0
  36. package/dist/{pool-QGFQRMGU.js → pool-EX4ZTA5P.js} +2 -2
  37. package/dist/privileged-JFA6LLTV.js +17 -0
  38. package/dist/{remote-config-QDLN4UMG.js → remote-config-Z6IIZR3D.js} +3 -3
  39. package/dist/runtime-LZ7NA53V.js +42 -0
  40. package/dist/{server-FIZCOLHL.js → server-A5AB67GQ.js} +16 -12
  41. package/dist/spec-path-KQOOIQCA.js +9 -0
  42. package/dist/{ssh-CNJNLM3E.js → ssh-B3NZAU4I.js} +1 -1
  43. package/dist/upgrade-ULD4KFYC.js +88 -0
  44. package/dist/validate-BOQRWX4F.js +14 -0
  45. package/dist/{version-guard-VUCNZXQS.js → version-guard-GPSTCPT7.js} +3 -3
  46. package/dist/{versions-2UVAT6PQ.js → versions-W5LRQCAJ.js} +2 -2
  47. package/package.json +3 -3
  48. package/spec/deploy-plan.schema.json +114 -25
  49. package/spec/integrations.yaml +135 -28
  50. package/spec/mcp-tools.yaml +68 -35
  51. package/spec/models.yaml +9 -0
  52. package/spec/openclaw-2.0.config.schema.json +1 -0
  53. package/spec/openclaw-versions.yaml +116 -27
  54. package/dist/chunk-35WVQY3X.js +0 -122
  55. package/dist/chunk-6X45DDGH.js +0 -42
  56. package/dist/chunk-SEZMVVAS.js +0 -156
  57. package/dist/validate-CFQ4FH2T.js +0 -10
@@ -11,6 +11,15 @@
11
11
  # R8 — enums for closed sets
12
12
  # R10 — all four annotation hints set
13
13
  # R11 — annotations bound to safety modes (--read-only, --no-destructive)
14
+ #
15
+ # NOTE on `output:` — these blocks are DESCRIPTIVE, not generated. gen-schemas reads
16
+ # `input:` and `annotations:` only; nothing emits an MCP outputSchema, and no handler is
17
+ # checked against what its entry claims to return. Making them real means generating an
18
+ # outputSchema per tool and returning `structuredContent` from every handler — worth doing,
19
+ # but it is a change to all 18 handlers, not a spec edit. Until then, treat `output:` as the
20
+ # intended shape and the handler as the truth. Keeping them honest is not optional:
21
+ # clawops_status declared health, uptimeSec, openclawVersion and agentCount for three
22
+ # releases while returning none of them (WO-47).
14
23
 
15
24
  version: 1
16
25
 
@@ -32,14 +41,15 @@ tools:
32
41
  - name: clawops_status
33
42
  toolset: [cli, read]
34
43
  description: |
35
- Get current status of a clawops-managed stack: gateway health, OpenClaw
36
- version, agent count, uptime.
44
+ Get what is deployed for a clawops-managed stack: public IP, gateway URL,
45
+ SSH user, or that nothing is deployed yet. Reads stack outputs; does not
46
+ contact the host.
37
47
 
38
- Use when: the user asks about the health of a deployed instance, whether
39
- the gateway is responding, or wants a quick overview.
48
+ Use when: the user asks what exists for a stack, or where to reach it.
40
49
 
41
- Do NOT use when: the user asks for live logs (use clawops_logs) or wants
42
- to see specific configuration values (use clawops_config_get).
50
+ Do NOT use when: the user asks whether the gateway is actually WORKING —
51
+ that needs the host, so use clawops_doctor. Also not for live logs (use
52
+ clawops_logs_tail) or config values (use clawops_config_get).
43
53
  annotations:
44
54
  title: Get Stack Status
45
55
  readOnlyHint: true
@@ -51,15 +61,60 @@ tools:
51
61
  type: string
52
62
  optional: true
53
63
  description: Stack name. Defaults to active stack from config.
64
+ # What the handler returns: the stack's deployment outputs. Health, version and agent
65
+ # count are NOT here — they need the host, and asking for them is clawops_doctor.
54
66
  output:
55
- health: { type: enum, values: [healthy, degraded, down, unknown] }
67
+ stack: { type: string }
68
+ publicIp: { type: string }
56
69
  gatewayUrl: { type: string, format: uri }
57
- uptimeSec: { type: integer }
58
- openclawVersion: { type: string }
59
- agentCount: { type: integer }
60
- provider: { type: enum, values: [aws, gcp, azure, local] }
70
+ sshUser: { type: string }
71
+ status: { type: enum, values: [not bootstrapped, not deployed] }
61
72
  region: { type: string }
62
73
 
74
+ - name: clawops_doctor
75
+ toolset: [cli, read]
76
+ description: |
77
+ Run clawops's diagnostics and return the report: Node and Pulumi runtime, config,
78
+ SSH key and known_hosts, cloud credentials per configured provider, and the
79
+ supported OpenClaw range. With stackName, also contacts the host for container
80
+ state, the deployed OpenClaw version, a real gateway health probe, whether the
81
+ port is published to the internet, disk usage on the state directory, log
82
+ rotation, and hardening drift.
83
+
84
+ Use when: something is not working and you do not yet know what; before any
85
+ deploy, upgrade or migration; or to find out which OpenClaw version a gateway is
86
+ actually running.
87
+
88
+ Do NOT use when: you already know the problem and want to fix it. This tool only
89
+ reports — it changes nothing, and never runs `openclaw doctor --fix`. Repair is
90
+ part of clawops_gateway_update, where it is gated on a verified backup.
91
+
92
+ Every check carries a status: fail (something is wrong that clawops can name),
93
+ warn (worth knowing, not broken), info (did not apply). `ok` is false only when
94
+ something failed — a fresh machine with no stacks is full of warnings and healthy.
95
+ annotations:
96
+ title: Run Diagnostics
97
+ readOnlyHint: true
98
+ destructiveHint: false
99
+ idempotentHint: true
100
+ openWorldHint: true
101
+ input:
102
+ stackName:
103
+ type: string
104
+ optional: true
105
+ description: |
106
+ Stack to include remote checks for. Without it, only the local machine is
107
+ checked — no SSH connection is made.
108
+ failuresOnly:
109
+ type: boolean
110
+ optional: true
111
+ default: false
112
+ description: Return only failing and warning checks. Passing checks are counted, not listed.
113
+ output:
114
+ ok: { type: boolean }
115
+ counts: { type: object }
116
+ sections: { type: array }
117
+
63
118
  - name: clawops_logs_tail
64
119
  toolset: [cli, read]
65
120
  description: |
@@ -399,28 +454,6 @@ tools:
399
454
  valid: { type: boolean }
400
455
  issues: { type: array, items: { type: string } }
401
456
 
402
- - name: clawops_agents_restart
403
- toolset: [cli]
404
- description: |
405
- Restart a specific OpenClaw agent on the remote gateway.
406
-
407
- Use when: the user reports an agent is stuck, errored, or unresponsive;
408
- or after a config change that the agent needs to pick up.
409
-
410
- Do NOT use when: the issue is gateway-wide — use clawops_gateway_restart.
411
- annotations:
412
- title: Restart OpenClaw Agent
413
- readOnlyHint: false
414
- destructiveHint: true
415
- idempotentHint: true
416
- openWorldHint: true
417
- input:
418
- stackName: { type: string, optional: true }
419
- agentId: { type: string }
420
- output:
421
- previousStatus: { type: string }
422
- newStatus: { type: string }
423
-
424
457
  - name: clawops_gateway_restart
425
458
  toolset: [cli]
426
459
  description: |
@@ -429,8 +462,8 @@ tools:
429
462
  Use when: a gateway-wide config change requires reload, or the gateway is
430
463
  reported as unresponsive.
431
464
 
432
- Do NOT use when: only a specific agent is affected — use
433
- clawops_agents_restart. Brief downtime (~10s).
465
+ Note: OpenClaw 2.0 removed per-agent restart; `gateway restart` is the only
466
+ restart it offers, and it affects every agent on the host. Brief downtime (~10s).
434
467
  annotations:
435
468
  title: Restart Gateway Daemon
436
469
  readOnlyHint: false
package/spec/models.yaml CHANGED
@@ -39,6 +39,9 @@ providers:
39
39
  - { id: deepseek-reasoner, displayName: "DeepSeek Reasoner (R1)" }
40
40
  defaultModel: deepseek-chat
41
41
  configPath: models.providers.deepseek
42
+ plugin:
43
+ package: "@openclaw/deepseek-provider"
44
+ version: "2026.9.2"
42
45
 
43
46
  - id: kimi
44
47
  displayName: Kimi (Moonshot AI)
@@ -50,6 +53,9 @@ providers:
50
53
  - { id: moonshot-v1-128k, displayName: "Moonshot v1 128K" }
51
54
  defaultModel: moonshot-v1-8k
52
55
  configPath: models.providers.kimi
56
+ plugin:
57
+ package: "@openclaw/kimi-provider"
58
+ version: "2026.9.2"
53
59
 
54
60
  - id: bedrock
55
61
  displayName: AWS Bedrock
@@ -80,6 +86,9 @@ providers:
80
86
  - { id: deepseek-r1, displayName: "DeepSeek-R1", modelId: "deepseek.r1-v1:0", family: DeepSeek }
81
87
  defaultModel: claude-sonnet-46
82
88
  configPath: models.providers.amazon-bedrock
89
+ plugin:
90
+ package: "@openclaw/amazon-bedrock-provider"
91
+ version: "2026.9.2"
83
92
 
84
93
  - id: ollama
85
94
  displayName: Ollama (self-hosted)