@openclawcity/become 1.0.29 → 1.0.31
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/cli.cjs +26 -5
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.js +26 -5
- package/dist/cli.js.map +1 -1
- package/dist/index.cjs +24 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +8 -1
- package/dist/index.d.ts +8 -1
- package/dist/index.js +24 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.cjs
CHANGED
|
@@ -808,8 +808,29 @@ function detectAgentConversation(messages) {
|
|
|
808
808
|
}
|
|
809
809
|
return negative;
|
|
810
810
|
}
|
|
811
|
-
function extractExchangeText(messages) {
|
|
812
|
-
|
|
811
|
+
function extractExchangeText(messages, otherAgentId) {
|
|
812
|
+
const relevant = messages.filter((m) => m.role === "user" || m.role === "assistant");
|
|
813
|
+
if (otherAgentId) {
|
|
814
|
+
let lastAgentMsgIndex = -1;
|
|
815
|
+
for (let i = relevant.length - 1; i >= 0; i--) {
|
|
816
|
+
const msg = relevant[i];
|
|
817
|
+
if (msg.role !== "user") continue;
|
|
818
|
+
const text = contentToString(msg.content);
|
|
819
|
+
if (msg.name === otherAgentId || text.includes(otherAgentId)) {
|
|
820
|
+
lastAgentMsgIndex = i;
|
|
821
|
+
break;
|
|
822
|
+
}
|
|
823
|
+
}
|
|
824
|
+
if (lastAgentMsgIndex >= 0) {
|
|
825
|
+
const slice = relevant.slice(lastAgentMsgIndex, lastAgentMsgIndex + 2);
|
|
826
|
+
return slice.map((m) => {
|
|
827
|
+
const speaker = m.name ?? m.role;
|
|
828
|
+
const content = contentToString(m.content);
|
|
829
|
+
return `[${speaker}]: ${content}`;
|
|
830
|
+
}).join("\n").slice(0, 6e3);
|
|
831
|
+
}
|
|
832
|
+
}
|
|
833
|
+
return relevant.map((m) => {
|
|
813
834
|
const speaker = m.name ?? m.role;
|
|
814
835
|
const content = contentToString(m.content);
|
|
815
836
|
return `[${speaker}]: ${content}`;
|
|
@@ -840,7 +861,7 @@ var LessonExtractor = class {
|
|
|
840
861
|
const trustLevel = this.trust.getLevel(agentId);
|
|
841
862
|
if (trustLevel === "blocked") return;
|
|
842
863
|
if (!this.trust.canLearn(agentId)) return;
|
|
843
|
-
const exchangeText = extractExchangeText(messages);
|
|
864
|
+
const exchangeText = extractExchangeText(messages, agentId !== "unknown-agent" ? agentId : void 0);
|
|
844
865
|
if (exchangeText.length < 20) return;
|
|
845
866
|
const prompt = `Analyze this conversation between an AI agent and another agent. Extract concrete, actionable lessons that the first agent (the "assistant") can learn from the other agent.
|
|
846
867
|
|
|
@@ -1349,7 +1370,7 @@ function renderPendingCard(l) {
|
|
|
1349
1370
|
return '<div class="card" id="card-' + l.id + '">' +
|
|
1350
1371
|
'<div class="card-instruction">' + esc(l.instruction) + '</div>' +
|
|
1351
1372
|
'<div class="card-meta">' +
|
|
1352
|
-
'<span>From: <
|
|
1373
|
+
'<span>From: <a href="https://openclawcity.ai/' + encodeURIComponent(l.learned_from) + '" target="_blank" rel="noopener" style="color:var(--accent);text-decoration:none;font-weight:600">' + esc(l.learned_from) + '</a></span>' +
|
|
1353
1374
|
'<span>Source: ' + esc(l.source) + '</span>' +
|
|
1354
1375
|
'<span>Confidence: ' + (l.confidence * 100).toFixed(0) + '%</span>' +
|
|
1355
1376
|
'<span>Skill: ' + esc(l.name) + '</span>' +
|
|
@@ -1403,7 +1424,7 @@ async function loadSkills() {
|
|
|
1403
1424
|
html += '<div class="card" id="card-' + s.id + '">' +
|
|
1404
1425
|
'<div class="card-header"><div class="card-instruction">' + esc(s.instruction) + '</div>' +
|
|
1405
1426
|
'<button class="btn btn-disable btn-small" onclick="doDisable(\\''+s.id+'\\')">Disable</button></div>' +
|
|
1406
|
-
'<div class="card-meta"><span>From: ' + esc(s.learned_from) + '</span><span>Source: ' + esc(s.source) + '</span></div>' +
|
|
1427
|
+
'<div class="card-meta"><span>From: <a href="https://openclawcity.ai/' + encodeURIComponent(s.learned_from) + '" target="_blank" rel="noopener" style="color:var(--accent);text-decoration:none">' + esc(s.learned_from) + '</a></span><span>Source: ' + esc(s.source) + '</span></div>' +
|
|
1407
1428
|
'</div>';
|
|
1408
1429
|
}
|
|
1409
1430
|
html += '</div>';
|