@relaymessenger/openclaw-plugin 0.4.1-staging.0 → 0.4.1-staging.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
@@ -161,8 +161,8 @@ durable ACK and idempotent REST reply.
161
161
 
162
162
  `contracts/relay-v1.lock.json` records the compatibility boundary used by this
163
163
  candidate: Relay Server commit
164
- `24c577e9802e07d6c61718ebca12e84d79113727`, OpenAPI SHA-256
165
- `cf83012c6b241e60323543adb7059b49954fbf3d59d4d1fd1817bbfa19d32cdd`,
164
+ `04c729e3e3b2249eb9cca93fbb09ee3dd5fd69a6`, OpenAPI SHA-256
165
+ `7d46b16f5dc19034cbdcb45bdd79816a9a2f4c9f6febb8520db0517dfe9eae64`,
166
166
  public `ChatHandle.image_url` and `ChatHandle.about` fields with no legacy
167
167
  aliases,
168
168
  and the exact `@relaymessenger/sdk@0.3.0-staging.8` registry integrity, source
@@ -171,8 +171,8 @@ frames consumed by the plugin.
171
171
 
172
172
  Public CI hashes the checked-in `contracts/relay-openapi.yaml` fixture and
173
173
  requires the locked digest above. Set `RELAY_SERVER_SOURCE_DIR` to an exact
174
- checkout of Server `24c577e9802e07d6c61718ebca12e84d79113727` to additionally prove
175
- that the fixture bytes match the committed source before packaging. The public Relay-SDK monorepo does not require credentials for the
174
+ checkout of the final Server commit (currently awaiting validation) to additionally
175
+ prove that the fixture bytes match committed source before packaging. The public Relay-SDK monorepo does not require credentials for the
176
176
  private Server source and does not overstate what npm metadata can attest.
177
177
 
178
178
  `contracts/relay-v1.lock.json` records the exact `@relaymessenger/sdk`
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "relayServer": {
3
3
  "repository": "RelayMessenger/Relay-Server",
4
- "commit": "24c577e9802e07d6c61718ebca12e84d79113727",
4
+ "commit": "04c729e3e3b2249eb9cca93fbb09ee3dd5fd69a6",
5
5
  "openapiPath": "contracts/developer/openapi.yaml",
6
- "sha256": "cf83012c6b241e60323543adb7059b49954fbf3d59d4d1fd1817bbfa19d32cdd"
6
+ "sha256": "7d46b16f5dc19034cbdcb45bdd79816a9a2f4c9f6febb8520db0517dfe9eae64"
7
7
  },
8
8
  "relaySdk": {
9
9
  "package": "@relaymessenger/sdk",
10
- "version": "0.3.1-staging.0",
11
- "integrity": "sha512-8yY4qSWSry6U5Qin0DDpZ0njIs4l3G2nFDy5UU96sZnusLPsa464+sgc2TXVS918INlfremD/W+ODtpqcK4oow==",
12
- "operationsSha256": "e25d720257c2dc5286dda6bd3936395c7d7f333bd3bbdc996d45c13ad49eee9a",
13
- "workspaceOpenapiSha256": "cf83012c6b241e60323543adb7059b49954fbf3d59d4d1fd1817bbfa19d32cdd",
10
+ "version": "0.3.1-staging.1",
11
+ "integrity": "sha512-wqg+3Cio8rxbRrqagknXKf7MChGwVEhQQJxXwSbl4H9gH42OkzhsAIZHBeCbsid+fB6uVZv5cF+JX5lghYxe2A==",
12
+ "operationsSha256": "e06b2f44366b57dc1b5385b5b1f76585576f5bf9600d4bbe15e49cfdfb394996",
13
+ "workspaceOpenapiSha256": "7d46b16f5dc19034cbdcb45bdd79816a9a2f4c9f6febb8520db0517dfe9eae64",
14
14
  "usedOperations": [
15
15
  {
16
16
  "method": "GET",
@@ -70,7 +70,11 @@ export async function dispatchRelayEvent(params) {
70
70
  identity: {
71
71
  key: "contactId",
72
72
  kind: "stable-id",
73
- entryIdPrefix: "relay-contact",
73
+ // OpenClaw expands each allowlist value into primary and alias entries.
74
+ // A prefix alone reuses one opaque ID across those fields, allowing the
75
+ // mutable handle entry to shadow the asserted Contact ID authentication.
76
+ // Keep field-qualified IDs; do not change the allowlist or alias policy.
77
+ resolveEntryId: ({ entryIndex, fieldKey }) => `relay-contact-${entryIndex + 1}:${fieldKey}`,
74
78
  aliases: [
75
79
  {
76
80
  key: "handle",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@relaymessenger/openclaw-plugin",
3
- "version": "0.4.1-staging.0",
3
+ "version": "0.4.1-staging.1",
4
4
  "description": "Native Relay channel plugin for OpenClaw",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -37,7 +37,7 @@
37
37
  "prepack": "npm run build"
38
38
  },
39
39
  "dependencies": {
40
- "@relaymessenger/sdk": "0.3.1-staging.0"
40
+ "@relaymessenger/sdk": "0.3.1-staging.1"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@types/node": "^26.0.0",
package/src/dispatch.ts CHANGED
@@ -132,7 +132,12 @@ export async function dispatchRelayEvent(params: {
132
132
  identity: {
133
133
  key: "contactId",
134
134
  kind: "stable-id",
135
- entryIdPrefix: "relay-contact",
135
+ // OpenClaw expands each allowlist value into primary and alias entries.
136
+ // A prefix alone reuses one opaque ID across those fields, allowing the
137
+ // mutable handle entry to shadow the asserted Contact ID authentication.
138
+ // Keep field-qualified IDs; do not change the allowlist or alias policy.
139
+ resolveEntryId: ({ entryIndex, fieldKey }) =>
140
+ `relay-contact-${entryIndex + 1}:${fieldKey}`,
136
141
  aliases: [
137
142
  {
138
143
  key: "handle",