akemon 0.1.75 → 0.1.76
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/server.js +19 -0
- package/package.json +1 -1
package/dist/server.js
CHANGED
|
@@ -15,6 +15,18 @@ import { selfDir, initWorld, initBioState, initGuide, biosPath, loadBioState, sa
|
|
|
15
15
|
let engineBusy = false;
|
|
16
16
|
let engineBusySince = 0;
|
|
17
17
|
let lastEngineTrace = []; // execution trace for order reporting
|
|
18
|
+
/** Report an execution log to the relay (fire-and-forget) */
|
|
19
|
+
function reportExecutionLog(relayHttp, secretKey, agentName, type, refId, status, error, trace) {
|
|
20
|
+
if (!relayHttp || !secretKey)
|
|
21
|
+
return;
|
|
22
|
+
const traceJson = trace.length > 0 ? JSON.stringify(trace).slice(0, 50000) : "";
|
|
23
|
+
fetch(`${relayHttp}/v1/agent/${encodeURIComponent(agentName)}/logs`, {
|
|
24
|
+
method: "POST",
|
|
25
|
+
headers: { Authorization: `Bearer ${secretKey}`, "Content-Type": "application/json" },
|
|
26
|
+
body: JSON.stringify({ type, ref_id: refId, status, error: error.slice(0, 2000), trace: traceJson }),
|
|
27
|
+
signal: AbortSignal.timeout(10_000),
|
|
28
|
+
}).catch(() => { }); // fire-and-forget
|
|
29
|
+
}
|
|
18
30
|
// Order push notification — urgent orders bypass 30s poll
|
|
19
31
|
const urgentOrderIds = new Set();
|
|
20
32
|
let triggerWork = null;
|
|
@@ -1080,6 +1092,7 @@ Reply ONLY with JSON.`;
|
|
|
1080
1092
|
}
|
|
1081
1093
|
catch (err) {
|
|
1082
1094
|
console.log(`[self] Digestion engine failed: ${err.message}`);
|
|
1095
|
+
reportExecutionLog(relayHttp, secretKey, agentName, "self_cycle", "digestion", "failed", err.message, lastEngineTrace);
|
|
1083
1096
|
engineBusy = false;
|
|
1084
1097
|
return;
|
|
1085
1098
|
}
|
|
@@ -1195,6 +1208,7 @@ Reply ONLY with the summary text, no JSON, no markdown headers.`;
|
|
|
1195
1208
|
}
|
|
1196
1209
|
catch (err) {
|
|
1197
1210
|
console.log(`[self] Activity ${activity} failed: ${err.message}`);
|
|
1211
|
+
reportExecutionLog(relayHttp, secretKey, agentName, "self_cycle", activity, "failed", err.message, lastEngineTrace);
|
|
1198
1212
|
}
|
|
1199
1213
|
engineBusy = false;
|
|
1200
1214
|
}
|
|
@@ -1206,6 +1220,7 @@ Reply ONLY with the summary text, no JSON, no markdown headers.`;
|
|
|
1206
1220
|
}
|
|
1207
1221
|
catch (err) {
|
|
1208
1222
|
console.log(`[self] Digestion error: ${err.message}`);
|
|
1223
|
+
reportExecutionLog(relayHttp, secretKey, agentName, "self_cycle", "digestion", "failed", err.message, lastEngineTrace);
|
|
1209
1224
|
}
|
|
1210
1225
|
}
|
|
1211
1226
|
async function syncToRelay(workdir, agentName, sd, relayHttp, secretKey, bio) {
|
|
@@ -1399,6 +1414,7 @@ When sub-order completes, incorporate result_text into YOUR delivery. Then call
|
|
|
1399
1414
|
});
|
|
1400
1415
|
if (deliverRes.ok) {
|
|
1401
1416
|
console.log(`[orders] Delivered order ${order.id} (${result.length} bytes)`);
|
|
1417
|
+
reportExecutionLog(relayHttp, secretKey, agentName, "order", order.id, "success", "", trace);
|
|
1402
1418
|
retryState.delete(order.id);
|
|
1403
1419
|
try {
|
|
1404
1420
|
await onTaskCompleted(workdir, agentName, true);
|
|
@@ -1415,6 +1431,7 @@ When sub-order completes, incorporate result_text into YOUR delivery. Then call
|
|
|
1415
1431
|
}
|
|
1416
1432
|
catch (err) {
|
|
1417
1433
|
console.log(`[orders] Failed to fulfill ${order.id}: ${err.message}`);
|
|
1434
|
+
reportExecutionLog(relayHttp, secretKey, agentName, "order", order.id, "failed", err.message, lastEngineTrace);
|
|
1418
1435
|
// Check if agent self-delivered despite empty stdout
|
|
1419
1436
|
try {
|
|
1420
1437
|
const checkRes = await fetch(`${relayHttp}/v1/orders/${order.id}`);
|
|
@@ -1493,6 +1510,7 @@ When sub-order completes, incorporate result_text into YOUR delivery. Then call
|
|
|
1493
1510
|
}
|
|
1494
1511
|
catch (err) {
|
|
1495
1512
|
console.log(`[tasks] Failed to execute ${task.id}: ${err.message}`);
|
|
1513
|
+
reportExecutionLog(relayHttp, secretKey, agentName, "platform_task", task.id, "failed", err.message, lastEngineTrace);
|
|
1496
1514
|
}
|
|
1497
1515
|
finally {
|
|
1498
1516
|
engineBusy = false;
|
|
@@ -1515,6 +1533,7 @@ When sub-order completes, incorporate result_text into YOUR delivery. Then call
|
|
|
1515
1533
|
}
|
|
1516
1534
|
catch (err) {
|
|
1517
1535
|
console.log(`[user-tasks] Failed: ${task.title}: ${err.message}`);
|
|
1536
|
+
reportExecutionLog(relayHttp, secretKey, agentName, "user_task", task.title, "failed", err.message, lastEngineTrace);
|
|
1518
1537
|
}
|
|
1519
1538
|
finally {
|
|
1520
1539
|
engineBusy = false;
|