@agentvault/agentvault 0.13.6 → 0.13.7

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.
@@ -14,7 +14,6 @@ export interface ResolvedAccount {
14
14
  agentName: string;
15
15
  httpPort: number;
16
16
  configured: boolean;
17
- inviteToken: string;
18
17
  }
19
18
  export declare function listAccountIds(cfg: any): string[];
20
19
  export declare function resolveAccount(cfg: any, accountId?: string): ResolvedAccount;
@@ -1 +1 @@
1
- {"version":3,"file":"account-config.d.ts","sourceRoot":"","sources":["../src/account-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,CAOjD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe,CA6C5E"}
1
+ {"version":3,"file":"account-config.d.ts","sourceRoot":"","sources":["../src/account-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,CAOjD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,eAAe,CA0C5E"}
package/dist/channel.d.ts CHANGED
@@ -105,6 +105,8 @@ export declare class SecureChannel extends EventEmitter {
105
105
  */
106
106
  sendToRoom(roomId: string, plaintext: string, opts?: {
107
107
  messageType?: string;
108
+ priority?: string;
109
+ metadata?: Record<string, unknown>;
108
110
  }): Promise<void>;
109
111
  /**
110
112
  * Leave a room: remove sessions and persisted room state.
@@ -129,6 +131,13 @@ export declare class SecureChannel extends EventEmitter {
129
131
  decisionId?: string;
130
132
  detail?: string;
131
133
  }): Promise<void>;
134
+ sendActionConfirmationToRoom(roomId: string, confirmation: {
135
+ action: string;
136
+ status: "completed" | "failed" | "partial";
137
+ decisionId?: string;
138
+ detail?: string;
139
+ estimated_cost?: number;
140
+ }): Promise<void>;
132
141
  private _sendHeartbeat;
133
142
  stop(): Promise<void>;
134
143
  startHttpServer(port: number): void;
@@ -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
@@ -45540,7 +45540,7 @@ var init_crypto_helpers = __esm({
45540
45540
  });
45541
45541
 
45542
45542
  // src/state.ts
45543
- import { mkdir, readFile, rm, writeFile } from "node:fs/promises";
45543
+ import { mkdir, readFile, rename, rm, writeFile } from "node:fs/promises";
45544
45544
  import { join } from "node:path";
45545
45545
  async function saveState(dataDir2, state) {
45546
45546
  await mkdir(dataDir2, { recursive: true });
@@ -45570,6 +45570,44 @@ async function loadState(dataDir2) {
45570
45570
  return null;
45571
45571
  }
45572
45572
  }
45573
+ async function isStateValid(dataDir2) {
45574
+ try {
45575
+ const filePath = join(dataDir2, STATE_FILE);
45576
+ const raw = await readFile(filePath, "utf-8");
45577
+ const parsed = JSON.parse(raw);
45578
+ return !!(parsed && parsed.deviceId && parsed.deviceJwt && parsed.sessions && Object.keys(parsed.sessions).length > 0);
45579
+ } catch {
45580
+ return false;
45581
+ }
45582
+ }
45583
+ async function backupState(dataDir2) {
45584
+ const src = join(dataDir2, STATE_FILE);
45585
+ const bak = join(dataDir2, `${STATE_FILE}.bak`);
45586
+ const tmp = join(dataDir2, `${STATE_FILE}.bak.tmp`);
45587
+ try {
45588
+ const data = await readFile(src, "utf-8");
45589
+ await writeFile(tmp, data, "utf-8");
45590
+ await rename(tmp, bak);
45591
+ } catch {
45592
+ }
45593
+ }
45594
+ async function restoreState(dataDir2) {
45595
+ const primaryValid = await isStateValid(dataDir2);
45596
+ if (primaryValid) return false;
45597
+ const bak = join(dataDir2, `${STATE_FILE}.bak`);
45598
+ try {
45599
+ const data = await readFile(bak, "utf-8");
45600
+ const parsed = JSON.parse(data);
45601
+ if (!parsed || !parsed.deviceId || !parsed.deviceJwt || !parsed.sessions || Object.keys(parsed.sessions).length === 0) {
45602
+ return false;
45603
+ }
45604
+ await mkdir(dataDir2, { recursive: true });
45605
+ await writeFile(join(dataDir2, STATE_FILE), data, "utf-8");
45606
+ return true;
45607
+ } catch {
45608
+ return false;
45609
+ }
45610
+ }
45573
45611
  async function clearState(dataDir2) {
45574
45612
  for (const filename of [STATE_FILE, LEGACY_STATE_FILE]) {
45575
45613
  try {
@@ -45753,6 +45791,7 @@ var init_channel = __esm({
45753
45791
  await libsodium_wrappers_default.ready;
45754
45792
  const raw = await loadState(this.config.dataDir);
45755
45793
  if (raw) {
45794
+ await backupState(this.config.dataDir);
45756
45795
  this._persisted = migratePersistedState(raw);
45757
45796
  if (!this._persisted.messageHistory) {
45758
45797
  this._persisted.messageHistory = [];
@@ -45776,6 +45815,30 @@ var init_channel = __esm({
45776
45815
  this._connect();
45777
45816
  return;
45778
45817
  }
45818
+ const restored = await restoreState(this.config.dataDir);
45819
+ if (restored) {
45820
+ console.log("[SecureChannel] Restored state from backup");
45821
+ const restoredRaw = await loadState(this.config.dataDir);
45822
+ if (restoredRaw) {
45823
+ this._persisted = migratePersistedState(restoredRaw);
45824
+ if (!this._persisted.messageHistory) this._persisted.messageHistory = [];
45825
+ this._deviceId = this._persisted.deviceId;
45826
+ this._deviceJwt = this._persisted.deviceJwt;
45827
+ this._primaryConversationId = this._persisted.primaryConversationId;
45828
+ this._fingerprint = this._persisted.fingerprint;
45829
+ for (const [convId, sd] of Object.entries(this._persisted.sessions)) {
45830
+ if (sd.ratchetState) {
45831
+ this._sessions.set(convId, {
45832
+ ownerDeviceId: sd.ownerDeviceId,
45833
+ ratchet: DoubleRatchet.deserialize(sd.ratchetState),
45834
+ activated: sd.activated ?? false
45835
+ });
45836
+ }
45837
+ }
45838
+ this._connect();
45839
+ return;
45840
+ }
45841
+ }
45779
45842
  await this._enroll();
45780
45843
  }
45781
45844
  /**
@@ -46122,7 +46185,9 @@ var init_channel = __esm({
46122
46185
  data: {
46123
46186
  room_id: roomId,
46124
46187
  recipients,
46125
- message_type: messageType
46188
+ message_type: messageType,
46189
+ priority: opts?.priority ?? "normal",
46190
+ metadata: opts?.metadata
46126
46191
  }
46127
46192
  })
46128
46193
  );
@@ -46136,7 +46201,12 @@ var init_channel = __esm({
46136
46201
  "Content-Type": "application/json",
46137
46202
  Authorization: `Bearer ${this._deviceJwt}`
46138
46203
  },
46139
- body: JSON.stringify({ recipients, message_type: messageType })
46204
+ body: JSON.stringify({
46205
+ recipients,
46206
+ message_type: messageType,
46207
+ priority: opts?.priority ?? "normal",
46208
+ metadata: opts?.metadata
46209
+ })
46140
46210
  }
46141
46211
  );
46142
46212
  if (!res.ok) {
@@ -46281,6 +46351,27 @@ var init_channel = __esm({
46281
46351
  }
46282
46352
  );
46283
46353
  }
46354
+ async sendActionConfirmationToRoom(roomId, confirmation) {
46355
+ const envelope = {
46356
+ type: "action_confirmation",
46357
+ action: confirmation.action,
46358
+ status: confirmation.status
46359
+ };
46360
+ if (confirmation.decisionId !== void 0) envelope.decision_id = confirmation.decisionId;
46361
+ if (confirmation.detail !== void 0) envelope.detail = confirmation.detail;
46362
+ const metadata = {
46363
+ action: confirmation.action,
46364
+ status: confirmation.status
46365
+ };
46366
+ if (confirmation.estimated_cost !== void 0) {
46367
+ metadata.estimated_cost = confirmation.estimated_cost;
46368
+ }
46369
+ await this.sendToRoom(roomId, JSON.stringify(envelope), {
46370
+ messageType: "action_confirmation",
46371
+ priority: "high",
46372
+ metadata
46373
+ });
46374
+ }
46284
46375
  _sendHeartbeat() {
46285
46376
  if (this._state !== "ready" || !this._heartbeatCallback) return;
46286
46377
  const status = this._heartbeatCallback();
@@ -46355,10 +46446,52 @@ var init_channel = __esm({
46355
46446
  res.end(JSON.stringify({ ok: false, error: "Missing 'text' field" }));
46356
46447
  return;
46357
46448
  }
46358
- if (parsed.file_path && typeof parsed.file_path === "string") {
46449
+ if (parsed.room_id && typeof parsed.room_id === "string") {
46450
+ await this.sendToRoom(parsed.room_id, text, {
46451
+ messageType: parsed.message_type,
46452
+ priority: parsed.priority,
46453
+ metadata: parsed.metadata
46454
+ });
46455
+ } else if (parsed.file_path && typeof parsed.file_path === "string") {
46359
46456
  await this.sendWithAttachment(text, parsed.file_path, { topicId: parsed.topicId });
46360
46457
  } else {
46361
- await this.send(text, { topicId: parsed.topicId });
46458
+ await this.send(text, {
46459
+ topicId: parsed.topicId,
46460
+ messageType: parsed.message_type,
46461
+ metadata: parsed.metadata
46462
+ });
46463
+ }
46464
+ res.writeHead(200, { "Content-Type": "application/json" });
46465
+ res.end(JSON.stringify({ ok: true }));
46466
+ } catch (err) {
46467
+ res.writeHead(500, { "Content-Type": "application/json" });
46468
+ res.end(JSON.stringify({ ok: false, error: String(err) }));
46469
+ }
46470
+ });
46471
+ } else if (req.method === "POST" && req.url === "/action") {
46472
+ let body = "";
46473
+ req.on("data", (chunk) => {
46474
+ body += chunk.toString();
46475
+ });
46476
+ req.on("end", async () => {
46477
+ try {
46478
+ const parsed = JSON.parse(body);
46479
+ if (!parsed.action || typeof parsed.action !== "string") {
46480
+ res.writeHead(400, { "Content-Type": "application/json" });
46481
+ res.end(JSON.stringify({ ok: false, error: "Missing 'action' field" }));
46482
+ return;
46483
+ }
46484
+ const confirmation = {
46485
+ action: parsed.action,
46486
+ status: parsed.status ?? "completed",
46487
+ decisionId: parsed.decision_id,
46488
+ detail: parsed.detail,
46489
+ estimated_cost: parsed.estimated_cost
46490
+ };
46491
+ if (parsed.room_id && typeof parsed.room_id === "string") {
46492
+ await this.sendActionConfirmationToRoom(parsed.room_id, confirmation);
46493
+ } else {
46494
+ await this.sendActionConfirmation(confirmation);
46362
46495
  }
46363
46496
  res.writeHead(200, { "Content-Type": "application/json" });
46364
46497
  res.end(JSON.stringify({ ok: true }));
@@ -46377,7 +46510,7 @@ var init_channel = __esm({
46377
46510
  }));
46378
46511
  } else {
46379
46512
  res.writeHead(404, { "Content-Type": "application/json" });
46380
- res.end(JSON.stringify({ ok: false, error: "Not found. Use POST /send or GET /status" }));
46513
+ res.end(JSON.stringify({ ok: false, error: "Not found. Use POST /send, POST /action, or GET /status" }));
46381
46514
  }
46382
46515
  });
46383
46516
  this._httpServer.listen(port, "127.0.0.1", () => {
@@ -47171,7 +47304,15 @@ var init_channel = __esm({
47171
47304
  nonce: hexToBytes(msgData.nonce)
47172
47305
  };
47173
47306
  const ratchet = DoubleRatchet.deserialize(channelEntry.session.ratchetState);
47174
- const plaintext = ratchet.decrypt(encryptedMessage);
47307
+ const ratchetSnapshot = channelEntry.session.ratchetState;
47308
+ let a2aPlaintext;
47309
+ try {
47310
+ a2aPlaintext = ratchet.decrypt(encryptedMessage);
47311
+ } catch (decryptErr) {
47312
+ console.error(`[SecureChannel] A2A decrypt failed \u2014 restoring ratchet state:`, decryptErr);
47313
+ channelEntry.session.ratchetState = ratchetSnapshot;
47314
+ return;
47315
+ }
47175
47316
  channelEntry.session.ratchetState = ratchet.serialize();
47176
47317
  if (channelEntry.role === "responder" && !channelEntry.session.activated) {
47177
47318
  channelEntry.session.activated = true;
@@ -47194,7 +47335,7 @@ var init_channel = __esm({
47194
47335
  }
47195
47336
  await this._persistState();
47196
47337
  const a2aMsg = {
47197
- text: plaintext,
47338
+ text: a2aPlaintext,
47198
47339
  fromHubAddress: msgData.from_hub_address || msgData.hub_address || "",
47199
47340
  channelId,
47200
47341
  conversationId: msgData.conversation_id || "",
@@ -47265,7 +47406,19 @@ var init_channel = __esm({
47265
47406
  header_blob: msgData.header_blob,
47266
47407
  ciphertext: msgData.ciphertext
47267
47408
  });
47268
- const plaintext = session.ratchet.decrypt(encrypted);
47409
+ const ratchetSnapshot = session.ratchet.serialize();
47410
+ let plaintext;
47411
+ try {
47412
+ plaintext = session.ratchet.decrypt(encrypted);
47413
+ } catch (decryptErr) {
47414
+ console.error(`[SecureChannel] Decrypt failed for conv ${convId.slice(0, 8)}... \u2014 restoring ratchet:`, decryptErr);
47415
+ try {
47416
+ session.ratchet = DoubleRatchet.deserialize(ratchetSnapshot);
47417
+ } catch (restoreErr) {
47418
+ console.error("[SecureChannel] Ratchet restore failed:", restoreErr);
47419
+ }
47420
+ return;
47421
+ }
47269
47422
  this._sendAck(msgData.message_id);
47270
47423
  if (!session.activated) {
47271
47424
  session.activated = true;
@@ -47653,9 +47806,14 @@ ${messageText}`;
47653
47806
  ciphertext: msgData.ciphertext
47654
47807
  });
47655
47808
  let plaintext;
47809
+ const ratchetSnapshot = session.ratchet.serialize();
47656
47810
  try {
47657
47811
  plaintext = session.ratchet.decrypt(encrypted);
47658
47812
  } catch (decryptErr) {
47813
+ try {
47814
+ session.ratchet = DoubleRatchet.deserialize(ratchetSnapshot);
47815
+ } catch {
47816
+ }
47659
47817
  console.warn(
47660
47818
  `[SecureChannel] Room decrypt failed for conv ${convId.slice(0, 8)}...: ${String(decryptErr)}, re-initializing ratchet`
47661
47819
  );
@@ -47801,7 +47959,20 @@ ${messageText}`;
47801
47959
  header_blob: msg.header_blob,
47802
47960
  ciphertext: msg.ciphertext
47803
47961
  });
47804
- const plaintext = session.ratchet.decrypt(encrypted);
47962
+ const ratchetSnapshot = session.ratchet.serialize();
47963
+ let plaintext;
47964
+ try {
47965
+ plaintext = session.ratchet.decrypt(encrypted);
47966
+ } catch (decryptErr) {
47967
+ console.error(`[SecureChannel] Sync decrypt failed for ${msg.conversation_id.slice(0, 8)}... \u2014 restoring ratchet:`, decryptErr);
47968
+ try {
47969
+ session.ratchet = DoubleRatchet.deserialize(ratchetSnapshot);
47970
+ } catch {
47971
+ }
47972
+ this._persisted.lastMessageTimestamp = msg.created_at;
47973
+ since = msg.created_at;
47974
+ continue;
47975
+ }
47805
47976
  this._sendAck(msg.id);
47806
47977
  if (!session.activated) {
47807
47978
  session.activated = true;
@@ -47836,7 +48007,7 @@ ${messageText}`;
47836
48007
  totalProcessed++;
47837
48008
  } catch (err) {
47838
48009
  console.warn(
47839
- `[SecureChannel] Sync decrypt failed for msg ${msg.id.slice(0, 8)}... in conv ${msg.conversation_id.slice(0, 8)}...: ${String(err)}`
48010
+ `[SecureChannel] Sync failed for msg ${msg.id.slice(0, 8)}... in conv ${msg.conversation_id.slice(0, 8)}...: ${String(err)}`
47840
48011
  );
47841
48012
  this._persisted.lastMessageTimestamp = msg.created_at;
47842
48013
  since = msg.created_at;
@@ -48032,7 +48203,18 @@ ${messageText}`;
48032
48203
  header_blob: msg.header_blob,
48033
48204
  ciphertext: msg.ciphertext
48034
48205
  });
48035
- const plaintext = session.ratchet.decrypt(encrypted);
48206
+ const ratchetSnapshot = session.ratchet.serialize();
48207
+ let plaintext;
48208
+ try {
48209
+ plaintext = session.ratchet.decrypt(encrypted);
48210
+ } catch (decryptErr) {
48211
+ console.error(`[SecureChannel] Room sync decrypt failed for ${msg.conversation_id.slice(0, 8)}... \u2014 restoring ratchet:`, decryptErr);
48212
+ try {
48213
+ session.ratchet = DoubleRatchet.deserialize(ratchetSnapshot);
48214
+ } catch {
48215
+ }
48216
+ continue;
48217
+ }
48036
48218
  if (!session.activated) {
48037
48219
  session.activated = true;
48038
48220
  }
@@ -48112,6 +48294,7 @@ ${messageText}`;
48112
48294
  };
48113
48295
  }
48114
48296
  await saveState(this.config.dataDir, this._persisted);
48297
+ await backupState(this.config.dataDir);
48115
48298
  }
48116
48299
  };
48117
48300
  }
@@ -48204,7 +48387,7 @@ var init_index = __esm({
48204
48387
  init_account_config();
48205
48388
  await init_openclaw_plugin();
48206
48389
  init_gateway_send();
48207
- VERSION = "0.11.0";
48390
+ VERSION = "0.13.7";
48208
48391
  }
48209
48392
  });
48210
48393
 
@@ -48221,6 +48404,14 @@ import { resolve } from "node:path";
48221
48404
  async function runSetupCommand(options) {
48222
48405
  const { token: token2, name: name2, apiUrl: apiUrl2 } = options;
48223
48406
  const dataDir2 = resolve(options.dataDir.replace(/^~/, process.env.HOME ?? "~"));
48407
+ const alreadyEnrolled = await isStateValid(dataDir2);
48408
+ if (alreadyEnrolled && !options.force) {
48409
+ console.log(`
48410
+ Already enrolled (state in ${dataDir2}).
48411
+ Re-enroll with --force, or update plugin with: openclaw plugins update agentvault
48412
+ `);
48413
+ return;
48414
+ }
48224
48415
  console.log(`
48225
48416
  \u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557
48226
48417
  \u2551 AgentVault \u2014 First-Time Setup \u2551
@@ -48424,16 +48615,12 @@ function installPlugin(env) {
48424
48615
  const installedVersion = versionMatch?.[1];
48425
48616
  if (installedVersion && installedVersion !== VERSION) {
48426
48617
  console.log(` Updating plugin ${installedVersion} \u2192 ${VERSION}...`);
48427
- spawnSync("openclaw", ["plugins", "uninstall", "agentvault"], {
48428
- stdio: "pipe",
48429
- input: "y\n",
48430
- env
48431
- });
48432
- execSync("openclaw plugins install @agentvault/agentvault", {
48433
- stdio: "pipe",
48434
- env
48435
- });
48436
- console.log(" \u2705 Plugin updated.");
48618
+ try {
48619
+ execSync("openclaw plugins update agentvault", { stdio: "pipe", env });
48620
+ console.log(" Plugin updated.");
48621
+ } catch {
48622
+ console.log(` \u26A0\uFE0F Update failed \u2014 v${installedVersion} will be used.`);
48623
+ }
48437
48624
  } else {
48438
48625
  console.log(` Plugin already installed (v${installedVersion ?? "unknown"}).`);
48439
48626
  }
@@ -48554,6 +48741,7 @@ var init_setup = __esm({
48554
48741
  "use strict";
48555
48742
  await init_channel();
48556
48743
  await init_index();
48744
+ init_state();
48557
48745
  }
48558
48746
  });
48559
48747
 
@@ -48605,6 +48793,7 @@ Options:
48605
48793
  --data-dir=PATH Directory for persistent state (default: ~/.openclaw/agentvault)
48606
48794
  --api-url=URL API endpoint (default: https://api.agentvault.chat)
48607
48795
  --account-id=ID Multi-agent account identifier (e.g., "work", "research")
48796
+ --force Re-enroll even if already enrolled (destroys existing state)
48608
48797
 
48609
48798
  This command:
48610
48799
  1. Enrolls this machine as your agent with AgentVault
@@ -48623,7 +48812,8 @@ After setup, restart OpenClaw \u2014 messages will flow automatically.
48623
48812
  name,
48624
48813
  apiUrl,
48625
48814
  dataDir: flags["data-dir"] || process.env.AGENTVAULT_DATA_DIR || (accountId ? `~/.openclaw/agents/${accountId}/agentvault` : "~/.openclaw/agentvault"),
48626
- accountId
48815
+ accountId,
48816
+ force: flags["force"] === "true"
48627
48817
  });
48628
48818
  process.exit(0);
48629
48819
  }