@agentvault/agentvault 0.15.0 → 0.15.2

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.
Files changed (65) hide show
  1. package/dist/_cp.d.ts +10 -0
  2. package/dist/_cp.d.ts.map +1 -0
  3. package/dist/cli.js +72036 -253
  4. package/dist/cli.js.map +7 -1
  5. package/dist/index.js +76351 -24
  6. package/dist/index.js.map +7 -1
  7. package/dist/openclaw-entry.js +1449 -1201
  8. package/dist/openclaw-entry.js.map +7 -1
  9. package/package.json +1 -1
  10. package/dist/__tests__/crypto-helpers.test.d.ts +0 -2
  11. package/dist/__tests__/crypto-helpers.test.d.ts.map +0 -1
  12. package/dist/__tests__/functional.test.d.ts +0 -21
  13. package/dist/__tests__/functional.test.d.ts.map +0 -1
  14. package/dist/__tests__/install-plugin.test.d.ts +0 -2
  15. package/dist/__tests__/install-plugin.test.d.ts.map +0 -1
  16. package/dist/__tests__/multi-session.test.d.ts +0 -2
  17. package/dist/__tests__/multi-session.test.d.ts.map +0 -1
  18. package/dist/__tests__/state.test.d.ts +0 -2
  19. package/dist/__tests__/state.test.d.ts.map +0 -1
  20. package/dist/__tests__/transport.test.d.ts +0 -2
  21. package/dist/__tests__/transport.test.d.ts.map +0 -1
  22. package/dist/account-config.js +0 -60
  23. package/dist/account-config.js.map +0 -1
  24. package/dist/channel.js +0 -3411
  25. package/dist/channel.js.map +0 -1
  26. package/dist/create-agent.js +0 -314
  27. package/dist/create-agent.js.map +0 -1
  28. package/dist/crypto-helpers.js +0 -4
  29. package/dist/crypto-helpers.js.map +0 -1
  30. package/dist/doctor.js +0 -415
  31. package/dist/doctor.js.map +0 -1
  32. package/dist/fetch-interceptor.js +0 -213
  33. package/dist/fetch-interceptor.js.map +0 -1
  34. package/dist/gateway-send.js +0 -114
  35. package/dist/gateway-send.js.map +0 -1
  36. package/dist/http-handlers.js +0 -131
  37. package/dist/http-handlers.js.map +0 -1
  38. package/dist/mcp-handlers.js +0 -48
  39. package/dist/mcp-handlers.js.map +0 -1
  40. package/dist/mcp-server.js +0 -192
  41. package/dist/mcp-server.js.map +0 -1
  42. package/dist/openclaw-compat.js +0 -94
  43. package/dist/openclaw-compat.js.map +0 -1
  44. package/dist/openclaw-plugin.js +0 -297
  45. package/dist/openclaw-plugin.js.map +0 -1
  46. package/dist/openclaw-types.js +0 -13
  47. package/dist/openclaw-types.js.map +0 -1
  48. package/dist/setup.js +0 -460
  49. package/dist/setup.js.map +0 -1
  50. package/dist/skill-invoker.js +0 -100
  51. package/dist/skill-invoker.js.map +0 -1
  52. package/dist/skill-manifest.js +0 -249
  53. package/dist/skill-manifest.js.map +0 -1
  54. package/dist/skill-telemetry.js +0 -146
  55. package/dist/skill-telemetry.js.map +0 -1
  56. package/dist/skills-publish.js +0 -133
  57. package/dist/skills-publish.js.map +0 -1
  58. package/dist/state.js +0 -178
  59. package/dist/state.js.map +0 -1
  60. package/dist/transport.js +0 -43
  61. package/dist/transport.js.map +0 -1
  62. package/dist/types.js +0 -2
  63. package/dist/types.js.map +0 -1
  64. package/dist/workspace-handlers.js +0 -177
  65. package/dist/workspace-handlers.js.map +0 -1
@@ -1,297 +0,0 @@
1
- /**
2
- * AgentVault OpenClaw Channel Plugin
3
- *
4
- * Registers AgentVault as a first-class OpenClaw messaging channel.
5
- * Messages from the AgentVault UI are decrypted and routed into the
6
- * OpenClaw agent loop; agent replies are encrypted and sent back.
7
- *
8
- * Installation (one-time):
9
- * npx @agentvault/agentvault setup --token=av_tok_...
10
- *
11
- * After setup, restart OpenClaw — no further configuration needed.
12
- */
13
- import { resolve } from "node:path";
14
- import { SecureChannel } from "./channel.js";
15
- import { listAccountIds, resolveAccount } from "./account-config.js";
16
- import { requestHeartbeatNow } from "./openclaw-compat.js";
17
- // Runtime injected by register() — used in inbound handler
18
- let _ocRuntime = null;
19
- // Active channel instances keyed by accountId
20
- const _channels = new Map();
21
- /** Whether OpenClaw managed HTTP routes are active. */
22
- let _usingManagedRoutes = false;
23
- export function setOcRuntime(runtime) {
24
- _ocRuntime = runtime;
25
- }
26
- export function getActiveChannel(accountId = "default") {
27
- return _channels.get(accountId);
28
- }
29
- // ---------------------------------------------------------------------------
30
- // Channel plugin definition
31
- // ---------------------------------------------------------------------------
32
- export const agentVaultPlugin = {
33
- id: "agentvault",
34
- meta: {
35
- id: "agentvault",
36
- label: "AgentVault",
37
- selectionLabel: "AgentVault (E2E Encrypted)",
38
- docsPath: "https://agentvault.chat/docs",
39
- blurb: "Zero-knowledge, end-to-end encrypted messaging between owners and their AI agents.",
40
- aliases: ["av", "agent-vault"],
41
- },
42
- capabilities: {
43
- chatTypes: ["direct", "room"],
44
- },
45
- config: {
46
- listAccountIds,
47
- resolveAccount,
48
- },
49
- gateway: {
50
- /** Health probe for `openclaw channels status --probe` */
51
- probe: async (ctx) => {
52
- const accountId = ctx?.accountId ?? "default";
53
- const ch = _channels.get(accountId);
54
- if (!ch)
55
- return { ok: false, status: "disconnected", error: "Channel not started" };
56
- const state = ch.state;
57
- return {
58
- ok: state === "ready",
59
- status: state,
60
- deviceId: ch.deviceId ?? undefined,
61
- sessions: ch.sessionCount,
62
- };
63
- },
64
- /** Status for `openclaw health --json` per-channel summary */
65
- status: (ctx) => {
66
- const accountId = ctx?.accountId ?? "default";
67
- const ch = _channels.get(accountId);
68
- if (!ch)
69
- return { connected: false, status: "not_started" };
70
- return {
71
- connected: ch.state === "ready",
72
- status: ch.state,
73
- deviceId: ch.deviceId ?? undefined,
74
- sessions: ch.sessionCount,
75
- encrypted: true,
76
- };
77
- },
78
- startAccount: async (ctx) => {
79
- const { account, cfg, log, abortSignal } = ctx;
80
- const _log = typeof log === "function" ? log : log?.info?.bind(log);
81
- if (!account.configured) {
82
- throw new Error("AgentVault channel is not configured.\n" +
83
- "Run the one-time setup: npx @agentvault/agentvault setup --token=av_tok_...\n" +
84
- "Then restart OpenClaw: openclaw gateway restart");
85
- }
86
- const dataDir = resolve(account.dataDir.replace(/^~/, process.env.HOME ?? "~"));
87
- _log?.(`[AgentVault] starting channel (dataDir=${dataDir})`);
88
- // startAccount must STAY PENDING while the channel is running.
89
- // Resolving signals "channel stopped" to the gateway health monitor,
90
- // which triggers auto-restart. We block here until the abortSignal
91
- // fires (gateway shutdown / config reload), then clean up.
92
- await new Promise((resolvePromise, reject) => {
93
- const channel = new SecureChannel({
94
- inviteToken: "",
95
- dataDir,
96
- apiUrl: account.apiUrl,
97
- agentName: account.agentName,
98
- onMessage: async (plaintext, metadata) => {
99
- if (!_ocRuntime) {
100
- _log?.("[AgentVault] runtime not ready — dropping inbound message");
101
- return;
102
- }
103
- try {
104
- await _handleInbound({ plaintext, metadata, channel, account, cfg });
105
- }
106
- catch (err) {
107
- _log?.(`[AgentVault] inbound dispatch error: ${String(err)}`);
108
- }
109
- },
110
- onStateChange: (state) => {
111
- _log?.(`[AgentVault] state → ${state}`);
112
- if (state === "error")
113
- reject(new Error("AgentVault channel permanent error"));
114
- },
115
- });
116
- _channels.set(account.accountId, channel);
117
- // Prevent unhandled "error" events from crashing the process
118
- channel.on("error", (err) => {
119
- _log?.(`[AgentVault] channel error (non-fatal): ${String(err)}`);
120
- });
121
- // Always start local HTTP server — managed routes are an overlay, not a replacement
122
- const httpPort = account.httpPort;
123
- channel.on("ready", () => {
124
- channel.startHttpServer(httpPort);
125
- _log?.(`[AgentVault] HTTP send server listening on http://127.0.0.1:${httpPort}`);
126
- });
127
- // Respect gateway abort signal (OpenClaw gateway shutdown)
128
- abortSignal?.addEventListener("abort", async () => {
129
- await channel.stop();
130
- _channels.delete(account.accountId);
131
- resolvePromise();
132
- });
133
- channel.start().catch(reject);
134
- });
135
- return { stop: async () => { } };
136
- },
137
- },
138
- outbound: {
139
- deliveryMode: "direct",
140
- targets: [
141
- {
142
- id: "owner",
143
- label: "AgentVault Owner",
144
- accountId: "default",
145
- },
146
- {
147
- id: "default",
148
- label: "AgentVault Owner (default)",
149
- accountId: "default",
150
- },
151
- ],
152
- sendText: async ({ text, accountId, targetId, }) => {
153
- const resolvedId = accountId ?? (targetId === "owner" ? "default" : (targetId ?? "default"));
154
- const channel = _channels.get(resolvedId);
155
- if (!channel) {
156
- return { ok: false, error: "AgentVault channel is not connected" };
157
- }
158
- try {
159
- await channel.send(text);
160
- return { ok: true };
161
- }
162
- catch (err) {
163
- return { ok: false, error: String(err) };
164
- }
165
- },
166
- sendMedia: async ({ text, mediaUrl, accountId, }) => {
167
- const resolvedId = accountId ?? "default";
168
- const channel = _channels.get(resolvedId);
169
- if (!channel) {
170
- return { ok: false, error: "AgentVault channel is not connected" };
171
- }
172
- try {
173
- const message = text ? `${text}\n${mediaUrl}` : mediaUrl;
174
- await channel.send(message);
175
- return { ok: true };
176
- }
177
- catch (err) {
178
- return { ok: false, error: String(err) };
179
- }
180
- },
181
- /** Rich payload delivery — OpenClaw v2026.3.2+ */
182
- sendPayload: async (ctx) => {
183
- const { payload, accountId } = ctx;
184
- const resolvedId = accountId ?? "default";
185
- const channel = _channels.get(resolvedId);
186
- if (!channel)
187
- return { ok: false, error: "AgentVault channel is not connected" };
188
- try {
189
- if (payload.isReasoning)
190
- return { ok: true };
191
- requestHeartbeatNow({ reason: "outbound-payload" }).catch(() => { });
192
- const text = (payload.text ?? "").trim();
193
- if (!text && !payload.mediaUrls?.length)
194
- return { ok: true };
195
- if (text)
196
- await channel.send(text);
197
- if (payload.mediaUrls?.length) {
198
- for (const url of payload.mediaUrls)
199
- await channel.send(url);
200
- }
201
- if (payload.suggestedActions?.length) {
202
- const actionsText = payload.suggestedActions
203
- .map((a) => `- ${a.label}: ${a.action}`)
204
- .join("\n");
205
- await channel.send(`Suggested actions:\n${actionsText}`);
206
- }
207
- return { ok: true };
208
- }
209
- catch (err) {
210
- return { ok: false, error: String(err) };
211
- }
212
- },
213
- },
214
- };
215
- // ---------------------------------------------------------------------------
216
- // Inbound message handler — routes decrypted messages into the agent loop
217
- // ---------------------------------------------------------------------------
218
- async function _handleInbound(params) {
219
- const { plaintext, metadata, channel, account, cfg } = params;
220
- const core = _ocRuntime; // Non-null: caller guards with `if (!_ocRuntime)` check
221
- // Stable session key scoped to this AgentVault conversation
222
- const sessionKey = `agentvault:${account.accountId}:${(metadata.conversationId ?? "default").slice(0, 8)}`;
223
- const senderId = `agentvault:owner`;
224
- // Resolve agent routing (respects agents.list routing rules if configured)
225
- const route = core.channel.routing.resolveAgentRoute({
226
- cfg,
227
- channel: "agentvault",
228
- accountId: account.accountId,
229
- peer: { kind: "direct", id: senderId },
230
- });
231
- const storePath = core.channel.session.resolveStorePath(cfg?.session?.store, {
232
- agentId: route.agentId,
233
- });
234
- const envelopeOptions = core.channel.reply.resolveEnvelopeFormatOptions(cfg);
235
- const previousTimestamp = core.channel.session.readSessionUpdatedAt({
236
- storePath,
237
- sessionKey: route.sessionKey,
238
- });
239
- // Format the message body with standard OpenClaw envelope (channel label, timestamps, etc.)
240
- const body = core.channel.reply.formatAgentEnvelope({
241
- channel: "AgentVault",
242
- from: "Owner",
243
- timestamp: new Date(metadata.timestamp).getTime(),
244
- previousTimestamp,
245
- envelope: envelopeOptions,
246
- body: plaintext,
247
- });
248
- // Build the inbound context payload OpenClaw expects
249
- const ctxPayload = core.channel.reply.finalizeInboundContext({
250
- Body: body,
251
- RawBody: plaintext,
252
- CommandBody: plaintext,
253
- From: senderId,
254
- To: `agentvault:agent:${account.accountId}`,
255
- SessionKey: route.sessionKey,
256
- AccountId: account.accountId,
257
- ChatType: "direct",
258
- ConversationLabel: "AgentVault",
259
- SenderName: "Owner",
260
- SenderId: senderId,
261
- Provider: "agentvault",
262
- Surface: "agentvault",
263
- MessageSid: metadata.messageId,
264
- Timestamp: new Date(metadata.timestamp).getTime(),
265
- OriginatingChannel: "agentvault",
266
- OriginatingTo: `agentvault:agent:${account.accountId}`,
267
- // Owner is cryptographically verified via X3DH + Double Ratchet enrollment
268
- CommandAuthorized: true,
269
- });
270
- // Record session metadata for context continuity
271
- await core.channel.session.recordInboundSession({
272
- storePath,
273
- sessionKey: ctxPayload.SessionKey ?? route.sessionKey,
274
- ctx: ctxPayload,
275
- onRecordError: (err) => {
276
- core.error?.(`[AgentVault] session record failed: ${String(err)}`);
277
- },
278
- });
279
- // Dispatch to the OpenClaw agent loop; deliver replies back through the channel
280
- await core.channel.reply.dispatchReplyWithBufferedBlockDispatcher({
281
- ctx: ctxPayload,
282
- cfg,
283
- dispatcherOptions: {
284
- deliver: async (payload) => {
285
- const text = (payload.text ?? "").trim();
286
- if (text) {
287
- await channel.send(text);
288
- }
289
- },
290
- onError: (err, info) => {
291
- core.error?.(`[AgentVault] ${info?.kind ?? "reply"} error: ${String(err)}`);
292
- },
293
- },
294
- replyOptions: {},
295
- });
296
- }
297
- //# sourceMappingURL=openclaw-plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openclaw-plugin.js","sourceRoot":"","sources":["../src/openclaw-plugin.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- /**
2
- * OpenClaw SDK type re-exports with inline fallback declarations.
3
- *
4
- * If `openclaw` is installed, we re-export the actual SDK types for full
5
- * type-safety. Otherwise, we declare compatible fallback types so the
6
- * plugin compiles standalone (e.g., during npm publish or in older envs).
7
- *
8
- * IMPORTANT: All runtime usage of OpenClaw APIs must still use feature
9
- * detection (typeof checks, try/catch dynamic imports) — these types
10
- * are purely for compile-time correctness.
11
- */
12
- export {};
13
- //# sourceMappingURL=openclaw-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openclaw-types.js","sourceRoot":"","sources":["../src/openclaw-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}