@agentvault/agentvault 0.23.7 → 0.23.9
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/dist/channel.d.ts +36 -0
- package/dist/channel.d.ts.map +1 -1
- package/dist/cli.js +115 -5
- package/dist/cli.js.map +2 -2
- package/dist/index.js +115 -5
- package/dist/index.js.map +2 -2
- package/openclaw.plugin.json +1 -17
- package/package.json +1 -1
package/dist/channel.d.ts
CHANGED
|
@@ -358,6 +358,22 @@ export declare class SecureChannel extends EventEmitter {
|
|
|
358
358
|
* Leave a room: remove sessions and persisted room state.
|
|
359
359
|
*/
|
|
360
360
|
leaveRoom(roomId: string): Promise<void>;
|
|
361
|
+
/**
|
|
362
|
+
* #629 recurrence fix — reconcile local room state against the server on
|
|
363
|
+
* connect.
|
|
364
|
+
*
|
|
365
|
+
* On disband the server marks each member ``"left"`` and sets
|
|
366
|
+
* ``room.status="disbanded"`` but sends NO WS event to the agent's bridge, so a
|
|
367
|
+
* disbanded/left room lingers in local state and replays dead MLS commit
|
|
368
|
+
* history on every reconnect ("Desired gen in the past" / "invalid ghash tag").
|
|
369
|
+
* ``GET /rooms`` returns ONLY active rooms the caller is a member of, so any
|
|
370
|
+
* locally-persisted room ABSENT from it is terminal — prune its MLS state
|
|
371
|
+
* (file + in-memory group, keyed by roomId), its sessions, and the room entry.
|
|
372
|
+
*
|
|
373
|
+
* Fail-safe: a failed fetch / non-ok / non-array response prunes NOTHING, so a
|
|
374
|
+
* transient error can never over-prune a live room.
|
|
375
|
+
*/
|
|
376
|
+
private _reconcileRoomsWithServer;
|
|
361
377
|
/**
|
|
362
378
|
* Return info for all joined rooms.
|
|
363
379
|
*/
|
|
@@ -729,6 +745,26 @@ export declare class SecureChannel extends EventEmitter {
|
|
|
729
745
|
* re-enrollment, which SHOULD wipe creds, goes through setup --force /
|
|
730
746
|
* _forceReEnroll in start().
|
|
731
747
|
*/
|
|
748
|
+
/**
|
|
749
|
+
* Handle a WS `connection_rejected` event.
|
|
750
|
+
*
|
|
751
|
+
* The server accepts the WS upgrade, then — for a device it will not serve —
|
|
752
|
+
* emits `{event:"connection_rejected", reason, retryable}` and closes with
|
|
753
|
+
* code 4403. `retryable:false` (e.g. `device_revoked`) is a TERMINAL
|
|
754
|
+
* credential failure: retrying can only reconnect, get rejected, and close
|
|
755
|
+
* again. Left unhandled, that generic close drove the reconnect classifier
|
|
756
|
+
* into "reconnect loop detected", which the bridge treats as a restartable
|
|
757
|
+
* exit — so launchd/systemd relaunched us every ~30s to hammer the backend
|
|
758
|
+
* with the same rejected handshake (empirically ~1150 rejects / 2h).
|
|
759
|
+
*
|
|
760
|
+
* So we route a non-retryable rejection to the SAME `auth_failed` surface the
|
|
761
|
+
* proactive/reactive reissue paths use (see channel.ts emit sites). The
|
|
762
|
+
* bridge wires `auth_failed` to a clean exit(0) (packages/claude-room-bridge
|
|
763
|
+
* /src/bridge.ts), so launchd stops relaunching. Mirrors those emitters:
|
|
764
|
+
* emit only + mark the session; the consumer decides how to stop. A
|
|
765
|
+
* `retryable` rejection is transient — fall through to a normal reconnect.
|
|
766
|
+
*/
|
|
767
|
+
private _handleConnectionRejected;
|
|
732
768
|
private _handleDeviceRevoked;
|
|
733
769
|
/**
|
|
734
770
|
* Persist all ratchet session states to disk.
|
package/dist/channel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../src/channel.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -64793,7 +64793,7 @@ var init_channel = __esm({
|
|
|
64793
64793
|
*/
|
|
64794
64794
|
sendActivitySpan(spanData) {
|
|
64795
64795
|
if (!this._ws || this._ws.readyState !== WebSocket.OPEN) return;
|
|
64796
|
-
const pluginVersion = true ? "0.23.
|
|
64796
|
+
const pluginVersion = true ? "0.23.9" : "0.0.0-dev";
|
|
64797
64797
|
const agentName = this.config.agentName ?? "Agent";
|
|
64798
64798
|
const resource = {
|
|
64799
64799
|
"service.name": "agentvault-agent",
|
|
@@ -65034,10 +65034,76 @@ var init_channel = __esm({
|
|
|
65034
65034
|
this._sessions.delete(convId);
|
|
65035
65035
|
delete this._persisted.sessions[convId];
|
|
65036
65036
|
}
|
|
65037
|
+
if (room.mlsGroupId) {
|
|
65038
|
+
try {
|
|
65039
|
+
await deleteMlsState(this.config.dataDir, room.mlsGroupId);
|
|
65040
|
+
} catch {
|
|
65041
|
+
}
|
|
65042
|
+
}
|
|
65043
|
+
this._mlsGroups.delete(roomId);
|
|
65037
65044
|
delete this._persisted.rooms[roomId];
|
|
65038
65045
|
await this._persistState();
|
|
65039
65046
|
this.emit("room_left", { roomId });
|
|
65040
65047
|
}
|
|
65048
|
+
/**
|
|
65049
|
+
* #629 recurrence fix — reconcile local room state against the server on
|
|
65050
|
+
* connect.
|
|
65051
|
+
*
|
|
65052
|
+
* On disband the server marks each member ``"left"`` and sets
|
|
65053
|
+
* ``room.status="disbanded"`` but sends NO WS event to the agent's bridge, so a
|
|
65054
|
+
* disbanded/left room lingers in local state and replays dead MLS commit
|
|
65055
|
+
* history on every reconnect ("Desired gen in the past" / "invalid ghash tag").
|
|
65056
|
+
* ``GET /rooms`` returns ONLY active rooms the caller is a member of, so any
|
|
65057
|
+
* locally-persisted room ABSENT from it is terminal — prune its MLS state
|
|
65058
|
+
* (file + in-memory group, keyed by roomId), its sessions, and the room entry.
|
|
65059
|
+
*
|
|
65060
|
+
* Fail-safe: a failed fetch / non-ok / non-array response prunes NOTHING, so a
|
|
65061
|
+
* transient error can never over-prune a live room.
|
|
65062
|
+
*/
|
|
65063
|
+
async _reconcileRoomsWithServer() {
|
|
65064
|
+
const local = this._persisted?.rooms;
|
|
65065
|
+
if (!local || Object.keys(local).length === 0) return;
|
|
65066
|
+
if (!this._deviceJwt) return;
|
|
65067
|
+
let activeIds;
|
|
65068
|
+
try {
|
|
65069
|
+
const res = await fetch(`${this.config.apiUrl}/api/v1/rooms`, {
|
|
65070
|
+
headers: { Authorization: `Bearer ${this._deviceJwt}` }
|
|
65071
|
+
});
|
|
65072
|
+
if (!res.ok) return;
|
|
65073
|
+
const list = await res.json();
|
|
65074
|
+
if (!Array.isArray(list)) return;
|
|
65075
|
+
activeIds = new Set(
|
|
65076
|
+
list.map((r2) => r2?.id).filter((id) => !!id)
|
|
65077
|
+
);
|
|
65078
|
+
} catch (err) {
|
|
65079
|
+
console.warn(
|
|
65080
|
+
`[SecureChannel] room reconcile skipped (fetch failed, pruning nothing): ${err instanceof Error ? err.message : String(err)}`
|
|
65081
|
+
);
|
|
65082
|
+
return;
|
|
65083
|
+
}
|
|
65084
|
+
const stale = Object.keys(local).filter((rid) => !activeIds.has(rid));
|
|
65085
|
+
if (stale.length === 0) return;
|
|
65086
|
+
for (const rid of stale) {
|
|
65087
|
+
const room = local[rid];
|
|
65088
|
+
if (room?.mlsGroupId) {
|
|
65089
|
+
try {
|
|
65090
|
+
await deleteMlsState(this.config.dataDir, room.mlsGroupId);
|
|
65091
|
+
} catch {
|
|
65092
|
+
}
|
|
65093
|
+
}
|
|
65094
|
+
this._mlsGroups.delete(rid);
|
|
65095
|
+
for (const convId of room?.conversationIds ?? []) {
|
|
65096
|
+
this._sessions.delete(convId);
|
|
65097
|
+
if (this._persisted?.sessions) delete this._persisted.sessions[convId];
|
|
65098
|
+
}
|
|
65099
|
+
delete local[rid];
|
|
65100
|
+
}
|
|
65101
|
+
await this._persistState();
|
|
65102
|
+
console.log(
|
|
65103
|
+
`[SecureChannel] Room reconcile: pruned ${stale.length} disbanded/left room(s) from local state (${stale.map((r2) => r2.slice(0, 8)).join(", ")})`
|
|
65104
|
+
);
|
|
65105
|
+
this.emit("rooms_reconciled", { pruned: stale });
|
|
65106
|
+
}
|
|
65041
65107
|
/**
|
|
65042
65108
|
* Return info for all joined rooms.
|
|
65043
65109
|
*/
|
|
@@ -66388,6 +66454,9 @@ var init_channel = __esm({
|
|
|
66388
66454
|
await this._pullDrDeliveryQueue();
|
|
66389
66455
|
await this._flushOutboundQueue();
|
|
66390
66456
|
this._setState("ready");
|
|
66457
|
+
void this._reconcileRoomsWithServer().catch(
|
|
66458
|
+
(err) => console.warn(`[SecureChannel] room reconcile failed (ignored): ${err instanceof Error ? err.message : String(err)}`)
|
|
66459
|
+
);
|
|
66391
66460
|
if (this.config.enableScanning) {
|
|
66392
66461
|
this._scanEngine = new ScanEngine();
|
|
66393
66462
|
await this._fetchScanRules();
|
|
@@ -66410,7 +66479,7 @@ var init_channel = __esm({
|
|
|
66410
66479
|
agentVersion: this.config.agentVersion ?? "0.0.0",
|
|
66411
66480
|
// __AV_VERSION__ is injected by esbuild from package.json at build time.
|
|
66412
66481
|
// Falls back to "0.0.0-dev" in non-bundled contexts (tests).
|
|
66413
|
-
pluginVersion: true ? "0.23.
|
|
66482
|
+
pluginVersion: true ? "0.23.9" : "0.0.0-dev"
|
|
66414
66483
|
});
|
|
66415
66484
|
this._telemetryReporter.startAutoFlush(3e4);
|
|
66416
66485
|
}
|
|
@@ -66489,6 +66558,10 @@ var init_channel = __esm({
|
|
|
66489
66558
|
await this._handleDeviceRevoked();
|
|
66490
66559
|
return;
|
|
66491
66560
|
}
|
|
66561
|
+
if (data.event === "connection_rejected") {
|
|
66562
|
+
await this._handleConnectionRejected(data);
|
|
66563
|
+
return;
|
|
66564
|
+
}
|
|
66492
66565
|
if (data.event === "device_linked") {
|
|
66493
66566
|
await this._handleDeviceLinked(data.data);
|
|
66494
66567
|
return;
|
|
@@ -66662,6 +66735,7 @@ var init_channel = __esm({
|
|
|
66662
66735
|
if (data.event === "arming_snapshot") {
|
|
66663
66736
|
this.emit("arming_snapshot", {
|
|
66664
66737
|
workAllowed: data.data?.work_allowed === true,
|
|
66738
|
+
gatesRemoved: data.data?.gates_removed === true,
|
|
66665
66739
|
roomIds: data.data?.room_ids ?? []
|
|
66666
66740
|
});
|
|
66667
66741
|
}
|
|
@@ -66723,7 +66797,7 @@ var init_channel = __esm({
|
|
|
66723
66797
|
agentVersion: this.config.agentVersion ?? "0.0.0",
|
|
66724
66798
|
// __AV_VERSION__ is injected by esbuild from package.json at build time.
|
|
66725
66799
|
// Falls back to "0.0.0-dev" in non-bundled contexts (tests).
|
|
66726
|
-
pluginVersion: true ? "0.23.
|
|
66800
|
+
pluginVersion: true ? "0.23.9" : "0.0.0-dev"
|
|
66727
66801
|
});
|
|
66728
66802
|
this._telemetryReporter.startAutoFlush(3e4);
|
|
66729
66803
|
}
|
|
@@ -68033,7 +68107,12 @@ ${messageText}`;
|
|
|
68033
68107
|
senderName: senderLabel,
|
|
68034
68108
|
plaintext: messageText,
|
|
68035
68109
|
messageType,
|
|
68036
|
-
timestamp: data.created_at ?? (/* @__PURE__ */ new Date()).toISOString()
|
|
68110
|
+
timestamp: data.created_at ?? (/* @__PURE__ */ new Date()).toISOString(),
|
|
68111
|
+
// Native bridge (claude-room-bridge) consumes this to decide reply
|
|
68112
|
+
// expectation: a human/owner speaking in a room always expects a reply,
|
|
68113
|
+
// an agent does not. Derived from the room roster (line ~5394) — the same
|
|
68114
|
+
// signal the OpenClaw mention-filter uses for loop prevention.
|
|
68115
|
+
senderIsAgent
|
|
68037
68116
|
});
|
|
68038
68117
|
const contextualMessage = senderIsAgent ? messageText : `[${senderLabel}]: ${messageText}`;
|
|
68039
68118
|
Promise.resolve(this.config.onMessage?.(contextualMessage, metadata)).catch((err) => {
|
|
@@ -69910,6 +69989,37 @@ ${messageText}`;
|
|
|
69910
69989
|
* re-enrollment, which SHOULD wipe creds, goes through setup --force /
|
|
69911
69990
|
* _forceReEnroll in start().
|
|
69912
69991
|
*/
|
|
69992
|
+
/**
|
|
69993
|
+
* Handle a WS `connection_rejected` event.
|
|
69994
|
+
*
|
|
69995
|
+
* The server accepts the WS upgrade, then — for a device it will not serve —
|
|
69996
|
+
* emits `{event:"connection_rejected", reason, retryable}` and closes with
|
|
69997
|
+
* code 4403. `retryable:false` (e.g. `device_revoked`) is a TERMINAL
|
|
69998
|
+
* credential failure: retrying can only reconnect, get rejected, and close
|
|
69999
|
+
* again. Left unhandled, that generic close drove the reconnect classifier
|
|
70000
|
+
* into "reconnect loop detected", which the bridge treats as a restartable
|
|
70001
|
+
* exit — so launchd/systemd relaunched us every ~30s to hammer the backend
|
|
70002
|
+
* with the same rejected handshake (empirically ~1150 rejects / 2h).
|
|
70003
|
+
*
|
|
70004
|
+
* So we route a non-retryable rejection to the SAME `auth_failed` surface the
|
|
70005
|
+
* proactive/reactive reissue paths use (see channel.ts emit sites). The
|
|
70006
|
+
* bridge wires `auth_failed` to a clean exit(0) (packages/claude-room-bridge
|
|
70007
|
+
* /src/bridge.ts), so launchd stops relaunching. Mirrors those emitters:
|
|
70008
|
+
* emit only + mark the session; the consumer decides how to stop. A
|
|
70009
|
+
* `retryable` rejection is transient — fall through to a normal reconnect.
|
|
70010
|
+
*/
|
|
70011
|
+
async _handleConnectionRejected(data) {
|
|
70012
|
+
if (data?.retryable === true) {
|
|
70013
|
+
this._scheduleReconnect();
|
|
70014
|
+
return;
|
|
70015
|
+
}
|
|
70016
|
+
this._authFailedThisSession = true;
|
|
70017
|
+
const authReason = data?.reason === "device_jwt_expired" ? "device_jwt_expired" : "device_revoked";
|
|
70018
|
+
console.warn(
|
|
70019
|
+
`[SecureChannel] connection_rejected (reason=${data?.reason ?? "unknown"}, retryable=false) \u2014 terminal; surfacing auth_failed`
|
|
70020
|
+
);
|
|
70021
|
+
this.emit("auth_failed", { reason: authReason });
|
|
70022
|
+
}
|
|
69913
70023
|
async _handleDeviceRevoked() {
|
|
69914
70024
|
const now = Date.now();
|
|
69915
70025
|
this._revokeRecoveries = this._revokeRecoveries.filter(
|
|
@@ -90813,7 +90923,7 @@ var init_index = __esm({
|
|
|
90813
90923
|
init_skill_invoker();
|
|
90814
90924
|
await init_skill_telemetry();
|
|
90815
90925
|
await init_policy_enforcer();
|
|
90816
|
-
VERSION = true ? "0.23.
|
|
90926
|
+
VERSION = true ? "0.23.9" : "0.0.0-dev";
|
|
90817
90927
|
}
|
|
90818
90928
|
});
|
|
90819
90929
|
|