@agentvault/agentvault 0.20.22 → 0.20.23

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/index.js CHANGED
@@ -63639,6 +63639,9 @@ var init_channel = __esm({
63639
63639
  _mlsKeyPackage = null;
63640
63640
  /** Pending KeyPackage bundle from request-Welcome flow (used by _handleMlsWelcome). */
63641
63641
  _pendingMlsKpBundle;
63642
+ /** Channels that have already had their sync fallback KeyPackage published this connect cycle.
63643
+ * Prevents multiple agents from overwriting each other's KP for the same channel. */
63644
+ _pendingWelcomeChannels = /* @__PURE__ */ new Set();
63642
63645
  /** In-memory credential store for renter-provided credentials (never persisted). */
63643
63646
  _credentialStore = new CredentialStore();
63644
63647
  /** Dedup buffer for A2A message IDs (prevents double-delivery via direct + Redis) */
@@ -65199,7 +65202,8 @@ var init_channel = __esm({
65199
65202
  }
65200
65203
  }
65201
65204
  const memberMlsGroup = chState.mlsGroupId ? this._mlsGroups.get(`a2a:${chId}`) : void 0;
65202
- if (chState.role === "member" && !memberMlsGroup?.isInitialized) {
65205
+ if (chState.role === "member" && !memberMlsGroup?.isInitialized && !this._pendingWelcomeChannels.has(chId)) {
65206
+ this._pendingWelcomeChannels.add(chId);
65203
65207
  try {
65204
65208
  let groupId = chState.mlsGroupId;
65205
65209
  let memberIds = [];
@@ -66111,6 +66115,7 @@ var init_channel = __esm({
66111
66115
  clearInterval(this._deliveryHeartbeat);
66112
66116
  this._deliveryHeartbeat = null;
66113
66117
  }
66118
+ this._pendingWelcomeChannels.clear();
66114
66119
  if (this._stopped) return;
66115
66120
  this._setState("disconnected");
66116
66121
  this._scheduleReconnect();
@@ -67142,6 +67147,8 @@ ${messageText}`;
67142
67147
  this._mlsGroups.set(`a2a:${channelId}`, mgr);
67143
67148
  await saveMlsState(this.config.dataDir, groupId, JSON.stringify(mgr.exportState()));
67144
67149
  await this._persistState();
67150
+ this._pendingWelcomeChannels.delete(channelId);
67151
+ this._pendingMlsKpBundle = void 0;
67145
67152
  console.log(`[SecureChannel] Joined MLS group for A2A ${channelId.slice(0, 8)} via Welcome (epoch=${mgr.epoch})`);
67146
67153
  if (this.config.onA2AChannelReady && entry.conversationId) {
67147
67154
  const firstPeer = entry.participants?.find((p2) => p2.status === "active" || p2.status === "invited");
@@ -94807,7 +94814,7 @@ var init_index = __esm({
94807
94814
  init_skill_invoker();
94808
94815
  await init_skill_telemetry();
94809
94816
  await init_policy_enforcer();
94810
- VERSION = true ? "0.20.22" : "0.0.0-dev";
94817
+ VERSION = true ? "0.20.23" : "0.0.0-dev";
94811
94818
  }
94812
94819
  });
94813
94820
  await init_index();