@rudderhq/server 0.2.0-canary.30 → 0.2.0-canary.32
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/services/runtime-kernel/heartbeat.d.ts.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.js +219 -10
- package/dist/services/runtime-kernel/heartbeat.js.map +1 -1
- package/package.json +13 -13
- package/ui-dist/assets/{_basePickBy-BR0nF2FI.js → _basePickBy-DA-hesAy.js} +1 -1
- package/ui-dist/assets/{_baseUniq-5ISFwP3I.js → _baseUniq-ZWCKiBTZ.js} +1 -1
- package/ui-dist/assets/{arc-BXC3lvRk.js → arc-CRipFSLZ.js} +1 -1
- package/ui-dist/assets/{architectureDiagram-2XIMDMQ5-B0GS8kPW.js → architectureDiagram-2XIMDMQ5-C5k8CQxe.js} +1 -1
- package/ui-dist/assets/{blockDiagram-WCTKOSBZ-Cbw-cUfK.js → blockDiagram-WCTKOSBZ-3oNG2PKj.js} +1 -1
- package/ui-dist/assets/{c4Diagram-IC4MRINW-B2ZJ2gOp.js → c4Diagram-IC4MRINW-D3lU-SbK.js} +1 -1
- package/ui-dist/assets/channel-D4zdd2Hv.js +1 -0
- package/ui-dist/assets/{chunk-4BX2VUAB-Dr4X44Zy.js → chunk-4BX2VUAB-Dg3qldzk.js} +1 -1
- package/ui-dist/assets/{chunk-55IACEB6-CgPUXOJK.js → chunk-55IACEB6-YpzDyZwK.js} +1 -1
- package/ui-dist/assets/{chunk-FMBD7UC4-CzWKru1K.js → chunk-FMBD7UC4-BbXLkwER.js} +1 -1
- package/ui-dist/assets/{chunk-JSJVCQXG-B6JAy8qT.js → chunk-JSJVCQXG-Qk-s9kVf.js} +1 -1
- package/ui-dist/assets/{chunk-KX2RTZJC-Gncsgd45.js → chunk-KX2RTZJC-DXKDMwkq.js} +1 -1
- package/ui-dist/assets/{chunk-NQ4KR5QH-BdByVTBN.js → chunk-NQ4KR5QH-CtWdeRHB.js} +1 -1
- package/ui-dist/assets/{chunk-QZHKN3VN-o8TeQ84b.js → chunk-QZHKN3VN-CoaYElnK.js} +1 -1
- package/ui-dist/assets/{chunk-WL4C6EOR-CBrCpp2i.js → chunk-WL4C6EOR-A3JNqroJ.js} +1 -1
- package/ui-dist/assets/classDiagram-VBA2DB6C-c1S1b9CS.js +1 -0
- package/ui-dist/assets/classDiagram-v2-RAHNMMFH-c1S1b9CS.js +1 -0
- package/ui-dist/assets/clone-B7xrTWEs.js +1 -0
- package/ui-dist/assets/{cose-bilkent-S5V4N54A-C3FVmWrW.js → cose-bilkent-S5V4N54A-CEMN3K9d.js} +1 -1
- package/ui-dist/assets/{dagre-KLK3FWXG-BFCT445k.js → dagre-KLK3FWXG-c6d-URCM.js} +1 -1
- package/ui-dist/assets/{diagram-E7M64L7V-Q5XqZgqg.js → diagram-E7M64L7V-BbCUdB9i.js} +1 -1
- package/ui-dist/assets/{diagram-IFDJBPK2-C06YshHA.js → diagram-IFDJBPK2-7ITvfsHM.js} +1 -1
- package/ui-dist/assets/{diagram-P4PSJMXO-C6K_H0uF.js → diagram-P4PSJMXO-Cr7vI6h4.js} +1 -1
- package/ui-dist/assets/{erDiagram-INFDFZHY-DkQTAunB.js → erDiagram-INFDFZHY-GJjO3-0b.js} +1 -1
- package/ui-dist/assets/{flowDiagram-PKNHOUZH-BgbgOjL1.js → flowDiagram-PKNHOUZH-CH-fp4jz.js} +1 -1
- package/ui-dist/assets/{ganttDiagram-A5KZAMGK-widr9cDN.js → ganttDiagram-A5KZAMGK-BAilwD__.js} +1 -1
- package/ui-dist/assets/{gitGraphDiagram-K3NZZRJ6-DYnwthtM.js → gitGraphDiagram-K3NZZRJ6-IbxesmXI.js} +1 -1
- package/ui-dist/assets/{graph-jorfYAk2.js → graph-CONLYiMp.js} +1 -1
- package/ui-dist/assets/{index-BAF0turT.js → index-1JIeCwib.js} +1 -1
- package/ui-dist/assets/{index-Bobz2qpS.js → index-Avy5TS6T.js} +1 -1
- package/ui-dist/assets/{index-CuAEQLmk.js → index-B1WRXK6D.js} +1 -1
- package/ui-dist/assets/{index-Bupy7k6f.js → index-BCcHYjFr.js} +1 -1
- package/ui-dist/assets/{index-PWauz4gH.js → index-BEuCEvml.js} +1 -1
- package/ui-dist/assets/{index-Dm4e-Cy9.js → index-BFiv8p6y.js} +1 -1
- package/ui-dist/assets/{index-B-YikyME.js → index-BpjafC-N.js} +1 -1
- package/ui-dist/assets/{index-BaMFw1jE.js → index-BxTP-9bM.js} +1 -1
- package/ui-dist/assets/{index-Cc1u5Vu1.js → index-C1RJ2x0h.js} +1 -1
- package/ui-dist/assets/{index-CwAqlMwK.js → index-CD7PUlt0.js} +1 -1
- package/ui-dist/assets/{index-C3xXJ03K.js → index-CF1fbZSg.js} +1 -1
- package/ui-dist/assets/{index-1TsTA04E.js → index-CcSfiAg8.js} +1 -1
- package/ui-dist/assets/{index-BAF7jWEJ.js → index-D2SZpxb4.js} +1 -1
- package/ui-dist/assets/index-D2ZDG-Xl.css +1 -0
- package/ui-dist/assets/{index-CloQl7aB.js → index-D5TgqFFp.js} +1 -1
- package/ui-dist/assets/{index-CpyKUK6n.js → index-D8GWAYxD.js} +337 -337
- package/ui-dist/assets/{index-C7xTMIzj.js → index-DIe-XsiA.js} +1 -1
- package/ui-dist/assets/{index-DLK1cIHH.js → index-DOPkHiD1.js} +1 -1
- package/ui-dist/assets/{index-CmM5_alI.js → index-DYvd1KXI.js} +1 -1
- package/ui-dist/assets/{index-BZB6mj0a.js → index-Dh019Izx.js} +1 -1
- package/ui-dist/assets/{index-CulFBXAK.js → index-Pv0W-EXv.js} +1 -1
- package/ui-dist/assets/{index-BQrN9dBH.js → index-R2_BdFde.js} +1 -1
- package/ui-dist/assets/{index-bjEXNV5G.js → index-iBQNt28E.js} +1 -1
- package/ui-dist/assets/{index-BYMK50PS.js → index-nd3leuii.js} +1 -1
- package/ui-dist/assets/{infoDiagram-LFFYTUFH-Dv0ikKRy.js → infoDiagram-LFFYTUFH-CwmfB4Wm.js} +1 -1
- package/ui-dist/assets/{ishikawaDiagram-PHBUUO56-BxH6bc6Y.js → ishikawaDiagram-PHBUUO56-BhN0TzSr.js} +1 -1
- package/ui-dist/assets/{journeyDiagram-4ABVD52K-CaSMCNbQ.js → journeyDiagram-4ABVD52K-gyN4lewQ.js} +1 -1
- package/ui-dist/assets/{kanban-definition-K7BYSVSG-5eHfzSnl.js → kanban-definition-K7BYSVSG-B2uHc1EK.js} +1 -1
- package/ui-dist/assets/{layout-CtDjkqkn.js → layout-C1-u17R6.js} +1 -1
- package/ui-dist/assets/{linear-mVCenGvP.js → linear-CCKs3SR9.js} +1 -1
- package/ui-dist/assets/{mermaid.core-_JLWjhTU.js → mermaid.core-BnrNxiCw.js} +4 -4
- package/ui-dist/assets/{mindmap-definition-YRQLILUH-0RGu-2kF.js → mindmap-definition-YRQLILUH-Cg2cfIZY.js} +1 -1
- package/ui-dist/assets/{pieDiagram-SKSYHLDU-_agMQhFR.js → pieDiagram-SKSYHLDU-BMrVJaec.js} +1 -1
- package/ui-dist/assets/{quadrantDiagram-337W2JSQ-Di34EXDn.js → quadrantDiagram-337W2JSQ-BMY7SS4L.js} +1 -1
- package/ui-dist/assets/{requirementDiagram-Z7DCOOCP-UuNeIsQb.js → requirementDiagram-Z7DCOOCP-BjSO3EDU.js} +1 -1
- package/ui-dist/assets/{sankeyDiagram-WA2Y5GQK-6BDVS2BI.js → sankeyDiagram-WA2Y5GQK-Fw0V8tB3.js} +1 -1
- package/ui-dist/assets/{sequenceDiagram-2WXFIKYE-CLDhPIno.js → sequenceDiagram-2WXFIKYE-P33VTkvW.js} +1 -1
- package/ui-dist/assets/{stateDiagram-RAJIS63D-DuvP0adD.js → stateDiagram-RAJIS63D-BFpU-yQx.js} +1 -1
- package/ui-dist/assets/stateDiagram-v2-FVOUBMTO--8_cNk1V.js +1 -0
- package/ui-dist/assets/{timeline-definition-YZTLITO2-ACRTFtyC.js → timeline-definition-YZTLITO2-DG26ZNrp.js} +1 -1
- package/ui-dist/assets/{treemap-KZPCXAKY-lzq_UnGT.js → treemap-KZPCXAKY-KHFbZtJo.js} +1 -1
- package/ui-dist/assets/{vennDiagram-LZ73GAT5-Cy74iaHn.js → vennDiagram-LZ73GAT5-De1R5u1h.js} +1 -1
- package/ui-dist/assets/{xychartDiagram-JWTSCODW-B8PEFE70.js → xychartDiagram-JWTSCODW-FxXSj7as.js} +1 -1
- package/ui-dist/index.html +2 -2
- package/ui-dist/assets/channel-CmktwGKa.js +0 -1
- package/ui-dist/assets/classDiagram-VBA2DB6C-D3BM8S09.js +0 -1
- package/ui-dist/assets/classDiagram-v2-RAHNMMFH-D3BM8S09.js +0 -1
- package/ui-dist/assets/clone-D7iGSeBr.js +0 -1
- package/ui-dist/assets/index-8Zcft6yo.css +0 -1
- package/ui-dist/assets/stateDiagram-v2-FVOUBMTO-Ut3TXFjF.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../../../src/services/runtime-kernel/heartbeat.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,EACV,mBAAmB,EAKnB,6BAA6B,EAG9B,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EACL,MAAM,EAWP,MAAM,cAAc,CAAC;AAgBtB,OAAO,KAAK,EAEV,0BAA0B,EAC1B,wBAAwB,EAEzB,MAAM,+BAA+B,CAAC;AAIvC,OAAO,EAAiB,KAAK,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAC;AAkCjC,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,+BAA+B,CAAC;AASvC,OAAO,EAAE,0CAA0C,EAAE,KAAK,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AA+HnH,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,CAAC;IACxE,aAAa,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC1D,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IACnD,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAwBD,wBAAgB,oCAAoC,CAClD,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GAC1D,6BAA6B,CAE/B;AAiBD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,UAG5F;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE;IACxD,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,aAAa,EAAE,KAAK,CAAC;QACnB,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5B,CAAC,CAAC;IACH,WAAW,CAAC,EAAE,IAAI,CAAC,0BAA0B,EAAE,kBAAkB,GAAG,SAAS,GAAG,KAAK,GAAG,cAAc,GAAG,eAAe,CAAC,GAAG,IAAI,CAAC;CAClI;;;;;;;;;;;;;;;;EAgBA;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE;IACxD,IAAI,EAAE,0BAA0B,CAAC;IACjC,aAAa,EAAE,KAAK,CAAC;QACnB,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5B,CAAC,CAAC;CACJ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA4C1B;
|
|
1
|
+
{"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../../../src/services/runtime-kernel/heartbeat.ts"],"names":[],"mappings":"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"}
|
|
@@ -302,7 +302,7 @@ function resolveSkillEvidence(input) {
|
|
|
302
302
|
return { evidence: "used", skills: input.usedSkills };
|
|
303
303
|
if (input.requestedSkills.length > 0)
|
|
304
304
|
return { evidence: "requested", skills: input.requestedSkills };
|
|
305
|
-
return { evidence: "loaded", skills:
|
|
305
|
+
return { evidence: "loaded", skills: [] };
|
|
306
306
|
}
|
|
307
307
|
function readSkillEvidenceFromPayload(payload) {
|
|
308
308
|
const loadedSkills = Array.isArray(payload.loadedSkills)
|
|
@@ -322,6 +322,97 @@ function readSkillEvidenceFromPayload(payload) {
|
|
|
322
322
|
: inferUsedSkillsFromPrompt(payload.prompt, loadedSkills);
|
|
323
323
|
return resolveSkillEvidence({ usedSkills, requestedSkills, loadedSkills });
|
|
324
324
|
}
|
|
325
|
+
function extractSkillSlugFromPath(value) {
|
|
326
|
+
const normalized = value.trim().replace(/\\/g, "/").replace(/[?#].*$/u, "").replace(/\/+$/u, "");
|
|
327
|
+
if (!normalized.endsWith("/SKILL.md"))
|
|
328
|
+
return null;
|
|
329
|
+
const parts = normalized.split("/").filter(Boolean);
|
|
330
|
+
if (parts.length < 2)
|
|
331
|
+
return null;
|
|
332
|
+
const slug = parts.at(-2);
|
|
333
|
+
if (!slug || slug === "." || slug === "..")
|
|
334
|
+
return null;
|
|
335
|
+
return slug;
|
|
336
|
+
}
|
|
337
|
+
function collectSkillPathsFromText(value) {
|
|
338
|
+
const paths = [];
|
|
339
|
+
const pattern = /(?:^|[\s"'`(=])((?:\.{1,2}\/|~\/|\/)?(?:[^\s"'`()<>|;&/]+\/)+SKILL\.md(?:[?#][^\s"'`()<>|;&]*)?)(?=$|[\s"'`()<>|;&])/giu;
|
|
340
|
+
for (const match of value.matchAll(pattern)) {
|
|
341
|
+
const pathValue = match[1]?.trim();
|
|
342
|
+
if (pathValue)
|
|
343
|
+
paths.push(pathValue);
|
|
344
|
+
}
|
|
345
|
+
return paths;
|
|
346
|
+
}
|
|
347
|
+
function collectStringValues(value, depth = 0) {
|
|
348
|
+
if (depth > 4)
|
|
349
|
+
return [];
|
|
350
|
+
if (typeof value === "string")
|
|
351
|
+
return [value];
|
|
352
|
+
if (Array.isArray(value))
|
|
353
|
+
return value.flatMap((entry) => collectStringValues(entry, depth + 1));
|
|
354
|
+
const record = parseObject(value);
|
|
355
|
+
return Object.values(record).flatMap((entry) => collectStringValues(entry, depth + 1));
|
|
356
|
+
}
|
|
357
|
+
function normalizeSkillUseFromPath(value) {
|
|
358
|
+
const slug = extractSkillSlugFromPath(value);
|
|
359
|
+
if (!slug)
|
|
360
|
+
return null;
|
|
361
|
+
return { key: slug, label: slug };
|
|
362
|
+
}
|
|
363
|
+
function dedupeSkillUses(skills) {
|
|
364
|
+
const seen = new Set();
|
|
365
|
+
const result = [];
|
|
366
|
+
for (const skill of skills) {
|
|
367
|
+
const normalized = normalizeLoadedSkill(skill);
|
|
368
|
+
if (!normalized || seen.has(normalized.key))
|
|
369
|
+
continue;
|
|
370
|
+
seen.add(normalized.key);
|
|
371
|
+
result.push(normalized);
|
|
372
|
+
}
|
|
373
|
+
return result;
|
|
374
|
+
}
|
|
375
|
+
function collectSkillUsesFromText(value) {
|
|
376
|
+
return collectSkillPathsFromText(value)
|
|
377
|
+
.map((entry) => normalizeSkillUseFromPath(entry))
|
|
378
|
+
.filter((entry) => Boolean(entry));
|
|
379
|
+
}
|
|
380
|
+
function readToolCommandInput(input) {
|
|
381
|
+
if (typeof input === "string")
|
|
382
|
+
return input;
|
|
383
|
+
const record = parseObject(input);
|
|
384
|
+
return readNonEmptyString(record.command) ?? readNonEmptyString(record.cmd);
|
|
385
|
+
}
|
|
386
|
+
function isCommandTranscriptTool(name) {
|
|
387
|
+
const normalized = name.trim().toLowerCase();
|
|
388
|
+
return ["command_execution", "shell", "shelltoolcall", "bash"].includes(normalized);
|
|
389
|
+
}
|
|
390
|
+
function isReadTranscriptTool(name) {
|
|
391
|
+
const normalized = name.trim().toLowerCase();
|
|
392
|
+
if (isCommandTranscriptTool(normalized))
|
|
393
|
+
return true;
|
|
394
|
+
if (/(?:^|[_-])(read|fetch|open|cat)(?:$|[_-])/.test(normalized))
|
|
395
|
+
return true;
|
|
396
|
+
return false;
|
|
397
|
+
}
|
|
398
|
+
function inferUsedSkillsFromTranscript(transcript) {
|
|
399
|
+
const skills = [];
|
|
400
|
+
for (const entry of transcript) {
|
|
401
|
+
if (entry.kind !== "tool_call")
|
|
402
|
+
continue;
|
|
403
|
+
if (!isReadTranscriptTool(entry.name))
|
|
404
|
+
continue;
|
|
405
|
+
const command = readToolCommandInput(entry.input);
|
|
406
|
+
if (command) {
|
|
407
|
+
skills.push(...collectSkillUsesFromText(command));
|
|
408
|
+
continue;
|
|
409
|
+
}
|
|
410
|
+
for (const value of collectStringValues(entry.input)) {
|
|
411
|
+
skills.push(...collectSkillUsesFromText(value));
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
return dedupeSkillUses(skills);
|
|
415
|
+
}
|
|
325
416
|
function normalizeSkillCandidate(value) {
|
|
326
417
|
return value
|
|
327
418
|
?.trim()
|
|
@@ -3274,6 +3365,25 @@ export function heartbeatService(db) {
|
|
|
3274
3365
|
});
|
|
3275
3366
|
const finalizedRun = await getRun(run.id);
|
|
3276
3367
|
if (finalizedRun) {
|
|
3368
|
+
const transcriptUsedSkills = inferUsedSkillsFromTranscript(executionTranscript);
|
|
3369
|
+
if (transcriptUsedSkills.length > 0) {
|
|
3370
|
+
await appendRunEvent(finalizedRun, seq++, {
|
|
3371
|
+
eventType: "adapter.skill_usage",
|
|
3372
|
+
stream: "system",
|
|
3373
|
+
level: "info",
|
|
3374
|
+
message: "skill usage inferred from transcript",
|
|
3375
|
+
payload: {
|
|
3376
|
+
source: "transcript.skill_file_read",
|
|
3377
|
+
usedSkillCount: transcriptUsedSkills.length,
|
|
3378
|
+
usedSkillKeys: transcriptUsedSkills.map((entry) => entry.key),
|
|
3379
|
+
usedSkills: transcriptUsedSkills,
|
|
3380
|
+
skillEvidenceType: "used",
|
|
3381
|
+
skillEvidenceCount: transcriptUsedSkills.length,
|
|
3382
|
+
skillEvidenceKeys: transcriptUsedSkills.map((entry) => entry.key),
|
|
3383
|
+
skillEvidenceSkills: transcriptUsedSkills,
|
|
3384
|
+
},
|
|
3385
|
+
});
|
|
3386
|
+
}
|
|
3277
3387
|
await appendRunEvent(finalizedRun, seq++, {
|
|
3278
3388
|
eventType: "lifecycle",
|
|
3279
3389
|
stream: "system",
|
|
@@ -4637,10 +4747,11 @@ export function heartbeatService(db) {
|
|
|
4637
4747
|
.select({
|
|
4638
4748
|
runId: heartbeatRunEvents.runId,
|
|
4639
4749
|
createdAt: heartbeatRunEvents.createdAt,
|
|
4750
|
+
eventType: heartbeatRunEvents.eventType,
|
|
4640
4751
|
payload: heartbeatRunEvents.payload,
|
|
4641
4752
|
})
|
|
4642
4753
|
.from(heartbeatRunEvents)
|
|
4643
|
-
.where(and(eq(heartbeatRunEvents.orgId, scope.orgId), ...(scope.agentId ? [eq(heartbeatRunEvents.agentId, scope.agentId)] : []),
|
|
4754
|
+
.where(and(eq(heartbeatRunEvents.orgId, scope.orgId), ...(scope.agentId ? [eq(heartbeatRunEvents.agentId, scope.agentId)] : []), inArray(heartbeatRunEvents.eventType, ["adapter.invoke", "adapter.skill_usage"]), gte(heartbeatRunEvents.createdAt, windowStart), lte(heartbeatRunEvents.createdAt, windowEnd)))
|
|
4644
4755
|
.orderBy(asc(heartbeatRunEvents.createdAt), asc(heartbeatRunEvents.id));
|
|
4645
4756
|
const days = new Map();
|
|
4646
4757
|
for (const date of dateKeys) {
|
|
@@ -4651,15 +4762,12 @@ export function heartbeatService(db) {
|
|
|
4651
4762
|
let totalCount = 0;
|
|
4652
4763
|
let totalRunsWithSkills = 0;
|
|
4653
4764
|
const evidenceCounts = emptySkillEvidenceCounts();
|
|
4654
|
-
|
|
4655
|
-
const date = new Date(row.createdAt).toISOString().slice(0, 10);
|
|
4765
|
+
function addRunSkillEvidence(runId, date, evidence) {
|
|
4656
4766
|
if (!days.has(date))
|
|
4657
|
-
|
|
4658
|
-
const payload = parseObject(row.payload);
|
|
4659
|
-
const evidence = readSkillEvidenceFromPayload(payload);
|
|
4767
|
+
return;
|
|
4660
4768
|
if (evidence.skills.length === 0)
|
|
4661
|
-
|
|
4662
|
-
const runBucket = runEvidence.get(
|
|
4769
|
+
return;
|
|
4770
|
+
const runBucket = runEvidence.get(runId) ?? { date, skills: new Map() };
|
|
4663
4771
|
for (const entry of evidence.skills) {
|
|
4664
4772
|
const normalized = normalizeLoadedSkill(entry);
|
|
4665
4773
|
if (!normalized)
|
|
@@ -4680,7 +4788,108 @@ export function heartbeatService(db) {
|
|
|
4680
4788
|
}
|
|
4681
4789
|
}
|
|
4682
4790
|
if (runBucket.skills.size > 0)
|
|
4683
|
-
runEvidence.set(
|
|
4791
|
+
runEvidence.set(runId, runBucket);
|
|
4792
|
+
}
|
|
4793
|
+
async function inferUsedSkillsFromStoredRunLog(row) {
|
|
4794
|
+
if (row.logStore !== "local_file" || !row.logRef)
|
|
4795
|
+
return [];
|
|
4796
|
+
const adapter = (() => {
|
|
4797
|
+
try {
|
|
4798
|
+
return getServerAdapter(row.agentRuntimeType);
|
|
4799
|
+
}
|
|
4800
|
+
catch {
|
|
4801
|
+
return null;
|
|
4802
|
+
}
|
|
4803
|
+
})();
|
|
4804
|
+
if (!adapter)
|
|
4805
|
+
return [];
|
|
4806
|
+
const parser = adapter.parseStdoutLine ?? null;
|
|
4807
|
+
if (!parser)
|
|
4808
|
+
return [];
|
|
4809
|
+
const limitBytes = Math.min(Math.max(row.logBytes ?? 0, 256_000), 2_000_000);
|
|
4810
|
+
const read = await runLogStore
|
|
4811
|
+
.read({ store: "local_file", logRef: row.logRef }, { limitBytes })
|
|
4812
|
+
.catch(() => null);
|
|
4813
|
+
if (!read?.content)
|
|
4814
|
+
return [];
|
|
4815
|
+
const transcript = [];
|
|
4816
|
+
let stdoutBuffer = "";
|
|
4817
|
+
let stderrBuffer = "";
|
|
4818
|
+
for (const line of read.content.split("\n")) {
|
|
4819
|
+
if (!line.trim())
|
|
4820
|
+
continue;
|
|
4821
|
+
let raw;
|
|
4822
|
+
try {
|
|
4823
|
+
raw = JSON.parse(line);
|
|
4824
|
+
}
|
|
4825
|
+
catch {
|
|
4826
|
+
continue;
|
|
4827
|
+
}
|
|
4828
|
+
const parsed = parseObject(raw);
|
|
4829
|
+
const stream = parsed.stream === "stderr" ? "stderr" : parsed.stream === "stdout" ? "stdout" : null;
|
|
4830
|
+
const chunk = typeof parsed.chunk === "string" ? parsed.chunk : "";
|
|
4831
|
+
if (!stream || !chunk)
|
|
4832
|
+
continue;
|
|
4833
|
+
if (stream === "stdout") {
|
|
4834
|
+
stdoutBuffer = appendTranscriptEntriesFromChunk({
|
|
4835
|
+
buffer: stdoutBuffer,
|
|
4836
|
+
chunk,
|
|
4837
|
+
transcript,
|
|
4838
|
+
parser,
|
|
4839
|
+
kind: "stdout",
|
|
4840
|
+
});
|
|
4841
|
+
}
|
|
4842
|
+
else {
|
|
4843
|
+
stderrBuffer = appendTranscriptEntriesFromChunk({
|
|
4844
|
+
buffer: stderrBuffer,
|
|
4845
|
+
chunk,
|
|
4846
|
+
transcript,
|
|
4847
|
+
kind: "stderr",
|
|
4848
|
+
});
|
|
4849
|
+
}
|
|
4850
|
+
}
|
|
4851
|
+
appendTranscriptEntriesFromChunk({
|
|
4852
|
+
buffer: stdoutBuffer,
|
|
4853
|
+
chunk: "",
|
|
4854
|
+
transcript,
|
|
4855
|
+
parser,
|
|
4856
|
+
kind: "stdout",
|
|
4857
|
+
finalize: true,
|
|
4858
|
+
});
|
|
4859
|
+
appendTranscriptEntriesFromChunk({
|
|
4860
|
+
buffer: stderrBuffer,
|
|
4861
|
+
chunk: "",
|
|
4862
|
+
transcript,
|
|
4863
|
+
kind: "stderr",
|
|
4864
|
+
finalize: true,
|
|
4865
|
+
});
|
|
4866
|
+
return inferUsedSkillsFromTranscript(transcript);
|
|
4867
|
+
}
|
|
4868
|
+
for (const row of rows) {
|
|
4869
|
+
const date = new Date(row.createdAt).toISOString().slice(0, 10);
|
|
4870
|
+
const payload = parseObject(row.payload);
|
|
4871
|
+
addRunSkillEvidence(row.runId, date, readSkillEvidenceFromPayload(payload));
|
|
4872
|
+
}
|
|
4873
|
+
const runRows = await db
|
|
4874
|
+
.select({
|
|
4875
|
+
id: heartbeatRuns.id,
|
|
4876
|
+
agentRuntimeType: agents.agentRuntimeType,
|
|
4877
|
+
createdAt: heartbeatRuns.createdAt,
|
|
4878
|
+
logStore: heartbeatRuns.logStore,
|
|
4879
|
+
logRef: heartbeatRuns.logRef,
|
|
4880
|
+
logBytes: heartbeatRuns.logBytes,
|
|
4881
|
+
})
|
|
4882
|
+
.from(heartbeatRuns)
|
|
4883
|
+
.innerJoin(agents, eq(agents.id, heartbeatRuns.agentId))
|
|
4884
|
+
.where(and(eq(heartbeatRuns.orgId, scope.orgId), ...(scope.agentId ? [eq(heartbeatRuns.agentId, scope.agentId)] : []), gte(heartbeatRuns.createdAt, windowStart), lte(heartbeatRuns.createdAt, windowEnd)));
|
|
4885
|
+
for (const row of runRows) {
|
|
4886
|
+
const usedSkills = await inferUsedSkillsFromStoredRunLog(row);
|
|
4887
|
+
if (usedSkills.length === 0)
|
|
4888
|
+
continue;
|
|
4889
|
+
addRunSkillEvidence(row.id, new Date(row.createdAt).toISOString().slice(0, 10), {
|
|
4890
|
+
evidence: "used",
|
|
4891
|
+
skills: usedSkills,
|
|
4892
|
+
});
|
|
4684
4893
|
}
|
|
4685
4894
|
for (const runBucket of runEvidence.values()) {
|
|
4686
4895
|
const bucket = days.get(runBucket.date);
|