@clawops/cli 1.7.1 → 1.7.2

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 (40) hide show
  1. package/dist/{apply-BTZFFGAD.js → apply-PZ5IIU7Z.js} +5 -4
  2. package/dist/{aws-D7Y6LCGK.js → aws-L4RR2LSE.js} +1 -1
  3. package/dist/{azure-JQAMNVHN.js → azure-7OXQENQL.js} +1 -1
  4. package/dist/{bootstrap-RY4VOSDJ.js → bootstrap-HL4DNUNG.js} +13 -4
  5. package/dist/bootstrap.sh.tmpl +204 -0
  6. package/dist/chunk-2YOP6N7X.js +126 -0
  7. package/dist/{chunk-GJEF6UQA.js → chunk-3XK66DKK.js} +100 -16
  8. package/dist/{chunk-ISFHLA4G.js → chunk-5SPESD5N.js} +8 -6
  9. package/dist/{chunk-YTH4L2GN.js → chunk-6X45DDGH.js} +5 -4
  10. package/dist/{chunk-XKT42M34.js → chunk-C5X375RO.js} +14 -1
  11. package/dist/{chunk-LCKD7L7X.js → chunk-DQDAWNGB.js} +1 -1
  12. package/dist/{chunk-CG3Y7Y2R.js → chunk-FSUWPL7Q.js} +9 -9
  13. package/dist/{chunk-ZFNPM2WG.js → chunk-O3F7OGH7.js} +40 -3
  14. package/dist/{chunk-3MFZ7E74.js → chunk-P5LKWRPL.js} +3 -3
  15. package/dist/chunk-PVUVI35Y.js +29 -0
  16. package/dist/{chunk-FQ4JXUCR.js → chunk-SEABO2UU.js} +7 -4
  17. package/dist/cli.js +122 -68
  18. package/dist/{context-ALSJMTHE.js → context-5LCUG2QR.js} +1 -1
  19. package/dist/{gcp-6FT2A45S.js → gcp-UG6AWPIZ.js} +1 -1
  20. package/dist/{generate-SPT7PJKR.js → generate-NIF6IBZC.js} +4 -3
  21. package/dist/{harden-BDVYW567.js → harden-URPXLSVF.js} +2 -2
  22. package/dist/{mcp-wire-ZWIYMLEW.js → mcp-wire-SLL4TLSC.js} +1 -1
  23. package/dist/{package-OMPI6RMV.js → package-TZ2HYF5C.js} +3 -2
  24. package/dist/{pool-JZGKPP6K.js → pool-QGFQRMGU.js} +2 -2
  25. package/dist/{remote-config-QF5TT7GU.js → remote-config-PFB66RPY.js} +3 -1
  26. package/dist/{server-RGLKKCCU.js → server-WM3AY4PJ.js} +19 -18
  27. package/dist/{ssh-E2AMBPZY.js → ssh-CNJNLM3E.js} +1 -1
  28. package/dist/{validate-T5M5EHSJ.js → validate-CFQ4FH2T.js} +2 -1
  29. package/dist/version-guard-MZAO4KHS.js +25 -0
  30. package/dist/versions-OEPAS2EL.js +24 -0
  31. package/package.json +3 -2
  32. package/spec/_gen-schemas.md +136 -0
  33. package/spec/deploy-plan.schema.json +193 -0
  34. package/spec/errors.yaml +175 -0
  35. package/spec/integrations.yaml +97 -0
  36. package/spec/invariants.yaml +81 -0
  37. package/spec/mcp-tools.yaml +532 -0
  38. package/spec/models.yaml +113 -0
  39. package/spec/openclaw-versions.yaml +67 -0
  40. package/spec/providers.schema.json +120 -0
@@ -0,0 +1,67 @@
1
+ # OpenClaw Version Compatibility Matrix
2
+ # Enforced by src/openclaw/versions.ts — `doctor`, `plan`, `up` and `apply` refuse
3
+ # an OpenClaw version outside this range. Update via /openclaw-config skill.
4
+ #
5
+ # This is the clawops 1.x line: it supports the pre-2.0 OpenClaw runtime contract only.
6
+ # OpenClaw 2026.8.1 ("OpenClaw 2.0") changed that contract — state moved into SQLite,
7
+ # config moved to a writable path, and provider plugins became install-gated. Deploying
8
+ # it from this line produces a crash-looping gateway (exit 78). Use clawops 2.x instead.
9
+
10
+ version: 1
11
+
12
+ # Minimum and maximum versions clawops supports
13
+ support:
14
+ min: "2026.4.5"
15
+ max: "2026.7.1-2" # last release before the 2.0 runtime contract
16
+ recommended: "2026.7.1-2"
17
+
18
+ # Provider-specific quirks discovered through testing
19
+ quirks:
20
+ - id: aws-bedrock-aws-profile
21
+ description: |
22
+ OpenClaw 2026.4.5+ ignores `auth: "aws-sdk"` in openclaw.json's Bedrock
23
+ provider config. Instead, AWS_PROFILE must be set in the systemd
24
+ EnvironmentFile so the AWS SDK resolves credentials via IMDS.
25
+ affected:
26
+ versions: ">=2026.4.5"
27
+ providers: [aws]
28
+ configs: [openclaw.models.providers.amazon-bedrock]
29
+ workaround: |
30
+ AWS adapter MUST emit BOTH:
31
+ 1. openclaw.json with `auth: "aws-sdk"` (for older versions, ignored by newer)
32
+ 2. systemd EnvironmentFile with `AWS_PROFILE=default` (or the profile name)
33
+ Adapter should test the rendered systemd unit includes the EnvironmentFile.
34
+ discoveredFrom: aws-samples/sample-OpenClaw-on-AWS-with-Bedrock troubleshooting docs
35
+
36
+ - id: pnpm-pulumi-hoisting
37
+ description: |
38
+ pnpm's default hoisting strategy can place @pulumi/pulumi at a depth that
39
+ breaks the Automation API's worker spawn. Pin @pulumi/pulumi at the workspace
40
+ root and add a .npmrc entry: `public-hoist-pattern[]=@pulumi/*`
41
+ affected:
42
+ versions: "*"
43
+ providers: ["*"]
44
+ workaround: See docs/decisions/0003-pulumi-pnpm.md
45
+
46
+ # Tested combinations — populated by CI matrix
47
+ tested:
48
+ - openclawVersion: "2026.4.5"
49
+ providers: [aws, gcp, local]
50
+ nodeVersions: ["20.x", "22.x"]
51
+ lastTestedAt: "2026-04-15"
52
+
53
+ # Known incompatible combinations
54
+ incompatible:
55
+ - openclawVersionRange: "<2026.4.5"
56
+ reason: "Below clawops's declared minimum support. Earlier OpenClaw versions used different config paths and channel registration semantics."
57
+ - openclawVersionRange: ">=2026.8.1"
58
+ reason: |
59
+ OpenClaw 2.0 changed the container runtime contract. Verified against 2026.8.1:
60
+ - No gateway token on first boot => "Refusing to bind gateway to auto without
61
+ auth", exit 78, crash-loop under --restart unless-stopped.
62
+ - Sessions, transcripts and credentials moved into SQLite under the state
63
+ directory, which this line does not mount => total state loss on restart.
64
+ - Provider plugins (Bedrock included) are install-gated; a configured but
65
+ uninstalled provider prevents startup entirely.
66
+ Use clawops 2.x, which targets OpenClaw >= 2026.9.1.
67
+ useInstead: "@clawops/cli@2"
@@ -0,0 +1,120 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://clawops.dev/schemas/provider.json",
4
+ "title": "ProviderAdapter",
5
+ "description": "Contract every cloud provider adapter must satisfy. Source of truth for src/providers/types.ts (generated). Per R-meta-1.",
6
+ "type": "object",
7
+ "required": ["name", "credentials", "regions", "instanceTypes", "stateBackend", "operations"],
8
+ "properties": {
9
+ "name": {
10
+ "type": "string",
11
+ "enum": ["aws", "gcp", "azure", "local"],
12
+ "description": "Lowercase provider id"
13
+ },
14
+ "credentials": {
15
+ "type": "object",
16
+ "description": "How this provider's credentials are sourced (R6: never in tool args)",
17
+ "required": ["source"],
18
+ "properties": {
19
+ "source": {
20
+ "enum": ["env", "cli-profile", "file", "instance-metadata"],
21
+ "description": "Credential resolution mechanism"
22
+ },
23
+ "envVars": {
24
+ "type": "array",
25
+ "items": { "type": "string" },
26
+ "description": "Environment variables checked at startup (e.g., AWS_PROFILE)"
27
+ },
28
+ "profileName": {
29
+ "type": "string",
30
+ "description": "When source=cli-profile, the profile name in the cloud CLI's config"
31
+ },
32
+ "filePath": {
33
+ "type": "string",
34
+ "description": "When source=file, absolute path to credentials file"
35
+ }
36
+ }
37
+ },
38
+ "regions": {
39
+ "type": "array",
40
+ "items": { "type": "string" },
41
+ "minItems": 1,
42
+ "description": "Region IDs supported by this adapter (e.g., us-east-1, us-central1, eastus)"
43
+ },
44
+ "instanceTypes": {
45
+ "type": "array",
46
+ "minItems": 1,
47
+ "description": "Mapping from clawops aliases to provider-native instance types",
48
+ "items": {
49
+ "type": "object",
50
+ "required": ["alias", "nativeId", "vcpu", "memoryGB", "arch"],
51
+ "properties": {
52
+ "alias": {
53
+ "enum": ["micro", "small", "medium", "large", "gpu"],
54
+ "description": "Normalized clawops alias"
55
+ },
56
+ "nativeId": {
57
+ "type": "string",
58
+ "description": "Provider-native instance type (e.g., t3.small, e2-small, Standard_B2s)"
59
+ },
60
+ "vcpu": { "type": "number", "minimum": 1 },
61
+ "memoryGB": { "type": "number", "minimum": 0.5 },
62
+ "arch": { "enum": ["x86_64", "arm64"] }
63
+ }
64
+ }
65
+ },
66
+ "stateBackend": {
67
+ "type": "object",
68
+ "required": ["scheme", "urlPattern"],
69
+ "properties": {
70
+ "scheme": {
71
+ "enum": ["s3", "gs", "azblob", "file"],
72
+ "description": "Pulumi state backend URL scheme"
73
+ },
74
+ "urlPattern": {
75
+ "type": "string",
76
+ "description": "URL template like 's3://{bucket}/clawops'"
77
+ }
78
+ }
79
+ },
80
+ "operations": {
81
+ "type": "object",
82
+ "required": ["provision", "destroy", "describe"],
83
+ "description": "Lifecycle operations every adapter must implement",
84
+ "properties": {
85
+ "provision": { "$ref": "#/$defs/Operation" },
86
+ "destroy": { "$ref": "#/$defs/Operation" },
87
+ "describe": { "$ref": "#/$defs/Operation" },
88
+ "refresh": { "$ref": "#/$defs/Operation" }
89
+ }
90
+ },
91
+ "supportedOpenclawVersions": {
92
+ "type": "object",
93
+ "properties": {
94
+ "min": { "type": "string", "description": "semver, e.g., 2026.4.5" },
95
+ "max": { "type": "string" },
96
+ "tested": { "type": "array", "items": { "type": "string" } }
97
+ }
98
+ }
99
+ },
100
+ "$defs": {
101
+ "Operation": {
102
+ "type": "object",
103
+ "required": ["estimatedDurationSec", "idempotent", "destructive"],
104
+ "properties": {
105
+ "estimatedDurationSec": {
106
+ "type": "object",
107
+ "properties": {
108
+ "min": { "type": "number" },
109
+ "max": { "type": "number" },
110
+ "median": { "type": "number" }
111
+ },
112
+ "description": "Used by R12 to pick streaming tier (sync / progress / Tasks)"
113
+ },
114
+ "idempotent": { "type": "boolean" },
115
+ "destructive": { "type": "boolean" },
116
+ "supportsCancellation": { "type": "boolean", "default": true }
117
+ }
118
+ }
119
+ }
120
+ }