@agentvault/agentvault 0.14.7 → 0.14.8
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/channel.js +2257 -0
- package/dist/channel.js.map +1 -0
- package/dist/cli.js +76 -0
- package/dist/cli.js.map +2 -2
- package/dist/crypto-helpers.js +4 -0
- package/dist/crypto-helpers.js.map +1 -0
- package/dist/index.js +76 -0
- package/dist/index.js.map +2 -2
- package/dist/openclaw-entry.d.ts.map +1 -1
- package/dist/openclaw-entry.js +61 -14
- package/dist/openclaw-entry.js.map +2 -2
- package/dist/openclaw-plugin.js +222 -0
- package/dist/openclaw-plugin.js.map +1 -0
- package/dist/setup.js +329 -0
- package/dist/setup.js.map +1 -0
- package/dist/state.js +61 -0
- package/dist/state.js.map +1 -0
- package/dist/transport.js +43 -0
- package/dist/transport.js.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +1 -1
- package/dist/__tests__/install-plugin.test.d.ts +0 -2
- package/dist/__tests__/install-plugin.test.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openclaw-entry.d.ts","sourceRoot":"","sources":["../src/openclaw-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,KAAK,EACV,iBAAiB,EASlB,MAAM,qBAAqB,CAAC;AAO7B,gFAAgF;AAChF,eAAO,IAAI,oBAAoB,SAAQ,CAAC;AAexC,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;
|
|
1
|
+
{"version":3,"file":"openclaw-entry.d.ts","sourceRoot":"","sources":["../src/openclaw-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,KAAK,EACV,iBAAiB,EASlB,MAAM,qBAAqB,CAAC;AAO7B,gFAAgF;AAChF,eAAO,IAAI,oBAAoB,SAAQ,CAAC;AAexC,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;AAqwBD,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,cAAc,EAAE,CAAC;;;;;kBAQrD,iBAAiB;;AAJjC,wBAoRE"}
|
package/dist/openclaw-entry.js
CHANGED
|
@@ -426,6 +426,7 @@ function _stripMentions(text, agentName, accountId) {
|
|
|
426
426
|
async function handleInbound(params) {
|
|
427
427
|
const { plaintext: rawPlaintext, metadata, channel, account, cfg } = params;
|
|
428
428
|
const isRoomMessage = Boolean(metadata.roomId);
|
|
429
|
+
const isA2AMessage = Boolean(metadata.a2aChannelId);
|
|
429
430
|
if (isRoomMessage) {
|
|
430
431
|
if (!_shouldProcessRoomMessage(rawPlaintext, account.agentName ?? "", account.accountId ?? "")) {
|
|
431
432
|
return;
|
|
@@ -596,7 +597,7 @@ async function handleInbound(params) {
|
|
|
596
597
|
// instant
|
|
597
598
|
attributes: {
|
|
598
599
|
"ai.agent.message.input_chars": plaintext.length,
|
|
599
|
-
"ai.agent.message.type": metadata.roomId ? "room" : "direct"
|
|
600
|
+
"ai.agent.message.type": isA2AMessage ? "a2a" : metadata.roomId ? "room" : "direct"
|
|
600
601
|
},
|
|
601
602
|
status: "ok"
|
|
602
603
|
});
|
|
@@ -609,7 +610,10 @@ async function handleInbound(params) {
|
|
|
609
610
|
cfg,
|
|
610
611
|
channel: "agentvault",
|
|
611
612
|
accountId: account.accountId,
|
|
612
|
-
peer: {
|
|
613
|
+
peer: {
|
|
614
|
+
kind: isA2AMessage ? "a2a" : "direct",
|
|
615
|
+
id: isA2AMessage ? `agentvault:a2a:${metadata.fromHubAddress}` : isRoomMessage ? `agentvault:room:${metadata.roomId}` : "agentvault:owner"
|
|
616
|
+
}
|
|
613
617
|
});
|
|
614
618
|
const storePath = core.channel.session.resolveStorePath(cfg?.session?.store, {
|
|
615
619
|
agentId: route.agentId
|
|
@@ -621,7 +625,7 @@ async function handleInbound(params) {
|
|
|
621
625
|
});
|
|
622
626
|
const body = core.channel.reply.formatAgentEnvelope({
|
|
623
627
|
channel: "AgentVault",
|
|
624
|
-
from: isRoomMessage ? "Room" : "Owner",
|
|
628
|
+
from: isA2AMessage ? `Agent (${metadata.fromHubAddress})` : isRoomMessage ? "Room" : "Owner",
|
|
625
629
|
timestamp: new Date(metadata.timestamp).getTime(),
|
|
626
630
|
previousTimestamp,
|
|
627
631
|
envelope: envelopeOptions,
|
|
@@ -641,14 +645,14 @@ async function handleInbound(params) {
|
|
|
641
645
|
Body: body,
|
|
642
646
|
RawBody: plaintext,
|
|
643
647
|
CommandBody: plaintext,
|
|
644
|
-
From: isRoomMessage ? `agentvault:room:${metadata.roomId}` : "agentvault:owner",
|
|
648
|
+
From: isA2AMessage ? `a2a:${metadata.fromHubAddress}` : isRoomMessage ? `agentvault:room:${metadata.roomId}` : "agentvault:owner",
|
|
645
649
|
To: `agentvault:agent:${account.accountId}`,
|
|
646
650
|
SessionKey: route.sessionKey,
|
|
647
651
|
AccountId: account.accountId,
|
|
648
|
-
ChatType: isRoomMessage ? "room" : "direct",
|
|
649
|
-
ConversationLabel: isRoomMessage ? "AgentVault Room" : "AgentVault",
|
|
650
|
-
SenderName: isRoomMessage ? "Room" : "Owner",
|
|
651
|
-
SenderId: isRoomMessage ? `agentvault:room:${metadata.roomId}` : "agentvault:owner",
|
|
652
|
+
ChatType: isA2AMessage ? "a2a" : isRoomMessage ? "room" : "direct",
|
|
653
|
+
ConversationLabel: isA2AMessage ? `A2A: ${metadata.fromHubAddress}` : isRoomMessage ? "AgentVault Room" : "AgentVault",
|
|
654
|
+
SenderName: isA2AMessage ? metadata.fromHubAddress : isRoomMessage ? "Room" : "Owner",
|
|
655
|
+
SenderId: isA2AMessage ? `a2a:${metadata.fromHubAddress}` : isRoomMessage ? `agentvault:room:${metadata.roomId}` : "agentvault:owner",
|
|
652
656
|
Provider: "agentvault",
|
|
653
657
|
Surface: "agentvault",
|
|
654
658
|
MessageSid: metadata.messageId,
|
|
@@ -686,7 +690,11 @@ async function handleInbound(params) {
|
|
|
686
690
|
replyCount++;
|
|
687
691
|
totalReplyChars += text.length;
|
|
688
692
|
if (!firstReplyTime) firstReplyTime = replyStart;
|
|
689
|
-
if (
|
|
693
|
+
if (isA2AMessage) {
|
|
694
|
+
await channel.sendToAgent(metadata.fromHubAddress, text, {
|
|
695
|
+
parentSpanId: inferenceSpanId
|
|
696
|
+
});
|
|
697
|
+
} else if (isRoomMessage) {
|
|
690
698
|
await channel.sendToRoom(metadata.roomId, text, {
|
|
691
699
|
metadata: { content_length: text.length }
|
|
692
700
|
});
|
|
@@ -967,6 +975,28 @@ var agentVaultPlugin = {
|
|
|
967
975
|
_log?.(`[AgentVault] inbound error: ${String(err)}`);
|
|
968
976
|
}
|
|
969
977
|
},
|
|
978
|
+
onA2AMessage: async (msg) => {
|
|
979
|
+
const a2aMetadata = {
|
|
980
|
+
a2aChannelId: msg.channelId,
|
|
981
|
+
fromHubAddress: msg.fromHubAddress,
|
|
982
|
+
conversationId: msg.conversationId,
|
|
983
|
+
timestamp: msg.timestamp,
|
|
984
|
+
parentSpanId: msg.parentSpanId,
|
|
985
|
+
messageId: `a2a:${msg.channelId}:${Date.now()}`
|
|
986
|
+
};
|
|
987
|
+
if (!_ocRuntime) {
|
|
988
|
+
_log?.("[AgentVault] runtime not ready, queuing A2A message");
|
|
989
|
+
_messageQueue.push(async () => {
|
|
990
|
+
await handleInbound({ plaintext: msg.text, metadata: a2aMetadata, channel, account, cfg });
|
|
991
|
+
});
|
|
992
|
+
return;
|
|
993
|
+
}
|
|
994
|
+
try {
|
|
995
|
+
await handleInbound({ plaintext: msg.text, metadata: a2aMetadata, channel, account, cfg });
|
|
996
|
+
} catch (err) {
|
|
997
|
+
_log?.(`[AgentVault] A2A inbound error: ${String(err)}`);
|
|
998
|
+
}
|
|
999
|
+
},
|
|
970
1000
|
onStateChange: (state) => {
|
|
971
1001
|
_log?.(`[AgentVault] \u2192 ${state}`);
|
|
972
1002
|
if (state === "error") reject(new Error("AgentVault channel permanent error"));
|
|
@@ -1013,7 +1043,12 @@ var agentVaultPlugin = {
|
|
|
1013
1043
|
if (!ch) return { ok: false, error: "AgentVault channel not connected" };
|
|
1014
1044
|
try {
|
|
1015
1045
|
const wasReady = ch.state === "ready";
|
|
1016
|
-
|
|
1046
|
+
if (to.startsWith("a2a:")) {
|
|
1047
|
+
const hubAddress = to.slice(4);
|
|
1048
|
+
await ch.sendToAgent(hubAddress, text);
|
|
1049
|
+
} else {
|
|
1050
|
+
await ch.send(text);
|
|
1051
|
+
}
|
|
1017
1052
|
return { ok: true, queued: !wasReady };
|
|
1018
1053
|
} catch (err) {
|
|
1019
1054
|
return { ok: false, error: String(err) };
|
|
@@ -1027,7 +1062,11 @@ var agentVaultPlugin = {
|
|
|
1027
1062
|
const message = text ? `${text}
|
|
1028
1063
|
${mediaUrl}` : mediaUrl;
|
|
1029
1064
|
const wasReady = ch.state === "ready";
|
|
1030
|
-
|
|
1065
|
+
if (to.startsWith("a2a:")) {
|
|
1066
|
+
await ch.sendToAgent(to.slice(4), message);
|
|
1067
|
+
} else {
|
|
1068
|
+
await ch.send(message);
|
|
1069
|
+
}
|
|
1031
1070
|
return { ok: true, queued: !wasReady };
|
|
1032
1071
|
} catch (err) {
|
|
1033
1072
|
return { ok: false, error: String(err) };
|
|
@@ -1045,17 +1084,25 @@ ${mediaUrl}` : mediaUrl;
|
|
|
1045
1084
|
});
|
|
1046
1085
|
const text = (payload.text ?? "").trim();
|
|
1047
1086
|
if (!text && !payload.mediaUrls?.length) return { ok: true };
|
|
1087
|
+
const _send = async (msg) => {
|
|
1088
|
+
const target = ctx.to;
|
|
1089
|
+
if (target && typeof target === "string" && target.startsWith("a2a:")) {
|
|
1090
|
+
await ch.sendToAgent(target.slice(4), msg);
|
|
1091
|
+
} else {
|
|
1092
|
+
await ch.send(msg);
|
|
1093
|
+
}
|
|
1094
|
+
};
|
|
1048
1095
|
if (text) {
|
|
1049
|
-
await
|
|
1096
|
+
await _send(text);
|
|
1050
1097
|
}
|
|
1051
1098
|
if (payload.mediaUrls?.length) {
|
|
1052
1099
|
for (const url of payload.mediaUrls) {
|
|
1053
|
-
await
|
|
1100
|
+
await _send(url);
|
|
1054
1101
|
}
|
|
1055
1102
|
}
|
|
1056
1103
|
if (payload.suggestedActions?.length) {
|
|
1057
1104
|
const actionsText = payload.suggestedActions.map((a) => `- ${a.label}: ${a.action}`).join("\n");
|
|
1058
|
-
await
|
|
1105
|
+
await _send(`Suggested actions:
|
|
1059
1106
|
${actionsText}`);
|
|
1060
1107
|
}
|
|
1061
1108
|
return { ok: true };
|