@perkos/perkos-a2a 0.8.18 → 0.8.20
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/agentic-actions.d.ts.map +1 -1
- package/dist/agentic-actions.js +24 -5
- package/dist/agentic-actions.js.map +1 -1
- package/dist/index.js +25 -7
- package/dist/index.js.map +3 -3
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentic-actions.d.ts","sourceRoot":"","sources":["../src/agentic-actions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,KAAK,aAAa,GAAG;IACnB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtE,CAAC;AAEF,KAAK,MAAM,GAAG;IAAE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"agentic-actions.d.ts","sourceRoot":"","sources":["../src/agentic-actions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,KAAK,aAAa,GAAG;IACnB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtE,CAAC;AAEF,KAAK,MAAM,GAAG;IAAE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;CAAE,CAAC;AA2F1F,wBAAsB,oBAAoB,CAAC,KAAK,EAAE;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,OAAO,CAAC,CA4EnB"}
|
package/dist/agentic-actions.js
CHANGED
|
@@ -4,6 +4,7 @@ function includesAny(text, terms) {
|
|
|
4
4
|
return terms.some((term) => lower.includes(term.toLowerCase()));
|
|
5
5
|
}
|
|
6
6
|
function detectTarget(text, selfName) {
|
|
7
|
+
const routingText = text.replace(/^Delegated by .*?\.\s*/i, "");
|
|
7
8
|
const candidates = [
|
|
8
9
|
["Perkos-Claw-Tester", ["perkos-claw-tester", "openclaw", "open claw", "claw"]],
|
|
9
10
|
["Perkos-Hermes-Tester", ["perkos-hermes-tester", "hermes"]],
|
|
@@ -12,7 +13,7 @@ function detectTarget(text, selfName) {
|
|
|
12
13
|
for (const [name, terms] of candidates) {
|
|
13
14
|
if (name === selfName)
|
|
14
15
|
continue;
|
|
15
|
-
if (includesAny(
|
|
16
|
+
if (includesAny(routingText, terms))
|
|
16
17
|
return name;
|
|
17
18
|
}
|
|
18
19
|
return undefined;
|
|
@@ -93,9 +94,27 @@ export async function tryHandleAgenticTask(input) {
|
|
|
93
94
|
const wantsDelegation = includesAny(text, ["usa comunicación a2a", "usar comunicación a2a", "pídele", "dile a", "delegate", "delegar", "tell", "ask"]);
|
|
94
95
|
const wantsEthResearch = includesAny(text, ["precio de eth", "eth price", "ethereum price", "precio actual de eth"]);
|
|
95
96
|
const wantsReply = includesAny(text, ["responda a", "envíe", "envia", "send", "reply", "morpheus"]);
|
|
96
|
-
if (wantsEthResearch && !wantsDelegation) {
|
|
97
|
+
if (wantsEthResearch && (!wantsDelegation || text.trim().toLowerCase().startsWith("delegated research request"))) {
|
|
97
98
|
const research = await researchEthPrice();
|
|
98
|
-
|
|
99
|
+
const replyTarget = wantsReply ? detectReplyTarget(text, selfName) : undefined;
|
|
100
|
+
let replyResultText = "";
|
|
101
|
+
if (replyTarget) {
|
|
102
|
+
const replyResult = await server.sendTask(replyTarget, [
|
|
103
|
+
`Research result from ${selfName}:`,
|
|
104
|
+
"",
|
|
105
|
+
research,
|
|
106
|
+
"",
|
|
107
|
+
"DELEGATED_ETH_RESEARCH_DONE",
|
|
108
|
+
].join("\n"));
|
|
109
|
+
replyResultText = extractTaskFinalText(replyResult);
|
|
110
|
+
}
|
|
111
|
+
completeTaskWithReply(task, [
|
|
112
|
+
research,
|
|
113
|
+
"",
|
|
114
|
+
replyTarget ? `Forwarded to ${replyTarget}.` : undefined,
|
|
115
|
+
replyResultText ? `Reply delivery result:\n${replyResultText}` : undefined,
|
|
116
|
+
"ETH_RESEARCH_DONE",
|
|
117
|
+
].filter(Boolean).join("\n"));
|
|
99
118
|
return true;
|
|
100
119
|
}
|
|
101
120
|
if (!wantsDelegation)
|
|
@@ -106,12 +125,12 @@ export async function tryHandleAgenticTask(input) {
|
|
|
106
125
|
const replyTarget = wantsReply ? detectReplyTarget(text, selfName) : undefined;
|
|
107
126
|
const delegatedMessage = wantsEthResearch
|
|
108
127
|
? [
|
|
109
|
-
|
|
128
|
+
"Delegated research request. Research the current ETH price using available live/public APIs.",
|
|
110
129
|
"Return concise findings with source names, timestamp if available, and limitations.",
|
|
111
130
|
replyTarget ? `If possible, send the final result to ${replyTarget} via A2A.` : "",
|
|
112
131
|
"End with DELEGATED_ETH_RESEARCH_DONE.",
|
|
113
132
|
].filter(Boolean).join("\n")
|
|
114
|
-
: `Delegated
|
|
133
|
+
: `Delegated request: ${text}\nEnd with DELEGATED_A2A_DONE.`;
|
|
115
134
|
logger.info(`[perkos-a2a] Agentic delegation: ${selfName} -> ${target}${replyTarget ? ` -> ${replyTarget}` : ""}`);
|
|
116
135
|
const delegatedResult = await server.sendTask(target, delegatedMessage);
|
|
117
136
|
const delegatedText = extractTaskFinalText(delegatedResult);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentic-actions.js","sourceRoot":"","sources":["../src/agentic-actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAS3D,SAAS,WAAW,CAAC,IAAY,EAAE,KAAe;IAChD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,QAAgB;IAClD,MAAM,UAAU,GAA8B;QAC5C,CAAC,oBAAoB,EAAE,CAAC,oBAAoB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC/E,CAAC,sBAAsB,EAAE,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC;QAC5D,CAAC,uBAAuB,EAAE,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAC;KACjE,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;QACvC,IAAI,IAAI,KAAK,QAAQ;YAAE,SAAS;QAChC,IAAI,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"agentic-actions.js","sourceRoot":"","sources":["../src/agentic-actions.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -27346,6 +27346,7 @@ function includesAny(text, terms) {
|
|
|
27346
27346
|
return terms.some((term) => lower.includes(term.toLowerCase()));
|
|
27347
27347
|
}
|
|
27348
27348
|
function detectTarget(text, selfName) {
|
|
27349
|
+
const routingText = text.replace(/^Delegated by .*?\.\s*/i, "");
|
|
27349
27350
|
const candidates = [
|
|
27350
27351
|
["Perkos-Claw-Tester", ["perkos-claw-tester", "openclaw", "open claw", "claw"]],
|
|
27351
27352
|
["Perkos-Hermes-Tester", ["perkos-hermes-tester", "hermes"]],
|
|
@@ -27353,7 +27354,7 @@ function detectTarget(text, selfName) {
|
|
|
27353
27354
|
];
|
|
27354
27355
|
for (const [name, terms] of candidates) {
|
|
27355
27356
|
if (name === selfName) continue;
|
|
27356
|
-
if (includesAny(
|
|
27357
|
+
if (includesAny(routingText, terms)) return name;
|
|
27357
27358
|
}
|
|
27358
27359
|
return void 0;
|
|
27359
27360
|
}
|
|
@@ -27425,11 +27426,28 @@ async function tryHandleAgenticTask(input) {
|
|
|
27425
27426
|
const wantsDelegation = includesAny(text, ["usa comunicaci\xF3n a2a", "usar comunicaci\xF3n a2a", "p\xEDdele", "dile a", "delegate", "delegar", "tell", "ask"]);
|
|
27426
27427
|
const wantsEthResearch = includesAny(text, ["precio de eth", "eth price", "ethereum price", "precio actual de eth"]);
|
|
27427
27428
|
const wantsReply = includesAny(text, ["responda a", "env\xEDe", "envia", "send", "reply", "morpheus"]);
|
|
27428
|
-
if (wantsEthResearch && !wantsDelegation) {
|
|
27429
|
+
if (wantsEthResearch && (!wantsDelegation || text.trim().toLowerCase().startsWith("delegated research request"))) {
|
|
27429
27430
|
const research = await researchEthPrice();
|
|
27430
|
-
|
|
27431
|
-
|
|
27432
|
-
|
|
27431
|
+
const replyTarget2 = wantsReply ? detectReplyTarget(text, selfName) : void 0;
|
|
27432
|
+
let replyResultText2 = "";
|
|
27433
|
+
if (replyTarget2) {
|
|
27434
|
+
const replyResult = await server.sendTask(replyTarget2, [
|
|
27435
|
+
`Research result from ${selfName}:`,
|
|
27436
|
+
"",
|
|
27437
|
+
research,
|
|
27438
|
+
"",
|
|
27439
|
+
"DELEGATED_ETH_RESEARCH_DONE"
|
|
27440
|
+
].join("\n"));
|
|
27441
|
+
replyResultText2 = extractTaskFinalText(replyResult);
|
|
27442
|
+
}
|
|
27443
|
+
completeTaskWithReply(task, [
|
|
27444
|
+
research,
|
|
27445
|
+
"",
|
|
27446
|
+
replyTarget2 ? `Forwarded to ${replyTarget2}.` : void 0,
|
|
27447
|
+
replyResultText2 ? `Reply delivery result:
|
|
27448
|
+
${replyResultText2}` : void 0,
|
|
27449
|
+
"ETH_RESEARCH_DONE"
|
|
27450
|
+
].filter(Boolean).join("\n"));
|
|
27433
27451
|
return true;
|
|
27434
27452
|
}
|
|
27435
27453
|
if (!wantsDelegation) return false;
|
|
@@ -27437,11 +27455,11 @@ ETH_RESEARCH_DONE`);
|
|
|
27437
27455
|
if (!target) return false;
|
|
27438
27456
|
const replyTarget = wantsReply ? detectReplyTarget(text, selfName) : void 0;
|
|
27439
27457
|
const delegatedMessage = wantsEthResearch ? [
|
|
27440
|
-
|
|
27458
|
+
"Delegated research request. Research the current ETH price using available live/public APIs.",
|
|
27441
27459
|
"Return concise findings with source names, timestamp if available, and limitations.",
|
|
27442
27460
|
replyTarget ? `If possible, send the final result to ${replyTarget} via A2A.` : "",
|
|
27443
27461
|
"End with DELEGATED_ETH_RESEARCH_DONE."
|
|
27444
|
-
].filter(Boolean).join("\n") : `Delegated
|
|
27462
|
+
].filter(Boolean).join("\n") : `Delegated request: ${text}
|
|
27445
27463
|
End with DELEGATED_A2A_DONE.`;
|
|
27446
27464
|
logger.info(`[perkos-a2a] Agentic delegation: ${selfName} -> ${target}${replyTarget ? ` -> ${replyTarget}` : ""}`);
|
|
27447
27465
|
const delegatedResult = await server.sendTask(target, delegatedMessage);
|