@agentvault/agentvault 0.17.5 → 0.19.0

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 (91) hide show
  1. package/README.md +10 -11
  2. package/dist/__tests__/crypto-helpers.test.d.ts +2 -0
  3. package/dist/__tests__/crypto-helpers.test.d.ts.map +1 -0
  4. package/dist/__tests__/functional.test.d.ts +21 -0
  5. package/dist/__tests__/functional.test.d.ts.map +1 -0
  6. package/dist/__tests__/multi-session.test.d.ts +2 -0
  7. package/dist/__tests__/multi-session.test.d.ts.map +1 -0
  8. package/dist/__tests__/state.test.d.ts +2 -0
  9. package/dist/__tests__/state.test.d.ts.map +1 -0
  10. package/dist/__tests__/transport.test.d.ts +2 -0
  11. package/dist/__tests__/transport.test.d.ts.map +1 -0
  12. package/dist/_cp.d.ts +10 -0
  13. package/dist/_cp.d.ts.map +1 -0
  14. package/dist/account-config.d.ts +20 -0
  15. package/dist/account-config.d.ts.map +1 -0
  16. package/dist/channel.d.ts +393 -0
  17. package/dist/channel.d.ts.map +1 -0
  18. package/dist/channel.js +2257 -0
  19. package/dist/channel.js.map +1 -0
  20. package/dist/cli.d.ts +2 -0
  21. package/dist/cli.d.ts.map +1 -0
  22. package/dist/cli.js +344 -2
  23. package/dist/cli.js.map +4 -4
  24. package/dist/create-agent.d.ts +28 -0
  25. package/dist/create-agent.d.ts.map +1 -0
  26. package/dist/credential-store.d.ts +62 -0
  27. package/dist/credential-store.d.ts.map +1 -0
  28. package/dist/crypto-helpers.d.ts +2 -0
  29. package/dist/crypto-helpers.d.ts.map +1 -0
  30. package/dist/crypto-helpers.js +4 -0
  31. package/dist/crypto-helpers.js.map +1 -0
  32. package/dist/doctor.d.ts +41 -0
  33. package/dist/doctor.d.ts.map +1 -0
  34. package/dist/fetch-interceptor.d.ts +32 -0
  35. package/dist/fetch-interceptor.d.ts.map +1 -0
  36. package/dist/gateway-send.d.ts +98 -0
  37. package/dist/gateway-send.d.ts.map +1 -0
  38. package/dist/http-handlers.d.ts +53 -0
  39. package/dist/http-handlers.d.ts.map +1 -0
  40. package/dist/index.d.ts +27 -0
  41. package/dist/index.d.ts.map +1 -0
  42. package/dist/index.js +359 -11
  43. package/dist/index.js.map +4 -4
  44. package/dist/mcp-handlers.d.ts +26 -0
  45. package/dist/mcp-handlers.d.ts.map +1 -0
  46. package/dist/mcp-proxy-helpers.d.ts +9 -0
  47. package/dist/mcp-proxy-helpers.d.ts.map +1 -0
  48. package/dist/mcp-server.d.ts +90 -0
  49. package/dist/mcp-server.d.ts.map +1 -0
  50. package/dist/openclaw-compat.d.ts +33 -0
  51. package/dist/openclaw-compat.d.ts.map +1 -0
  52. package/dist/openclaw-entry.d.ts +27 -0
  53. package/dist/openclaw-entry.d.ts.map +1 -0
  54. package/dist/openclaw-entry.js +45184 -195
  55. package/dist/openclaw-entry.js.map +4 -4
  56. package/dist/openclaw-plugin.d.ts +102 -0
  57. package/dist/openclaw-plugin.d.ts.map +1 -0
  58. package/dist/openclaw-plugin.js +222 -0
  59. package/dist/openclaw-plugin.js.map +1 -0
  60. package/dist/openclaw-types.d.ts +155 -0
  61. package/dist/openclaw-types.d.ts.map +1 -0
  62. package/dist/policy-enforcer.d.ts +78 -0
  63. package/dist/policy-enforcer.d.ts.map +1 -0
  64. package/dist/setup.d.ts +27 -0
  65. package/dist/setup.d.ts.map +1 -0
  66. package/dist/setup.js +329 -0
  67. package/dist/setup.js.map +1 -0
  68. package/dist/skill-invoker.d.ts +30 -0
  69. package/dist/skill-invoker.d.ts.map +1 -0
  70. package/dist/skill-manifest.d.ts +30 -0
  71. package/dist/skill-manifest.d.ts.map +1 -0
  72. package/dist/skill-telemetry.d.ts +36 -0
  73. package/dist/skill-telemetry.d.ts.map +1 -0
  74. package/dist/skills-publish.d.ts +8 -0
  75. package/dist/skills-publish.d.ts.map +1 -0
  76. package/dist/state.d.ts +32 -0
  77. package/dist/state.d.ts.map +1 -0
  78. package/dist/state.js +61 -0
  79. package/dist/state.js.map +1 -0
  80. package/dist/transport.d.ts +24 -0
  81. package/dist/transport.d.ts.map +1 -0
  82. package/dist/transport.js +43 -0
  83. package/dist/transport.js.map +1 -0
  84. package/dist/types.d.ts +417 -0
  85. package/dist/types.d.ts.map +1 -0
  86. package/dist/types.js +2 -0
  87. package/dist/types.js.map +1 -0
  88. package/dist/workspace-handlers.d.ts +62 -0
  89. package/dist/workspace-handlers.d.ts.map +1 -0
  90. package/openclaw.plugin.json +1 -1
  91. package/package.json +1 -1
@@ -0,0 +1,26 @@
1
+ /**
2
+ * MCP HTTP request handlers — routes /mcp requests to AgentVaultMcpServer.
3
+ *
4
+ * Supports both self-managed HTTP and OpenClaw managed routes.
5
+ */
6
+ import type { IncomingMessage, ServerResponse } from "node:http";
7
+ import type { AgentVaultMcpServer } from "./mcp-server.js";
8
+ /**
9
+ * Create an HTTP request handler for MCP routes.
10
+ *
11
+ * Routes:
12
+ * POST /mcp — MCP Streamable HTTP messages
13
+ * GET /mcp — MCP SSE stream (for server-initiated messages)
14
+ * DELETE /mcp — Close MCP session
15
+ *
16
+ * All other paths are passed through to the next handler.
17
+ */
18
+ export declare function createMcpHandler(mcpServer: AgentVaultMcpServer | null, basePath?: string): (req: IncomingMessage, res: ServerResponse, next?: () => void) => void;
19
+ /**
20
+ * Build a status object with MCP info for the /status endpoint.
21
+ */
22
+ export declare function getMcpStatus(mcpServer: AgentVaultMcpServer | null): {
23
+ mcp_enabled: boolean;
24
+ mcp_skills_count: number;
25
+ };
26
+ //# sourceMappingURL=mcp-handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-handlers.d.ts","sourceRoot":"","sources":["../src/mcp-handlers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,mBAAmB,GAAG,IAAI,EACrC,QAAQ,GAAE,MAAe,GACxB,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,MAAM,IAAI,KAAK,IAAI,CA0BxE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,mBAAmB,GAAG,IAAI,GACpC;IAAE,WAAW,EAAE,OAAO,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAQpD"}
@@ -0,0 +1,9 @@
1
+ import type { AgentVaultMcpServer } from "./mcp-server.js";
2
+ /**
3
+ * Forward a JSON-RPC payload to the MCP server by creating synthetic
4
+ * HTTP request/response objects that the Streamable HTTP transport expects.
5
+ *
6
+ * Returns the MCP server's JSON-RPC response.
7
+ */
8
+ export declare function createMcpProxyRequest(mcpServer: AgentVaultMcpServer, payload: unknown): Promise<unknown>;
9
+ //# sourceMappingURL=mcp-proxy-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-proxy-helpers.d.ts","sourceRoot":"","sources":["../src/mcp-proxy-helpers.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,mBAAmB,EAC9B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,OAAO,CAAC,CAqDlB"}
@@ -0,0 +1,90 @@
1
+ import type { IncomingMessage, ServerResponse } from "node:http";
2
+ export interface SkillDefinition {
3
+ name: string;
4
+ version?: string;
5
+ description?: string;
6
+ /** JSON Schema for the tool input (not Zod — raw JSON Schema object). */
7
+ inputSchema?: Record<string, unknown>;
8
+ /** Freeform instructions that are surfaced as an MCP prompt. */
9
+ instructions?: string;
10
+ /** SLA definition blob attached to the skill registry resource. */
11
+ slaDefinition?: Record<string, unknown>;
12
+ /** Tags for categorisation. */
13
+ tags?: string[];
14
+ /** Tools/capabilities explicitly allowed for this skill. */
15
+ toolsAllowed?: string[];
16
+ /** Tools/capabilities explicitly denied for this skill. */
17
+ toolsDenied?: string[];
18
+ /** JSON Schema for skill output validation. */
19
+ outputSchema?: Record<string, unknown>;
20
+ /** Model routing strategy: "auto" | "round-robin" | "least-latency". */
21
+ modelRouting?: string;
22
+ /** Allowed LLM models for this skill. */
23
+ allowedModels?: string[];
24
+ /** Default LLM model for this skill. */
25
+ defaultModel?: string;
26
+ /** AgentVault certification tier: "verified" | "certified" | "enterprise". */
27
+ certificationTier?: string;
28
+ /** Integrity configuration (algorithm, hashChain). */
29
+ integrity?: Record<string, unknown>;
30
+ /** Required policy presets (e.g., ["network: agentvault"]). */
31
+ requiredPolicies?: string[];
32
+ }
33
+ export interface McpServerOpts {
34
+ agentName: string;
35
+ apiUrl: string;
36
+ apiKey?: string;
37
+ /**
38
+ * Called when an MCP client invokes a registered skill tool.
39
+ * Return value is serialised as JSON and sent back as tool output.
40
+ */
41
+ onInvoke?: (skillName: string, args: Record<string, unknown>) => Promise<unknown>;
42
+ }
43
+ export declare class AgentVaultMcpServer {
44
+ private server;
45
+ private skills;
46
+ private opts;
47
+ private initialized;
48
+ constructor(opts: McpServerOpts);
49
+ /**
50
+ * Register a skill that will be exposed as an MCP tool.
51
+ * Must be called *before* `initialize()`.
52
+ */
53
+ registerSkill(skill: SkillDefinition): void;
54
+ /**
55
+ * Register all skills as MCP tools / resources / prompts.
56
+ * Called lazily on first request if not called explicitly.
57
+ */
58
+ initialize(): void;
59
+ /**
60
+ * Handle an incoming HTTP request to the /mcp endpoint.
61
+ *
62
+ * Supports the Streamable HTTP transport protocol:
63
+ * - POST for JSON-RPC messages
64
+ * - GET for SSE notification stream
65
+ * - DELETE for session close
66
+ *
67
+ * Each request gets a fresh stateless transport; after the response is
68
+ * flushed the transport + underlying protocol connection are torn down
69
+ * so the single McpServer instance is ready for the next caller.
70
+ *
71
+ * Local requests from 127.0.0.1/::1 bypass SPT validation (owner access).
72
+ */
73
+ handleRequest(req: IncomingMessage, res: ServerResponse): Promise<void>;
74
+ /**
75
+ * Register a single skill as an MCP tool.
76
+ *
77
+ * The MCP SDK's `tool()` overloads that accept a schema expect Zod types.
78
+ * Since our skill definitions use raw JSON Schema we register without
79
+ * schema validation (name + description + handler) and let the handler
80
+ * receive the raw args object.
81
+ */
82
+ private registerToolForSkill;
83
+ /**
84
+ * Validate a Service Provider Token against the AgentVault backend.
85
+ */
86
+ private validateSpt;
87
+ get skillCount(): number;
88
+ get isInitialized(): boolean;
89
+ }
90
+ //# sourceMappingURL=mcp-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAMjE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAIhB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACnF;AAMD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,MAAM,CAA2C;IACzD,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,WAAW,CAAS;gBAEhB,IAAI,EAAE,aAAa;IAU/B;;;OAGG;IACH,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAI3C;;;OAGG;IACH,UAAU,IAAI,IAAI;IA2DlB;;;;;;;;;;;;;OAaG;IACG,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA4C7E;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;OAEG;YACW,WAAW;IAwBzB,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,aAAa,IAAI,OAAO,CAE3B;CACF"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * OpenClaw SDK compatibility layer — dynamic import wrappers with caching.
3
+ *
4
+ * Each wrapper attempts to import a deep SDK module at runtime. If the import
5
+ * fails (older gateway, missing SDK), the function returns a no-op result.
6
+ * Results are cached after the first attempt.
7
+ *
8
+ * IMPORTANT: All imports are guarded by try/catch — the plugin degrades
9
+ * gracefully on older OpenClaw versions.
10
+ */
11
+ import type { AgentEventPayload, TranscriptUpdatePayload } from "./openclaw-types.js";
12
+ /**
13
+ * Request an immediate heartbeat wake from the OpenClaw gateway.
14
+ * Returns true if the heartbeat API was available and called, false otherwise.
15
+ * Never throws.
16
+ */
17
+ export declare function requestHeartbeatNow(opts?: {
18
+ reason?: string;
19
+ }): Promise<boolean>;
20
+ type AgentEventCallback = (event: AgentEventPayload) => void;
21
+ /**
22
+ * Subscribe to agent-level events (tool_use, reasoning_complete, error, etc.).
23
+ * Returns an unsubscribe function, or a no-op if the API is unavailable.
24
+ */
25
+ export declare function onAgentEvent(callback: AgentEventCallback): Promise<() => void>;
26
+ type TranscriptCallback = (update: TranscriptUpdatePayload) => void;
27
+ /**
28
+ * Subscribe to session transcript updates for behavioral analysis.
29
+ * Returns an unsubscribe function, or a no-op if the API is unavailable.
30
+ */
31
+ export declare function onSessionTranscriptUpdate(callback: TranscriptCallback): Promise<() => void>;
32
+ export {};
33
+ //# sourceMappingURL=openclaw-compat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openclaw-compat.d.ts","sourceRoot":"","sources":["../src/openclaw-compat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAQtF;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAmBtF;AAMD,KAAK,kBAAkB,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAG7D;;;GAGG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAkBpF;AAMD,KAAK,kBAAkB,GAAG,CAAC,MAAM,EAAE,uBAAuB,KAAK,IAAI,CAAC;AAGpE;;;GAGG;AACH,wBAAsB,yBAAyB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAkBjG"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * OpenClaw channel plugin entry point.
3
+ *
4
+ * Intentionally thin — no heavy imports (libsodium etc.) at module load time.
5
+ * SecureChannel is dynamically imported inside gateway.startAccount (already async)
6
+ * so libsodium's top-level await never runs during plugin registration.
7
+ *
8
+ * Loaded by OpenClaw via the `openclaw.extensions` field in package.json.
9
+ */
10
+ import type { OpenClawPluginApi } from "./openclaw-types.js";
11
+ /** Whether OpenClaw managed HTTP routes are active (vs self-managed server). */
12
+ export declare let isUsingManagedRoutes: boolean;
13
+ /** Extract @mention names from plaintext. Returns lowercased names. */
14
+ declare function _parseMentions(text: string): string[];
15
+ /** Determine whether this agent should process a room message based on @mentions. */
16
+ declare function _shouldProcessRoomMessage(plaintext: string, agentName: string, accountId: string): boolean;
17
+ /** Strip the matching @mention prefix from plaintext so the agent sees clean text. */
18
+ declare function _stripMentions(text: string, agentName: string, accountId: string): string;
19
+ export { _parseMentions, _shouldProcessRoomMessage, _stripMentions };
20
+ declare const _default: {
21
+ id: string;
22
+ name: string;
23
+ description: string;
24
+ register(api: OpenClawPluginApi): void;
25
+ };
26
+ export default _default;
27
+ //# sourceMappingURL=openclaw-entry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openclaw-entry.d.ts","sourceRoot":"","sources":["../src/openclaw-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAWH,OAAO,KAAK,EACV,iBAAiB,EASlB,MAAM,qBAAqB,CAAC;AAsD7B,gFAAgF;AAChF,eAAO,IAAI,oBAAoB,SAAQ,CAAC;AA+CxC,uEAAuE;AACvE,iBAAS,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAS9C;AAED,qFAAqF;AACrF,iBAAS,yBAAyB,CAChC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAcT;AAED,sFAAsF;AACtF,iBAAS,cAAc,CACrB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,MAAM,CAiBR;AAi7BD,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,cAAc,EAAE,CAAC;;;;;kBAQrD,iBAAiB;;AAJjC,wBA2SE"}