beeos-claw 0.5.64-staging.0 → 0.5.65-staging.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.
package/README.md
CHANGED
|
@@ -201,7 +201,7 @@ Logs are written to rolling files in `log.dir` with automatic rotation and sensi
|
|
|
201
201
|
| Channel | Git branch | Version shape | npm dist-tag | Docker image tag |
|
|
202
202
|
|---|---|---|---|---|
|
|
203
203
|
| **production** | `main` | `X.Y.Z` (plain SemVer, e.g. `0.2.41`) | `latest` | `openclaw-desktop:latest`, `production-<sha>` |
|
|
204
|
-
| **staging** | `staging` | `X.Y.Z-staging.N` (pre-release, e.g. `0.2.41-staging.0`) | `staging` | `openclaw-desktop:staging-
|
|
204
|
+
| **staging** | `staging` | `X.Y.Z-staging.N` (pre-release, e.g. `0.2.41-staging.0`) | `staging` | `openclaw-desktop:staging-<full-claw-sha>` |
|
|
205
205
|
|
|
206
206
|
The publish workflow [`.github/workflows/publish.yml`](.github/workflows/publish.yml) inspects the `version` in [`package.json`](./package.json):
|
|
207
207
|
|
|
@@ -218,7 +218,7 @@ git commit -am "chore: release $(node -p "require('./package.json').version")"
|
|
|
218
218
|
git push origin staging
|
|
219
219
|
```
|
|
220
220
|
|
|
221
|
-
CI publishes `beeos-claw@0.X.Y-staging.N` with `dist-tag=staging`, then triggers `beeos-openclaw` to rebuild `openclaw-desktop:staging-latest
|
|
221
|
+
CI publishes `beeos-claw@0.X.Y-staging.N` with `dist-tag=staging`, then triggers `beeos-openclaw` to rebuild `openclaw-desktop:staging-<full-claw-sha>`. Staging never uses `staging-latest`; consumers pulling `beeos-claw@latest` from npm or `openclaw-desktop:latest` from ECR are **not** affected.
|
|
222
222
|
|
|
223
223
|
### Promote to production
|
|
224
224
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
export const RUNTIME_MESSAGE_CHANNEL_REVISION="beeos.runtime-message-channel.v2.0.0";export const RUNTIME_MESSAGE_CHANNEL_RAW_SHA256="bce5d070b29196ccdcae3769391e9eebcdcf375108f50b56906351c2f509a35c";export const RUNTIME_MESSAGE_CHANNEL_SHA256="0b76a63df0cfcea19e098adf0c5a7a83361e287e68334c47a5619c73a036bf08";export const RUNTIME_AUTHORITY_PORTS_REVISION="beeos.runtime-authority-ports.v2.0.0";export const RUNTIME_AUTHORITY_PORTS_RAW_SHA256="a2e9565ae617bcaeb4d837fe176a3602be041913d28a3f0a3a9ec2e3dae0d7b4";export const RUNTIME_AUTHORITY_PORTS_SHA256="3bd582f1f6babcdbe953a082faf813247c960f6bbf4c0f713e7fd92e27d163f5";export const RUNTIME_SESSION_CANCEL_REVISION="beeos.runtime-session-cancel.v1.0.0";export const RUNTIME_SESSION_CANCEL_SHA256="ad32581546f3a97d62df3a6785e3ec057e7dd888b31885f46cfb43d07c966d3e";export const RUNTIME_PARITY_MANIFEST_REVISION="beeos.runtime-parity.v1.1.0";export const RUNTIME_PARITY_MANIFEST_RAW_SHA256="217e3cc652c9fa2751c3a5708229428de2f8a6a6a1d3e6b40a5e5cf5405c4834";export const RUNTIME_PARITY_MANIFEST_SHA256="4a5b6fa44689b12af62b34a7151392ddd24def6d08e7d765c134d91144df7a97";const manifestEntries=[{method:"session/set_mode",acpSource:"service",route:"POST /api/v1/runtime/operations",contractRevision:RUNTIME_MESSAGE_CHANNEL_REVISION,status:"ready",blockerOwner:""},{method:"agent/create",acpSource:"service",route:"POST /api/v1/agents/sync",contractRevision:RUNTIME_AUTHORITY_PORTS_REVISION,status:"ready",blockerOwner:""},{method:"agent/update",acpSource:"service",route:"POST /api/v1/agents/sync",contractRevision:RUNTIME_AUTHORITY_PORTS_REVISION,status:"ready",blockerOwner:""},{method:"agent/delete",acpSource:"service",route:"POST /api/v1/agents/sync",contractRevision:RUNTIME_AUTHORITY_PORTS_REVISION,status:"ready",blockerOwner:""},{method:"agent/applyTemplate",acpSource:"service",route:"POST /api/v1/agents/sync",contractRevision:RUNTIME_AUTHORITY_PORTS_REVISION,status:"ready",blockerOwner:""},{method:"skills/list",acpSource:"service",route:"POST /api/v1/runtime/operations",contractRevision:RUNTIME_MESSAGE_CHANNEL_REVISION,status:"ready",blockerOwner:""},{method:"skills/install",acpSource:"service",route:"POST /api/v1/runtime/operations",contractRevision:RUNTIME_MESSAGE_CHANNEL_REVISION,status:"ready",blockerOwner:""},{method:"skills/uninstall",acpSource:"service",route:"POST /api/v1/runtime/operations",contractRevision:RUNTIME_MESSAGE_CHANNEL_REVISION,status:"ready",blockerOwner:""},{method:"skills/update",acpSource:"service",route:"POST /api/v1/runtime/operations",contractRevision:RUNTIME_MESSAGE_CHANNEL_REVISION,status:"ready",blockerOwner:""},{method:"models/list",acpSource:"service",route:"POST /api/v1/runtime/operations",contractRevision:RUNTIME_MESSAGE_CHANNEL_REVISION,status:"ready",blockerOwner:""},{method:"cron/list",acpSource:"service",route:"POST /api/v1/runtime/operations",contractRevision:RUNTIME_MESSAGE_CHANNEL_REVISION,status:"ready",blockerOwner:""},{method:"cron/status",acpSource:"service",route:"POST /api/v1/runtime/operations",contractRevision:RUNTIME_MESSAGE_CHANNEL_REVISION,status:"ready",blockerOwner:""},{method:"cron/add",acpSource:"service",route:"POST /api/v1/runtime/operations",contractRevision:RUNTIME_MESSAGE_CHANNEL_REVISION,status:"ready",blockerOwner:""},{method:"cron/update",acpSource:"service",route:"POST /api/v1/runtime/operations",contractRevision:RUNTIME_MESSAGE_CHANNEL_REVISION,status:"ready",blockerOwner:""},{method:"cron/remove",acpSource:"service",route:"POST /api/v1/runtime/operations",contractRevision:RUNTIME_MESSAGE_CHANNEL_REVISION,status:"ready",blockerOwner:""},{method:"cron/run",acpSource:"service",route:"POST /api/v1/runtime/operations",contractRevision:RUNTIME_MESSAGE_CHANNEL_REVISION,status:"ready",blockerOwner:""},{method:"cron/runs",acpSource:"service",route:"POST /api/v1/runtime/operations",contractRevision:RUNTIME_MESSAGE_CHANNEL_REVISION,status:"ready",blockerOwner:""},{method:"mcp/list",acpSource:"service",route:"POST /api/v1/runtime/operations",contractRevision:RUNTIME_MESSAGE_CHANNEL_REVISION,status:"ready",blockerOwner:""},{method:"mcp/set",acpSource:"service",route:"POST /api/v1/runtime/operations",contractRevision:RUNTIME_MESSAGE_CHANNEL_REVISION,status:"ready",blockerOwner:""},{method:"mcp/unset",acpSource:"service",route:"POST /api/v1/runtime/operations",contractRevision:RUNTIME_MESSAGE_CHANNEL_REVISION,status:"ready",blockerOwner:""},{method:"session/clear",acpSource:"conversation",route:"POST /api/v1/runtime/conversations/{conversationId}/history-boundary/{action}",contractRevision:RUNTIME_AUTHORITY_PORTS_REVISION,status:"ready",blockerOwner:""},{method:"session/set_model",acpSource:"conversation",route:"POST /api/v1/runtime/conversations/{conversationId}/metadata/model",contractRevision:RUNTIME_AUTHORITY_PORTS_REVISION,status:"ready",blockerOwner:""},{method:"session/cancel",acpSource:"conversation",route:"POST /api/v1/runtime/operations",contractRevision:RUNTIME_MESSAGE_CHANNEL_REVISION,status:"ready",blockerOwner:""}];export const RUNTIME_PARITY_MANIFEST=Object.freeze(manifestEntries.map(e=>Object.freeze(e)));export const RUNTIME_PARITY_READY_METHODS=Object.freeze(new Set(RUNTIME_PARITY_MANIFEST.filter(e=>"ready"===e.status).map(e=>e.method)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{RUNTIME_METHOD_PARITY_MANIFEST,RUNTIME_RPC_CONTRACT_REVISION}from"@beeos-ai/beeos-types/runtime";import{RUNTIME_AUTHORITY_PORTS_REVISION,RUNTIME_AUTHORITY_PORTS_SHA256,RUNTIME_MESSAGE_CHANNEL_REVISION,RUNTIME_MESSAGE_CHANNEL_SHA256,RUNTIME_PARITY_MANIFEST,RUNTIME_PARITY_MANIFEST_REVISION,RUNTIME_PARITY_MANIFEST_SHA256,RUNTIME_PARITY_READY_METHODS,RUNTIME_SESSION_CANCEL_REVISION,RUNTIME_SESSION_CANCEL_SHA256}from"./runtime-parity-manifest.js";import{verifiedRuntimeParityManifestDigest}from"./runtime-parity-manifest-digest.js";export const RUNTIME_SERVICE_WIRE_CONTRACT_ARTIFACTS=Object.freeze([Object.freeze({revision:RUNTIME_MESSAGE_CHANNEL_REVISION,sha256:RUNTIME_MESSAGE_CHANNEL_SHA256}),Object.freeze({revision:RUNTIME_AUTHORITY_PORTS_REVISION,sha256:RUNTIME_AUTHORITY_PORTS_SHA256}),Object.freeze({revision:RUNTIME_SESSION_CANCEL_REVISION,sha256:RUNTIME_SESSION_CANCEL_SHA256}),Object.freeze({revision:RUNTIME_PARITY_MANIFEST_REVISION,sha256:RUNTIME_PARITY_MANIFEST_SHA256})]);export function loadRuntimeServiceContractIdentity(){return Object.freeze({contractRevision:RUNTIME_RPC_CONTRACT_REVISION,canonicalManifestDigest:verifiedRuntimeParityManifestDigest(),wireArtifacts:RUNTIME_SERVICE_WIRE_CONTRACT_ARTIFACTS})}export function intersectRuntimeServiceMethodsWithBackendCapabilities(e){const
|
|
1
|
+
import{createHash}from"node:crypto";import{readFileSync}from"node:fs";import{RUNTIME_METHOD_PARITY_MANIFEST,RUNTIME_RPC_CONTRACT_REVISION}from"@beeos-ai/beeos-types/runtime";import{RUNTIME_AUTHORITY_PORTS_REVISION,RUNTIME_AUTHORITY_PORTS_RAW_SHA256,RUNTIME_AUTHORITY_PORTS_SHA256,RUNTIME_MESSAGE_CHANNEL_REVISION,RUNTIME_MESSAGE_CHANNEL_RAW_SHA256,RUNTIME_MESSAGE_CHANNEL_SHA256,RUNTIME_PARITY_MANIFEST,RUNTIME_PARITY_MANIFEST_RAW_SHA256,RUNTIME_PARITY_MANIFEST_REVISION,RUNTIME_PARITY_MANIFEST_SHA256,RUNTIME_PARITY_READY_METHODS,RUNTIME_SESSION_CANCEL_REVISION,RUNTIME_SESSION_CANCEL_SHA256}from"./runtime-parity-manifest.js";import{verifiedRuntimeParityManifestDigest}from"./runtime-parity-manifest-digest.js";export const RUNTIME_SERVICE_WIRE_CONTRACT_ARTIFACTS=Object.freeze([Object.freeze({revision:RUNTIME_MESSAGE_CHANNEL_REVISION,sha256:RUNTIME_MESSAGE_CHANNEL_SHA256,rawSha256:RUNTIME_MESSAGE_CHANNEL_RAW_SHA256}),Object.freeze({revision:RUNTIME_AUTHORITY_PORTS_REVISION,sha256:RUNTIME_AUTHORITY_PORTS_SHA256,rawSha256:RUNTIME_AUTHORITY_PORTS_RAW_SHA256}),Object.freeze({revision:RUNTIME_SESSION_CANCEL_REVISION,sha256:RUNTIME_SESSION_CANCEL_SHA256}),Object.freeze({revision:RUNTIME_PARITY_MANIFEST_REVISION,sha256:RUNTIME_PARITY_MANIFEST_SHA256})]);export function loadRuntimeServiceContractIdentity(){return verifyPackagedRuntimeServiceWireIdentity(),Object.freeze({contractRevision:RUNTIME_RPC_CONTRACT_REVISION,canonicalManifestDigest:verifiedRuntimeParityManifestDigest(),wireArtifacts:RUNTIME_SERVICE_WIRE_CONTRACT_ARTIFACTS})}const RUNTIME_SERVICE_WIRE_IDENTITY_RAW_SHA256="65468d009713c265f5b760ae4ed923aac93182c01c07d85577f281a8b3241c08";function verifyPackagedRuntimeServiceWireIdentity(){verifyRuntimeServiceWireIdentityBytes(readFileSync(new URL("../../runtime-service-wire-identity.v1.json",import.meta.url)))}export function verifyRuntimeServiceWireIdentityBytes(e){if(createHash("sha256").update(e).digest("hex")!==RUNTIME_SERVICE_WIRE_IDENTITY_RAW_SHA256)throw new Error("packaged runtime Service wire identity bytes drifted");const i=JSON.parse(Buffer.from(e).toString("utf8"));if(1!==i.schemaVersion||"RFC8785/JCS"!==i.canonicalization||"SHA-256"!==i.hashAlgorithm||"@beeos-ai/beeos-types"!==i.canonicalTypes?.package||"4.1.0"!==i.canonicalTypes.version||i.canonicalTypes.runtimeRpcContractRevision!==RUNTIME_RPC_CONTRACT_REVISION||"a7a477ebfef92875daa33d9cb72b539cf024346c0043f1031acb39d5bd0c3359"!==i.canonicalTypes.runtimeMethodManifestRawSHA256||i.canonicalTypes.runtimeMethodManifestJcsSHA256!==verifiedRuntimeParityManifestDigest())throw new Error("packaged runtime Service canonical Types identity drifted");const t=new Map([["runtime-parity-manifest",["openapi/runtime-parity-manifest-v1.json",RUNTIME_PARITY_MANIFEST_REVISION,RUNTIME_PARITY_MANIFEST_RAW_SHA256,RUNTIME_PARITY_MANIFEST_SHA256]],["runtime-message-channel",["openapi/runtime-message-channel-v1.contract.json",RUNTIME_MESSAGE_CHANNEL_REVISION,RUNTIME_MESSAGE_CHANNEL_RAW_SHA256,RUNTIME_MESSAGE_CHANNEL_SHA256]],["runtime-authority-ports",["openapi/runtime-authority-ports-v1.contract.json",RUNTIME_AUTHORITY_PORTS_REVISION,RUNTIME_AUTHORITY_PORTS_RAW_SHA256,RUNTIME_AUTHORITY_PORTS_SHA256]]]);if(!Array.isArray(i.artifacts)||i.artifacts.length!==t.size)throw new Error("packaged runtime Service wire artifact set drifted");for(const e of i.artifacts){const i=t.get(e.name);if(!i||e.path!==i[0]||e.revision!==i[1]||e.rawSHA256!==i[2]||e.jcsSHA256!==i[3])throw new Error(`packaged runtime Service wire artifact ${e.name||"<missing>"} drifted`);t.delete(e.name)}if(0!==t.size)throw new Error("packaged runtime Service wire artifact is missing")}export function intersectRuntimeServiceMethodsWithBackendCapabilities(e){const i=RUNTIME_PARITY_READY_METHODS,t=new Set(RUNTIME_PARITY_MANIFEST.map(e=>e.method)),r=new Set;for(const e of RUNTIME_METHOD_PARITY_MANIFEST)e.serviceAllowed&&t.has(e.acpMethod)&&(e.minimumRuntimeContractRevision&&e.minimumRuntimeContractRevision!==RUNTIME_RPC_CONTRACT_REVISION||r.add(e.acpMethod));return Object.freeze([...new Set(e)].filter(e=>i.has(e)&&r.has(e)))}export function runtimeServiceContractRequirement(){return`Types ${RUNTIME_RPC_CONTRACT_REVISION}; canonical-manifest ${verifiedRuntimeParityManifestDigest()}; `+RUNTIME_SERVICE_WIRE_CONTRACT_ARTIFACTS.map(e=>`${e.revision}:${e.sha256}`).join("; ")}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "beeos-claw",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.65-staging.0",
|
|
4
4
|
"description": "OpenClaw plugin that bridges the BeeOS platform with the local OpenClaw Gateway, providing file transfer, ACP bridge, and observability.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "BeeOS <dev@beeos.ai>",
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
"scripts/runtime-poison-blackbox.mjs",
|
|
23
23
|
"scripts/runtime-poison-blackbox-lib.mjs",
|
|
24
24
|
"scripts/runtime-security.mjs",
|
|
25
|
+
"runtime-service-wire-identity.v1.json",
|
|
25
26
|
"openclaw.plugin.json",
|
|
26
27
|
"README.md",
|
|
27
28
|
"LICENSE"
|
|
@@ -39,7 +40,7 @@
|
|
|
39
40
|
"verify:release-evidence": "node ./scripts/verify-release-evidence.mjs",
|
|
40
41
|
"verify:release-types-pin": "node ./scripts/verify-release-types-pin.mjs",
|
|
41
42
|
"verify:release-package": "npm run build:release && node ./scripts/verify-release-package.mjs",
|
|
42
|
-
"test:release-workflows": "node ./scripts/test-release-workflows.mjs",
|
|
43
|
+
"test:release-workflows": "node ./scripts/test-release-workflows.mjs && node --test ./scripts/openclaw-release-authority.test.mjs ./scripts/openclaw-release-dispatch.test.mjs ./scripts/verify-openclaw-dispatch-contract.test.mjs ./scripts/verify-promotion-evidence.test.mjs ./scripts/verify-package-equivalence.test.mjs ./scripts/verify-package-equivalence.e2e.test.mjs",
|
|
43
44
|
"check:runtime-blackbox-worker": "node --check ./scripts/runtime-blackbox-worker.mjs",
|
|
44
45
|
"prepublishOnly": "npm run verify:release-types-pin",
|
|
45
46
|
"prepack": "npm run check:runtime-blackbox-worker && npm run build:release && node ./scripts/mcp-state-blackbox.mjs && node ./scripts/verify-release-package.mjs",
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"canonicalization": "RFC8785/JCS",
|
|
4
|
+
"hashAlgorithm": "SHA-256",
|
|
5
|
+
"canonicalTypes": {
|
|
6
|
+
"package": "@beeos-ai/beeos-types",
|
|
7
|
+
"version": "4.1.0",
|
|
8
|
+
"runtimeRpcContractRevision": "2026-07-14.3",
|
|
9
|
+
"runtimeMethodManifestRawSHA256": "a7a477ebfef92875daa33d9cb72b539cf024346c0043f1031acb39d5bd0c3359",
|
|
10
|
+
"runtimeMethodManifestJcsSHA256": "2746b3d10fd1aed3fa23f717c58dbf7175d04e74274aee8a5a56230f7ce18206"
|
|
11
|
+
},
|
|
12
|
+
"artifacts": [
|
|
13
|
+
{
|
|
14
|
+
"name": "runtime-parity-manifest",
|
|
15
|
+
"path": "openapi/runtime-parity-manifest-v1.json",
|
|
16
|
+
"revision": "beeos.runtime-parity.v1.1.0",
|
|
17
|
+
"rawSHA256": "217e3cc652c9fa2751c3a5708229428de2f8a6a6a1d3e6b40a5e5cf5405c4834",
|
|
18
|
+
"jcsSHA256": "4a5b6fa44689b12af62b34a7151392ddd24def6d08e7d765c134d91144df7a97"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"name": "runtime-message-channel",
|
|
22
|
+
"path": "openapi/runtime-message-channel-v1.contract.json",
|
|
23
|
+
"revision": "beeos.runtime-message-channel.v2.0.0",
|
|
24
|
+
"rawSHA256": "bce5d070b29196ccdcae3769391e9eebcdcf375108f50b56906351c2f509a35c",
|
|
25
|
+
"jcsSHA256": "0b76a63df0cfcea19e098adf0c5a7a83361e287e68334c47a5619c73a036bf08"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "runtime-authority-ports",
|
|
29
|
+
"path": "openapi/runtime-authority-ports-v1.contract.json",
|
|
30
|
+
"revision": "beeos.runtime-authority-ports.v2.0.0",
|
|
31
|
+
"rawSHA256": "a2e9565ae617bcaeb4d837fe176a3602be041913d28a3f0a3a9ec2e3dae0d7b4",
|
|
32
|
+
"jcsSHA256": "3bd582f1f6babcdbe953a082faf813247c960f6bbf4c0f713e7fd92e27d163f5"
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
}
|