@agentvault/agentvault 0.19.0 → 0.19.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.
@@ -36,9 +36,10 @@ export interface McpServerOpts {
36
36
  apiKey?: string;
37
37
  /**
38
38
  * Called when an MCP client invokes a registered skill tool.
39
+ * Receives skill name, args, and the full skill definition (including instructions).
39
40
  * Return value is serialised as JSON and sent back as tool output.
40
41
  */
41
- onInvoke?: (skillName: string, args: Record<string, unknown>) => Promise<unknown>;
42
+ onInvoke?: (skillName: string, args: Record<string, unknown>, skill: SkillDefinition) => Promise<unknown>;
42
43
  }
43
44
  export declare class AgentVaultMcpServer {
44
45
  private server;
@@ -1 +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"}
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;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3G;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"}
@@ -1 +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"}
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;AA69BD,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,cAAc,EAAE,CAAC;;;;;kBAQrD,iBAAiB;;AAJjC,wBA2SE"}
@@ -434,7 +434,7 @@ var init_mcp_server = __esm({
434
434
  };
435
435
  }
436
436
  try {
437
- const result = await this.opts.onInvoke(name, args);
437
+ const result = await this.opts.onInvoke(name, args, skill);
438
438
  const text = typeof result === "string" ? result : JSON.stringify(result, null, 2);
439
439
  return {
440
440
  content: [{ type: "text", text }]
@@ -46561,14 +46561,53 @@ var agentVaultPlugin = {
46561
46561
  const mcpServer = new AgentVaultMcpServer2({
46562
46562
  agentName: account.agentName ?? "agent",
46563
46563
  apiUrl: account.apiUrl ?? "https://api.agentvault.chat",
46564
- onInvoke: async (skillName, args) => {
46565
- const text = JSON.stringify({ skill: skillName, args });
46566
- const receipt = await channel.deliver(
46567
- { kind: "owner" },
46568
- { type: "text", text },
46569
- { metadata: { message_type: "skill_invocation", skill_name: skillName } }
46570
- );
46571
- return { invoked: true, skill: skillName, delivered: receipt.ok };
46564
+ onInvoke: async (skillName, args, skill) => {
46565
+ const apiUrl = account.apiUrl ?? "https://api.agentvault.chat";
46566
+ const jwt = channel._deviceJwt;
46567
+ if (!jwt) {
46568
+ return { error: "Not connected \u2014 device JWT unavailable" };
46569
+ }
46570
+ const instructions = skill?.instructions;
46571
+ if (!instructions) {
46572
+ return { error: `Skill "${skillName}" has no instructions defined` };
46573
+ }
46574
+ try {
46575
+ const resp = await fetch(`${apiUrl}/api/v1/capabilities/owner-execute`, {
46576
+ method: "POST",
46577
+ headers: {
46578
+ "Content-Type": "application/json",
46579
+ Authorization: `Bearer ${jwt}`
46580
+ },
46581
+ body: JSON.stringify({
46582
+ jsonrpc: "2.0",
46583
+ method: "tools/call",
46584
+ params: {
46585
+ name: skillName,
46586
+ arguments: args,
46587
+ // Pass instructions from local SKILL.md so backend doesn't need DB lookup
46588
+ _instructions: instructions,
46589
+ _schema: skill?.schema
46590
+ },
46591
+ id: `invoke-${Date.now()}`
46592
+ })
46593
+ });
46594
+ if (!resp.ok) {
46595
+ const detail = await resp.text();
46596
+ return { error: `Execution failed (${resp.status}): ${detail}` };
46597
+ }
46598
+ const rpcResult = await resp.json();
46599
+ if (rpcResult.error) {
46600
+ return { error: rpcResult.error.message ?? "Execution error" };
46601
+ }
46602
+ const content = rpcResult.result?.content;
46603
+ if (Array.isArray(content) && content.length > 0) {
46604
+ return content[0].text ?? JSON.stringify(content);
46605
+ }
46606
+ return rpcResult.result ?? { executed: true };
46607
+ } catch (err) {
46608
+ _log?.(`[AgentVault] Skill execution failed: ${String(err)}`);
46609
+ return { error: `Skill execution failed: ${String(err)}` };
46610
+ }
46572
46611
  }
46573
46612
  });
46574
46613
  const homedir = __require("node:os").homedir();