@rudderhq/server 0.4.6-canary.8 → 0.5.0
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/agent-runtimes/http/execute.d.ts.map +1 -1
- package/dist/agent-runtimes/http/execute.js +8 -2
- package/dist/agent-runtimes/http/execute.js.map +1 -1
- package/dist/agent-runtimes/process/execute.d.ts.map +1 -1
- package/dist/agent-runtimes/process/execute.js +3 -1
- package/dist/agent-runtimes/process/execute.js.map +1 -1
- package/dist/agent-runtimes/utils.d.ts +6 -1
- package/dist/agent-runtimes/utils.d.ts.map +1 -1
- package/dist/agent-runtimes/utils.js +1 -1
- package/dist/agent-runtimes/utils.js.map +1 -1
- package/dist/app.d.ts +3 -3
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +17 -8
- package/dist/app.js.map +1 -1
- package/dist/bootstrap/create-http-app.d.ts +6 -1
- package/dist/bootstrap/create-http-app.d.ts.map +1 -1
- package/dist/bootstrap/create-http-app.js +122 -46
- package/dist/bootstrap/create-http-app.js.map +1 -1
- package/dist/bootstrap/plugin-host-runtime.d.ts.map +1 -1
- package/dist/bootstrap/plugin-host-runtime.js +89 -31
- package/dist/bootstrap/plugin-host-runtime.js.map +1 -1
- package/dist/bootstrap/register-api-routes.d.ts +3 -1
- package/dist/bootstrap/register-api-routes.d.ts.map +1 -1
- package/dist/bootstrap/register-api-routes.js +3 -3
- package/dist/bootstrap/register-api-routes.js.map +1 -1
- package/dist/bootstrap/types.d.ts +1 -0
- package/dist/bootstrap/types.d.ts.map +1 -1
- package/dist/bundled-plugins/plugin-linear/dist/worker.js +351 -174
- package/dist/bundled-plugins/plugin-linear/dist/worker.js.map +3 -3
- package/dist/config.d.ts +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +23 -0
- package/dist/config.js.map +1 -1
- package/dist/home-paths.d.ts.map +1 -1
- package/dist/home-paths.js +79 -7
- package/dist/home-paths.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +112 -119
- package/dist/index.js.map +1 -1
- package/dist/realtime/live-events-ws.d.ts +4 -20
- package/dist/realtime/live-events-ws.d.ts.map +1 -1
- package/dist/realtime/live-events-ws.js +68 -8
- package/dist/realtime/live-events-ws.js.map +1 -1
- package/dist/routes/access-onboarding.helpers.js +3 -3
- package/dist/routes/access-onboarding.helpers.js.map +1 -1
- package/dist/routes/access.helpers.d.ts.map +1 -1
- package/dist/routes/access.helpers.js +3 -2
- package/dist/routes/access.helpers.js.map +1 -1
- package/dist/routes/access.js +1 -1
- package/dist/routes/access.js.map +1 -1
- package/dist/routes/activity.d.ts.map +1 -1
- package/dist/routes/activity.js +5 -1
- package/dist/routes/activity.js.map +1 -1
- package/dist/routes/agents.management-routes.d.ts.map +1 -1
- package/dist/routes/agents.management-routes.js +15 -15
- package/dist/routes/agents.management-routes.js.map +1 -1
- package/dist/routes/assets.d.ts.map +1 -1
- package/dist/routes/assets.js +9 -2
- package/dist/routes/assets.js.map +1 -1
- package/dist/routes/chat-background-runtime.d.ts +19 -0
- package/dist/routes/chat-background-runtime.d.ts.map +1 -0
- package/dist/routes/chat-background-runtime.js +129 -0
- package/dist/routes/chat-background-runtime.js.map +1 -0
- package/dist/routes/chats.d.ts +2 -1
- package/dist/routes/chats.d.ts.map +1 -1
- package/dist/routes/chats.js +944 -24
- package/dist/routes/chats.js.map +1 -1
- package/dist/routes/chats.stream-routes.d.ts.map +1 -1
- package/dist/routes/chats.stream-routes.js +552 -76
- package/dist/routes/chats.stream-routes.js.map +1 -1
- package/dist/routes/issues.comments-attachments.d.ts.map +1 -1
- package/dist/routes/issues.comments-attachments.js +14 -31
- package/dist/routes/issues.comments-attachments.js.map +1 -1
- package/dist/routes/onboarding.js +1 -1
- package/dist/routes/onboarding.js.map +1 -1
- package/dist/routes/orgs.d.ts +2 -1
- package/dist/routes/orgs.d.ts.map +1 -1
- package/dist/routes/orgs.js +32 -3
- package/dist/routes/orgs.js.map +1 -1
- package/dist/routes/run-intelligence.d.ts.map +1 -1
- package/dist/routes/run-intelligence.js +109 -25
- package/dist/routes/run-intelligence.js.map +1 -1
- package/dist/runtime/runtime-supervisor.d.ts +21 -0
- package/dist/runtime/runtime-supervisor.d.ts.map +1 -0
- package/dist/runtime/runtime-supervisor.js +66 -0
- package/dist/runtime/runtime-supervisor.js.map +1 -0
- package/dist/services/activity-log.d.ts +4 -1
- package/dist/services/activity-log.d.ts.map +1 -1
- package/dist/services/activity-log.js +12 -4
- package/dist/services/activity-log.js.map +1 -1
- package/dist/services/activity.d.ts +11 -394
- package/dist/services/activity.d.ts.map +1 -1
- package/dist/services/activity.js +24 -18
- package/dist/services/activity.js.map +1 -1
- package/dist/services/agents.d.ts +799 -137
- package/dist/services/agents.d.ts.map +1 -1
- package/dist/services/approvals.d.ts +3 -3
- package/dist/services/automation-chat-output.d.ts.map +1 -1
- package/dist/services/automation-chat-output.js +115 -94
- package/dist/services/automation-chat-output.js.map +1 -1
- package/dist/services/budgets.d.ts.map +1 -1
- package/dist/services/budgets.js +38 -36
- package/dist/services/budgets.js.map +1 -1
- package/dist/services/chat-agent-runs.d.ts +3 -1
- package/dist/services/chat-agent-runs.d.ts.map +1 -1
- package/dist/services/chat-agent-runs.js +97 -34
- package/dist/services/chat-agent-runs.js.map +1 -1
- package/dist/services/chat-assistant.d.ts.map +1 -1
- package/dist/services/chat-assistant.helpers.d.ts +27 -4
- package/dist/services/chat-assistant.helpers.d.ts.map +1 -1
- package/dist/services/chat-assistant.helpers.js +66 -2
- package/dist/services/chat-assistant.helpers.js.map +1 -1
- package/dist/services/chat-assistant.inline-visuals.test.d.ts +2 -0
- package/dist/services/chat-assistant.inline-visuals.test.d.ts.map +1 -0
- package/dist/services/chat-assistant.inline-visuals.test.js +86 -0
- package/dist/services/chat-assistant.inline-visuals.test.js.map +1 -0
- package/dist/services/chat-assistant.js +115 -22
- package/dist/services/chat-assistant.js.map +1 -1
- package/dist/services/chat-generation-locks.d.ts +85 -0
- package/dist/services/chat-generation-locks.d.ts.map +1 -1
- package/dist/services/chat-generation-locks.js +371 -9
- package/dist/services/chat-generation-locks.js.map +1 -1
- package/dist/services/chat-generation-locks.test.d.ts +2 -0
- package/dist/services/chat-generation-locks.test.d.ts.map +1 -0
- package/dist/services/chat-generation-locks.test.js +324 -0
- package/dist/services/chat-generation-locks.test.js.map +1 -0
- package/dist/services/chat-generation-protocol.d.ts +674 -0
- package/dist/services/chat-generation-protocol.d.ts.map +1 -0
- package/dist/services/chat-generation-protocol.js +1571 -0
- package/dist/services/chat-generation-protocol.js.map +1 -0
- package/dist/services/chat-generation-protocol.test.d.ts +2 -0
- package/dist/services/chat-generation-protocol.test.d.ts.map +1 -0
- package/dist/services/chat-generation-protocol.test.js +1156 -0
- package/dist/services/chat-generation-protocol.test.js.map +1 -0
- package/dist/services/chat-title-generation.d.ts +0 -3
- package/dist/services/chat-title-generation.d.ts.map +1 -1
- package/dist/services/chat-title-generation.js +2 -32
- package/dist/services/chat-title-generation.js.map +1 -1
- package/dist/services/chat-work-manifest.d.ts.map +1 -1
- package/dist/services/chat-work-manifest.js +5 -1
- package/dist/services/chat-work-manifest.js.map +1 -1
- package/dist/services/chats.d.ts +1451 -272
- package/dist/services/chats.d.ts.map +1 -1
- package/dist/services/chats.js +1372 -35
- package/dist/services/chats.js.map +1 -1
- package/dist/services/costs.d.ts +34 -7
- package/dist/services/costs.d.ts.map +1 -1
- package/dist/services/costs.js +129 -61
- package/dist/services/costs.js.map +1 -1
- package/dist/services/finance.d.ts +3 -3
- package/dist/services/goals.d.ts +2 -2
- package/dist/services/heartbeat-run-summary.d.ts.map +1 -1
- package/dist/services/heartbeat-run-summary.js +16 -1
- package/dist/services/heartbeat-run-summary.js.map +1 -1
- package/dist/services/heartbeat.d.ts +1 -1
- package/dist/services/heartbeat.d.ts.map +1 -1
- package/dist/services/heartbeat.js +1 -1
- package/dist/services/heartbeat.js.map +1 -1
- package/dist/services/index.d.ts +1 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +1 -0
- package/dist/services/index.js.map +1 -1
- package/dist/services/integrations/agent-integrations.d.ts +1 -1
- package/dist/services/integrations/custom-integrations.d.ts +1 -1
- package/dist/services/integrations/feishu/runtime.d.ts.map +1 -1
- package/dist/services/integrations/feishu/runtime.js +16 -0
- package/dist/services/integrations/feishu/runtime.js.map +1 -1
- package/dist/services/issues.comments-attachments.d.ts +111 -0
- package/dist/services/issues.comments-attachments.d.ts.map +1 -1
- package/dist/services/issues.comments-attachments.js +138 -66
- package/dist/services/issues.comments-attachments.js.map +1 -1
- package/dist/services/issues.d.ts +56 -0
- package/dist/services/issues.d.ts.map +1 -1
- package/dist/services/issues.helpers.d.ts.map +1 -1
- package/dist/services/issues.helpers.js +2 -2
- package/dist/services/issues.helpers.js.map +1 -1
- package/dist/services/issues.js +5 -2
- package/dist/services/issues.js.map +1 -1
- package/dist/services/knowledge-portability/organization-skills.catalog.d.ts.map +1 -1
- package/dist/services/knowledge-portability/organization-skills.catalog.js +7 -1
- package/dist/services/knowledge-portability/organization-skills.catalog.js.map +1 -1
- package/dist/services/messenger.d.ts.map +1 -1
- package/dist/services/messenger.js +11 -9
- package/dist/services/messenger.js.map +1 -1
- package/dist/services/organization-workspace-browser.d.ts +1 -1
- package/dist/services/organization-workspace-browser.d.ts.map +1 -1
- package/dist/services/organization-workspace-browser.js +49 -5
- package/dist/services/organization-workspace-browser.js.map +1 -1
- package/dist/services/orgs.d.ts.map +1 -1
- package/dist/services/orgs.js +36 -12
- package/dist/services/orgs.js.map +1 -1
- package/dist/services/plugin-dev-watcher.d.ts +19 -2
- package/dist/services/plugin-dev-watcher.d.ts.map +1 -1
- package/dist/services/plugin-dev-watcher.js +45 -11
- package/dist/services/plugin-dev-watcher.js.map +1 -1
- package/dist/services/plugin-registry.d.ts +28 -28
- package/dist/services/projects.d.ts +1 -1
- package/dist/services/run-events.d.ts +20 -0
- package/dist/services/run-events.d.ts.map +1 -0
- package/dist/services/run-events.js +34 -0
- package/dist/services/run-events.js.map +1 -0
- package/dist/services/run-intelligence.d.ts +66 -4
- package/dist/services/run-intelligence.d.ts.map +1 -1
- package/dist/services/run-intelligence.js +391 -42
- package/dist/services/run-intelligence.js.map +1 -1
- package/dist/services/run-log-store.d.ts.map +1 -1
- package/dist/services/run-log-store.js +26 -3
- package/dist/services/run-log-store.js.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.core.d.ts +24 -1
- package/dist/services/runtime-kernel/heartbeat.core.d.ts.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.core.js +2 -1
- package/dist/services/runtime-kernel/heartbeat.core.js.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.d.ts +98 -37
- package/dist/services/runtime-kernel/heartbeat.d.ts.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.execute.d.ts +3 -1
- package/dist/services/runtime-kernel/heartbeat.execute.d.ts.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.execute.js +394 -219
- package/dist/services/runtime-kernel/heartbeat.execute.js.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.js +603 -205
- package/dist/services/runtime-kernel/heartbeat.js.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.misc.d.ts.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.misc.js +34 -24
- package/dist/services/runtime-kernel/heartbeat.misc.js.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.recovery.d.ts.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.recovery.js +56 -6
- package/dist/services/runtime-kernel/heartbeat.recovery.js.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.release.d.ts +3 -1
- package/dist/services/runtime-kernel/heartbeat.release.d.ts.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.release.js +276 -44
- package/dist/services/runtime-kernel/heartbeat.release.js.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.sessions.d.ts +42 -1
- package/dist/services/runtime-kernel/heartbeat.sessions.d.ts.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.sessions.js +110 -8
- package/dist/services/runtime-kernel/heartbeat.sessions.js.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.terminal.d.ts +575 -0
- package/dist/services/runtime-kernel/heartbeat.terminal.d.ts.map +1 -0
- package/dist/services/runtime-kernel/heartbeat.terminal.js +589 -0
- package/dist/services/runtime-kernel/heartbeat.terminal.js.map +1 -0
- package/dist/services/runtime-kernel/heartbeat.wakeup.d.ts.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.wakeup.js +238 -92
- package/dist/services/runtime-kernel/heartbeat.wakeup.js.map +1 -1
- package/dist/services/runtime-kernel/model-fallback.d.ts.map +1 -1
- package/dist/services/runtime-kernel/model-fallback.js +11 -0
- package/dist/services/runtime-kernel/model-fallback.js.map +1 -1
- package/dist/services/side-chats.d.ts +212 -0
- package/dist/services/side-chats.d.ts.map +1 -0
- package/dist/services/side-chats.js +379 -0
- package/dist/services/side-chats.js.map +1 -0
- package/dist/services/workspace-runtime.services.d.ts +1 -1
- package/dist/services/workspace-web-preview.d.ts +36 -0
- package/dist/services/workspace-web-preview.d.ts.map +1 -0
- package/dist/services/workspace-web-preview.js +566 -0
- package/dist/services/workspace-web-preview.js.map +1 -0
- package/package.json +13 -13
- package/resources/bundled-skills/rudder-docs/SKILL.md +161 -0
- package/resources/bundled-skills/rudder-docs/evals/trigger-evals.json +82 -0
- package/{skills/rudder → resources/bundled-skills/rudder-docs}/references/api-reference.md +17 -1
- package/{skills/rudder → resources/bundled-skills/rudder-docs}/references/cli-reference.md +52 -97
- package/resources/bundled-skills/rudder-docs/references/control-plane-practices.md +231 -0
- package/{skills/rudder → resources/bundled-skills/rudder-docs}/references/organization-skills.md +15 -1
- package/resources/bundled-skills/rudder-docs/references/source-map.md +138 -0
- package/resources/bundled-skills/visualize/SKILL.md +132 -0
- package/resources/bundled-skills/visualize/agents/openai.yaml +7 -0
- package/resources/bundled-skills/visualize/assets/example-chart.html +89 -0
- package/resources/bundled-skills/visualize/references/runtime-contract.md +114 -0
- package/skills/rudder-docs/SKILL.md +161 -0
- package/skills/rudder-docs/evals/trigger-evals.json +82 -0
- package/{resources/bundled-skills/rudder → skills/rudder-docs}/references/api-reference.md +17 -1
- package/{resources/bundled-skills/rudder → skills/rudder-docs}/references/cli-reference.md +52 -97
- package/skills/rudder-docs/references/control-plane-practices.md +231 -0
- package/{resources/bundled-skills/rudder → skills/rudder-docs}/references/organization-skills.md +15 -1
- package/skills/rudder-docs/references/source-map.md +138 -0
- package/skills/visualize/SKILL.md +132 -0
- package/skills/visualize/agents/openai.yaml +7 -0
- package/skills/visualize/assets/example-chart.html +89 -0
- package/skills/visualize/references/runtime-contract.md +114 -0
- package/ui-dist/assets/{abnfDiagram-VRR7QNED-C4e_AuJm.js → abnfDiagram-VRR7QNED-Dpnx79fp.js} +1 -1
- package/ui-dist/assets/{arc-3OG5_qjR.js → arc-Cpvh_rCf.js} +1 -1
- package/ui-dist/assets/{architectureDiagram-ZJ3FMSHR-CJz3inSs.js → architectureDiagram-ZJ3FMSHR-sDD_mBAI.js} +1 -1
- package/ui-dist/assets/{blockDiagram-677ZJIJ3-CpBIok39.js → blockDiagram-677ZJIJ3-4O4wWti1.js} +1 -1
- package/ui-dist/assets/{c4Diagram-LMCZKHZV-BbQrD6Fx.js → c4Diagram-LMCZKHZV-BkGODE4P.js} +1 -1
- package/ui-dist/assets/channel-CM4Myg_6.js +1 -0
- package/ui-dist/assets/{chunk-2Q5K7J3B-BkoT6fZL.js → chunk-2Q5K7J3B-DsDQQpID.js} +1 -1
- package/ui-dist/assets/{chunk-32BRIVSS-DecBtqTH.js → chunk-32BRIVSS-Bzx_VnIw.js} +1 -1
- package/ui-dist/assets/{chunk-5VM5RSS4-SFFAgh5q.js → chunk-5VM5RSS4-D4LoPCni.js} +1 -1
- package/ui-dist/assets/{chunk-EX3LRPZG-CxUndf0S.js → chunk-EX3LRPZG-BO0R-mS4.js} +3 -3
- package/ui-dist/assets/{chunk-JWPE2WC7-BbEXuDLm.js → chunk-JWPE2WC7-B4Nr8KRL.js} +1 -1
- package/ui-dist/assets/{chunk-MOJQB5TN-MOCGQpRH.js → chunk-MOJQB5TN--uaDDrYM.js} +1 -1
- package/ui-dist/assets/{chunk-RYQCIY6F-CUuwDB4L.js → chunk-RYQCIY6F-CyBY2w_j.js} +1 -1
- package/ui-dist/assets/{chunk-V7JOEXUC-D5H80ZpL.js → chunk-V7JOEXUC-BMid_x8S.js} +3 -3
- package/ui-dist/assets/{chunk-VR4S4FIN-Cg5d82yb.js → chunk-VR4S4FIN-DVqdPKuG.js} +1 -1
- package/ui-dist/assets/{chunk-XXDRQBXY-Bu7DXS_3.js → chunk-XXDRQBXY-vy03lLSS.js} +1 -1
- package/ui-dist/assets/classDiagram-OUVF2IWQ-CtlIEzTt.js +1 -0
- package/ui-dist/assets/classDiagram-v2-EOCWNBFH-CtlIEzTt.js +1 -0
- package/ui-dist/assets/{cose-bilkent-JH36ORCC-LCobsJkA.js → cose-bilkent-JH36ORCC-jQDZmrG3.js} +1 -1
- package/ui-dist/assets/{cynefin-VYW2F7L2-CxDfvhGJ.js → cynefin-VYW2F7L2-BxBj6aea.js} +1 -1
- package/ui-dist/assets/{cynefinDiagram-TSTJHNR4-BbebJ96a.js → cynefinDiagram-TSTJHNR4-BuUubF5I.js} +1 -1
- package/ui-dist/assets/{dagre-VKFMJZFB-BNQ0fvpl.js → dagre-VKFMJZFB-B8HipJ3a.js} +1 -1
- package/ui-dist/assets/{diagram-FQU43EPY-B9vCEyLD.js → diagram-FQU43EPY-r7gkbKSt.js} +2 -2
- package/ui-dist/assets/{diagram-G47NLZAW-Z7Hg_sXF.js → diagram-G47NLZAW-CxClRsxD.js} +1 -1
- package/ui-dist/assets/{diagram-NH7WQ7WH-B_TZ5-gD.js → diagram-NH7WQ7WH-C8HYTLlq.js} +1 -1
- package/ui-dist/assets/{diagram-OA4YK3LP-qe-twEnv.js → diagram-OA4YK3LP-CjwqqLKz.js} +1 -1
- package/ui-dist/assets/{diagram-WEI45ONY-D8ufoJVE.js → diagram-WEI45ONY-2IWfCqZb.js} +1 -1
- package/ui-dist/assets/{ebnfDiagram-CCIWWBDH-BXXAFqU6.js → ebnfDiagram-CCIWWBDH-DVGZkgjy.js} +1 -1
- package/ui-dist/assets/{erDiagram-Q63AITRT-uXmIG2c_.js → erDiagram-Q63AITRT-C_-u3Gmw.js} +1 -1
- package/ui-dist/assets/{flowDiagram-23GEKE2U-3eiT6gWx.js → flowDiagram-23GEKE2U-BvGg0NCq.js} +4 -4
- package/ui-dist/assets/{ganttDiagram-NO4QXBWP-CiVmqV02.js → ganttDiagram-NO4QXBWP-U3CZUUUR.js} +1 -1
- package/ui-dist/assets/{gitGraphDiagram-IHSO6WYX-DmIrlFHc.js → gitGraphDiagram-IHSO6WYX-CIWuEBIo.js} +1 -1
- package/ui-dist/assets/{graph-BpS6eOIF.js → graph-D3P5q-7m.js} +1 -1
- package/ui-dist/assets/index-B1rLBtZ1.js +1875 -0
- package/ui-dist/assets/{index-Dlx6uy7_.js → index-BAMXpiI5.js} +1 -1
- package/ui-dist/assets/{index-CUHGsSRd.js → index-BAgtKYR1.js} +1 -1
- package/ui-dist/assets/{index--YRaLrzl.js → index-CBOr9F6w.js} +1 -1
- package/ui-dist/assets/{index-cHC60zXl.js → index-CbHqnWUe.js} +1 -1
- package/ui-dist/assets/{index-DeWKDYpk.js → index-CjztBLJi.js} +1 -1
- package/ui-dist/assets/{index-T2PpfhXU.js → index-Cu1iMhjl.js} +1 -1
- package/ui-dist/assets/{index-Dgj1-Gzi.js → index-D7ycf1qU.js} +1 -1
- package/ui-dist/assets/{index-Dpvu2aoc.js → index-DAYlwxsg.js} +1 -1
- package/ui-dist/assets/{index-BAU4CU-l.js → index-DCFf9dps.js} +4 -4
- package/ui-dist/assets/{index-CWaZ_rS8.js → index-DOPIV8vd.js} +1 -1
- package/ui-dist/assets/{index-C-TZf854.js → index-DRxLJD40.js} +1 -1
- package/ui-dist/assets/{index-CUI9Uyvz.js → index-DYMtCDKT.js} +1 -1
- package/ui-dist/assets/index-DekHKOsL.css +1 -0
- package/ui-dist/assets/{index-BncN7e-4.js → index-DidCCw78.js} +1 -1
- package/ui-dist/assets/{index-Cl27pPic.js → index-Ds_qma4-.js} +1 -1
- package/ui-dist/assets/{index-CF3Fjm4r.js → index-HkQRx1D6.js} +1 -1
- package/ui-dist/assets/{index-Cp12taja.js → index-ikpL--zj.js} +1 -1
- package/ui-dist/assets/{index-BzDB5XYN.js → index-mnl55Stn.js} +1 -1
- package/ui-dist/assets/{infoDiagram-FWYZ7A6U-B_e34a6A.js → infoDiagram-FWYZ7A6U-Cx8Fa-I4.js} +1 -1
- package/ui-dist/assets/{ishikawaDiagram-FXEZZL3T-C_h8nqRS.js → ishikawaDiagram-FXEZZL3T-Cmuz1QUN.js} +1 -1
- package/ui-dist/assets/{journeyDiagram-5HDEW3XC-CrxAvEMf.js → journeyDiagram-5HDEW3XC-CJgkiVXG.js} +1 -1
- package/ui-dist/assets/{kanban-definition-HUTT4EX6-Zp6LAKss.js → kanban-definition-HUTT4EX6-RAWpefOB.js} +1 -1
- package/ui-dist/assets/layout-DyWQv0Rr.js +1 -0
- package/ui-dist/assets/{linear-_N4Odhfh.js → linear-D5pdgIf9.js} +1 -1
- package/ui-dist/assets/{map-CYGuJtD3.js → map-bVSzNLl2.js} +1 -1
- package/ui-dist/assets/mermaid.core-CeaXGD6B.js +312 -0
- package/ui-dist/assets/{mindmap-definition-LN4V7U3C-C-J9N_o_.js → mindmap-definition-LN4V7U3C-B8B8AX5C.js} +1 -1
- package/ui-dist/assets/{pegDiagram-2B236MQR-B9Mlsk91.js → pegDiagram-2B236MQR-C4Sv-ua6.js} +1 -1
- package/ui-dist/assets/{pieDiagram-ENE6RG2P-BY7DU2f8.js → pieDiagram-ENE6RG2P-CLARlOHx.js} +1 -1
- package/ui-dist/assets/{quadrantDiagram-ABIIQ3AL-CdCl_yc0.js → quadrantDiagram-ABIIQ3AL-DPCXQmeT.js} +1 -1
- package/ui-dist/assets/{railroadDiagram-RFXS5EU6-C5w2LKAD.js → railroadDiagram-RFXS5EU6-BpqRuKUQ.js} +1 -1
- package/ui-dist/assets/{requirementDiagram-TGXJPOKE-fRb_n-yH.js → requirementDiagram-TGXJPOKE-Dd-h62HZ.js} +1 -1
- package/ui-dist/assets/{sankeyDiagram-HTMAVEWB-CYjb1HUH.js → sankeyDiagram-HTMAVEWB-DylT_pqq.js} +1 -1
- package/ui-dist/assets/{sequenceDiagram-DBY2YBRQ-CS95ySsI.js → sequenceDiagram-DBY2YBRQ-RiCF1REj.js} +1 -1
- package/ui-dist/assets/{sizeCapture-X5ZJPWSS-DPXTC0TI.js → sizeCapture-X5ZJPWSS-DXW4JQz2.js} +1 -1
- package/ui-dist/assets/{stateDiagram-2N3HPSRC-C4VFIMBR.js → stateDiagram-2N3HPSRC-6U3ESIGT.js} +1 -1
- package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-KQTrcZvp.js +1 -0
- package/ui-dist/assets/{swimlanes-5IMT3BWC-UvxkQ8RD.js → swimlanes-5IMT3BWC-CeNHVNCi.js} +2 -2
- package/ui-dist/assets/swimlanesDiagram-G3AALYLV-CcxS1c6r.js +8 -0
- package/ui-dist/assets/{timeline-definition-FHXFAJF6-BKotSwXW.js → timeline-definition-FHXFAJF6-Vlwoe_1b.js} +1 -1
- package/ui-dist/assets/{vennDiagram-L72KCM5P-TmXc-aFs.js → vennDiagram-L72KCM5P-DBP7D3HE.js} +6 -6
- package/ui-dist/assets/{wardleyDiagram-EHGQE667-aTINQKt9.js → wardleyDiagram-EHGQE667-DG-wzqpy.js} +1 -1
- package/ui-dist/assets/{xychartDiagram-FW5EYKEG-CZ86hWNQ.js → xychartDiagram-FW5EYKEG-BAq3mbha.js} +1 -1
- package/ui-dist/index.html +2 -2
- package/resources/bundled-skills/rudder/SKILL.md +0 -314
- package/skills/rudder/SKILL.md +0 -314
- package/ui-dist/assets/channel-roHkdL27.js +0 -1
- package/ui-dist/assets/classDiagram-OUVF2IWQ-CKZLREY1.js +0 -1
- package/ui-dist/assets/classDiagram-v2-EOCWNBFH-CKZLREY1.js +0 -1
- package/ui-dist/assets/index-BTW19O7e.js +0 -1808
- package/ui-dist/assets/index-DOlmbVZk.css +0 -1
- package/ui-dist/assets/layout-DlHAdVX4.js +0 -1
- package/ui-dist/assets/mermaid.core-B8dXcSSK.js +0 -314
- package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-CF5IY4p0.js +0 -1
- package/ui-dist/assets/swimlanesDiagram-G3AALYLV-BVLEg2fG.js +0 -8
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { agentConfigRevisions, agents, heartbeatRunEvents, heartbeatRuns, issues, organizations } from "@rudderhq/db";
|
|
2
2
|
import { diagnoseRun, observedRunFromFilesystem, } from "@rudderhq/run-intelligence-core";
|
|
3
|
-
import {
|
|
3
|
+
import { isUuidLike, summarizeTokenUsage, toHeartbeatRun, } from "@rudderhq/shared";
|
|
4
|
+
import { and, asc, desc, eq, gt, inArray, lt, or, sql } from "drizzle-orm";
|
|
4
5
|
import { createHash } from "node:crypto";
|
|
5
|
-
import { notFound } from "../errors.js";
|
|
6
|
+
import { badRequest, forbidden, notFound } from "../errors.js";
|
|
7
|
+
import { redactCurrentUserValue } from "../log-redaction.js";
|
|
8
|
+
import { redactEventPayload } from "../redaction.js";
|
|
6
9
|
import { resolveHeartbeatRunIdReference } from "./heartbeat-run-reference.js";
|
|
10
|
+
import { heartbeatService } from "./heartbeat.js";
|
|
11
|
+
import { instanceSettingsService } from "./instance-settings.js";
|
|
7
12
|
import { getRunLogStore } from "./run-log-store.js";
|
|
8
13
|
function hashValue(value) {
|
|
9
14
|
return createHash("sha256").update(JSON.stringify(value ?? null)).digest("hex");
|
|
@@ -64,6 +69,32 @@ export function extractSkillEvidenceMatch(input) {
|
|
|
64
69
|
sourceEventCreatedAt: eventCreatedAt,
|
|
65
70
|
};
|
|
66
71
|
}
|
|
72
|
+
function extractFirstSkillEvidenceMatch(input) {
|
|
73
|
+
const payload = asRecord(input.payload);
|
|
74
|
+
for (const evidenceType of ["used", "loaded"]) {
|
|
75
|
+
const keysField = evidenceType === "used" ? "usedSkillKeys" : "loadedSkillKeys";
|
|
76
|
+
const skillsField = evidenceType === "used" ? "usedSkills" : "loadedSkills";
|
|
77
|
+
const candidate = [
|
|
78
|
+
...(Array.isArray(payload[skillsField]) ? payload[skillsField] : []),
|
|
79
|
+
...(Array.isArray(payload[keysField]) ? payload[keysField] : []),
|
|
80
|
+
]
|
|
81
|
+
.map((entry) => normalizeSkillEvidenceEntry(entry))
|
|
82
|
+
.find((entry) => Boolean(entry));
|
|
83
|
+
if (!candidate)
|
|
84
|
+
continue;
|
|
85
|
+
return {
|
|
86
|
+
evidenceType,
|
|
87
|
+
matchedSkillKey: candidate.key,
|
|
88
|
+
matchedSkillLabel: candidate.label,
|
|
89
|
+
sourceEventType: input.eventType,
|
|
90
|
+
sourceEventId: input.eventId,
|
|
91
|
+
sourceEventCreatedAt: input.eventCreatedAt instanceof Date
|
|
92
|
+
? input.eventCreatedAt.toISOString()
|
|
93
|
+
: input.eventCreatedAt ?? null,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
67
98
|
function buildSkillExistsCondition(evidenceType, skillQuery) {
|
|
68
99
|
const keysField = evidenceType === "used" ? "usedSkillKeys" : "loadedSkillKeys";
|
|
69
100
|
const skillsField = evidenceType === "used" ? "usedSkills" : "loadedSkills";
|
|
@@ -101,6 +132,62 @@ function buildSkillExistsCondition(evidenceType, skillQuery) {
|
|
|
101
132
|
)
|
|
102
133
|
)`;
|
|
103
134
|
}
|
|
135
|
+
function encodeRunSummaryCursor(row) {
|
|
136
|
+
return Buffer.from(JSON.stringify({
|
|
137
|
+
createdAt: row.createdAt.toISOString(),
|
|
138
|
+
id: row.id,
|
|
139
|
+
}), "utf8").toString("base64url");
|
|
140
|
+
}
|
|
141
|
+
function decodeRunSummaryCursor(value) {
|
|
142
|
+
try {
|
|
143
|
+
const parsed = JSON.parse(Buffer.from(value, "base64url").toString("utf8"));
|
|
144
|
+
const createdAt = typeof parsed.createdAt === "string" ? new Date(parsed.createdAt) : null;
|
|
145
|
+
if (!createdAt
|
|
146
|
+
|| Number.isNaN(createdAt.getTime())
|
|
147
|
+
|| typeof parsed.id !== "string"
|
|
148
|
+
|| !isUuidLike(parsed.id)) {
|
|
149
|
+
throw new Error("invalid cursor payload");
|
|
150
|
+
}
|
|
151
|
+
return { createdAt, id: parsed.id };
|
|
152
|
+
}
|
|
153
|
+
catch {
|
|
154
|
+
throw badRequest("Invalid run summary cursor.");
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
function encodeRunEventCursor(row) {
|
|
158
|
+
return Buffer.from(JSON.stringify({ seq: row.seq, id: row.id }), "utf8").toString("base64url");
|
|
159
|
+
}
|
|
160
|
+
function decodeRunEventCursor(value) {
|
|
161
|
+
try {
|
|
162
|
+
const parsed = JSON.parse(Buffer.from(value, "base64url").toString("utf8"));
|
|
163
|
+
if (typeof parsed.seq !== "number"
|
|
164
|
+
|| !Number.isSafeInteger(parsed.seq)
|
|
165
|
+
|| parsed.seq < 0
|
|
166
|
+
|| typeof parsed.id !== "number"
|
|
167
|
+
|| !Number.isSafeInteger(parsed.id)
|
|
168
|
+
|| parsed.id < 0) {
|
|
169
|
+
throw new Error("invalid cursor payload");
|
|
170
|
+
}
|
|
171
|
+
return { seq: parsed.seq, id: parsed.id };
|
|
172
|
+
}
|
|
173
|
+
catch {
|
|
174
|
+
throw badRequest("Invalid run event cursor.");
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
function clipSummaryText(value, maxLength = 500) {
|
|
178
|
+
if (!value)
|
|
179
|
+
return null;
|
|
180
|
+
const normalized = value.trim();
|
|
181
|
+
if (!normalized)
|
|
182
|
+
return null;
|
|
183
|
+
return normalized.length > maxLength ? `${normalized.slice(0, maxLength - 1)}…` : normalized;
|
|
184
|
+
}
|
|
185
|
+
function finiteNonNegativeNumber(value) {
|
|
186
|
+
if (value === null || value.trim() === "")
|
|
187
|
+
return null;
|
|
188
|
+
const parsed = Number(value);
|
|
189
|
+
return Number.isFinite(parsed) && parsed >= 0 ? parsed : null;
|
|
190
|
+
}
|
|
104
191
|
function resolveBundleForRun(run, revisionsByAgentId) {
|
|
105
192
|
const revisions = revisionsByAgentId.get(run.agentId) ?? [];
|
|
106
193
|
const runCreatedAt = new Date(run.createdAt).getTime();
|
|
@@ -118,7 +205,7 @@ function resolveBundleForRun(run, revisionsByAgentId) {
|
|
|
118
205
|
runtimeConfigFingerprint: hashValue(afterConfigRecord.runtimeConfig ?? run.runtimeConfig),
|
|
119
206
|
};
|
|
120
207
|
}
|
|
121
|
-
async function loadIssuesForRuns(db, runRows) {
|
|
208
|
+
async function loadIssuesForRuns(db, orgId, runRows) {
|
|
122
209
|
const issueIds = [...new Set(runRows.map((row) => row.issueId).filter((value) => Boolean(value)))];
|
|
123
210
|
if (issueIds.length === 0)
|
|
124
211
|
return new Map();
|
|
@@ -129,7 +216,7 @@ async function loadIssuesForRuns(db, runRows) {
|
|
|
129
216
|
title: issues.title,
|
|
130
217
|
})
|
|
131
218
|
.from(issues)
|
|
132
|
-
.where(inArray(issues.id, issueIds));
|
|
219
|
+
.where(and(eq(issues.orgId, orgId), inArray(issues.id, issueIds)));
|
|
133
220
|
return new Map(rows.map((row) => [row.id, row]));
|
|
134
221
|
}
|
|
135
222
|
async function loadRevisionsForRuns(db, runRows) {
|
|
@@ -152,7 +239,7 @@ async function loadRevisionsForRuns(db, runRows) {
|
|
|
152
239
|
async function serializeRunRow(row, issueMap, revisionsByAgentId, skillEvidenceMap) {
|
|
153
240
|
const errorSummary = row.errorCode ?? row.error ?? row.stderrExcerpt ?? null;
|
|
154
241
|
return {
|
|
155
|
-
run: {
|
|
242
|
+
run: toHeartbeatRun({
|
|
156
243
|
id: row.id,
|
|
157
244
|
orgId: row.orgId,
|
|
158
245
|
agentId: row.agentId,
|
|
@@ -169,6 +256,7 @@ async function serializeRunRow(row, issueMap, revisionsByAgentId, skillEvidenceM
|
|
|
169
256
|
resultJson: row.resultJson,
|
|
170
257
|
sessionIdBefore: row.sessionIdBefore,
|
|
171
258
|
sessionIdAfter: row.sessionIdAfter,
|
|
259
|
+
sessionReuseScope: row.sessionReuseScope,
|
|
172
260
|
logStore: row.logStore,
|
|
173
261
|
logRef: row.logRef,
|
|
174
262
|
logBytes: row.logBytes,
|
|
@@ -186,7 +274,7 @@ async function serializeRunRow(row, issueMap, revisionsByAgentId, skillEvidenceM
|
|
|
186
274
|
contextSnapshot: row.contextSnapshot,
|
|
187
275
|
createdAt: row.createdAt,
|
|
188
276
|
updatedAt: row.updatedAt,
|
|
189
|
-
},
|
|
277
|
+
}),
|
|
190
278
|
agentName: row.agentName,
|
|
191
279
|
orgName: row.orgName,
|
|
192
280
|
issue: row.issueId ? issueMap.get(row.issueId) ?? null : null,
|
|
@@ -235,6 +323,7 @@ async function loadRunRows(db, input) {
|
|
|
235
323
|
resultJson: heartbeatRuns.resultJson,
|
|
236
324
|
sessionIdBefore: heartbeatRuns.sessionIdBefore,
|
|
237
325
|
sessionIdAfter: heartbeatRuns.sessionIdAfter,
|
|
326
|
+
sessionReuseScope: heartbeatRuns.sessionReuseScope,
|
|
238
327
|
logStore: heartbeatRuns.logStore,
|
|
239
328
|
logRef: heartbeatRuns.logRef,
|
|
240
329
|
logBytes: heartbeatRuns.logBytes,
|
|
@@ -266,10 +355,94 @@ async function loadRunRows(db, input) {
|
|
|
266
355
|
.orderBy(desc(heartbeatRuns.createdAt))
|
|
267
356
|
.limit(input.limit);
|
|
268
357
|
}
|
|
269
|
-
async function
|
|
358
|
+
async function loadSummaryRunRows(db, input) {
|
|
359
|
+
const conditions = [eq(heartbeatRuns.orgId, input.orgId)];
|
|
360
|
+
if (input.updatedAfter)
|
|
361
|
+
conditions.push(gt(heartbeatRuns.updatedAt, input.updatedAfter));
|
|
362
|
+
if (input.createdBefore)
|
|
363
|
+
conditions.push(lt(heartbeatRuns.createdAt, input.createdBefore));
|
|
364
|
+
if (input.agentId)
|
|
365
|
+
conditions.push(eq(heartbeatRuns.agentId, input.agentId));
|
|
366
|
+
if (input.status)
|
|
367
|
+
conditions.push(eq(heartbeatRuns.status, input.status));
|
|
368
|
+
if (input.runtime)
|
|
369
|
+
conditions.push(eq(agents.agentRuntimeType, input.runtime));
|
|
370
|
+
if (input.runIdPrefix) {
|
|
371
|
+
const runIdPrefix = input.runIdPrefix.replace(/-/g, "").toLowerCase();
|
|
372
|
+
conditions.push(sql `replace(${heartbeatRuns.id}::text, '-', '') like ${`${runIdPrefix}%`}`);
|
|
373
|
+
}
|
|
374
|
+
if (input.issueId)
|
|
375
|
+
conditions.push(sql `${heartbeatRuns.contextSnapshot} ->> 'issueId' = ${input.issueId}`);
|
|
376
|
+
if (input.usedSkill)
|
|
377
|
+
conditions.push(buildSkillExistsCondition("used", input.usedSkill));
|
|
378
|
+
if (input.loadedSkill)
|
|
379
|
+
conditions.push(buildSkillExistsCondition("loaded", input.loadedSkill));
|
|
380
|
+
if (input.cursor) {
|
|
381
|
+
const cursor = decodeRunSummaryCursor(input.cursor);
|
|
382
|
+
conditions.push(or(lt(heartbeatRuns.createdAt, cursor.createdAt), and(eq(heartbeatRuns.createdAt, cursor.createdAt), lt(heartbeatRuns.id, cursor.id))));
|
|
383
|
+
}
|
|
384
|
+
return await db
|
|
385
|
+
.select({
|
|
386
|
+
id: heartbeatRuns.id,
|
|
387
|
+
orgId: heartbeatRuns.orgId,
|
|
388
|
+
agentId: heartbeatRuns.agentId,
|
|
389
|
+
invocationSource: heartbeatRuns.invocationSource,
|
|
390
|
+
triggerDetail: heartbeatRuns.triggerDetail,
|
|
391
|
+
status: heartbeatRuns.status,
|
|
392
|
+
sessionReuseScope: heartbeatRuns.sessionReuseScope,
|
|
393
|
+
startedAt: heartbeatRuns.startedAt,
|
|
394
|
+
finishedAt: heartbeatRuns.finishedAt,
|
|
395
|
+
errorText: sql `left(coalesce(
|
|
396
|
+
${heartbeatRuns.errorCode},
|
|
397
|
+
${heartbeatRuns.error}
|
|
398
|
+
), 501)`.as("errorText"),
|
|
399
|
+
logBytes: heartbeatRuns.logBytes,
|
|
400
|
+
logStore: heartbeatRuns.logStore,
|
|
401
|
+
logRef: heartbeatRuns.logRef,
|
|
402
|
+
chatConversationId: heartbeatRuns.chatConversationId,
|
|
403
|
+
createdAt: heartbeatRuns.createdAt,
|
|
404
|
+
updatedAt: heartbeatRuns.updatedAt,
|
|
405
|
+
agentName: agents.name,
|
|
406
|
+
agentRuntimeType: agents.agentRuntimeType,
|
|
407
|
+
orgName: organizations.name,
|
|
408
|
+
issueId: sql `${heartbeatRuns.contextSnapshot} ->> 'issueId'`.as("issueId"),
|
|
409
|
+
targetType: sql `${heartbeatRuns.contextSnapshot} ->> 'targetType'`.as("targetType"),
|
|
410
|
+
targetId: sql `${heartbeatRuns.contextSnapshot} ->> 'targetId'`.as("targetId"),
|
|
411
|
+
outcomeText: sql `left(coalesce(
|
|
412
|
+
${heartbeatRuns.resultSummaryJson} ->> 'summary',
|
|
413
|
+
${heartbeatRuns.resultSummaryJson} ->> 'result',
|
|
414
|
+
${heartbeatRuns.resultSummaryJson} ->> 'message',
|
|
415
|
+
${heartbeatRuns.resultSummaryJson} ->> 'userMessage'
|
|
416
|
+
), 501)`.as("outcomeText"),
|
|
417
|
+
usageInputTokens: sql `${heartbeatRuns.usageJson} ->> 'inputTokens'`.as("usageInputTokens"),
|
|
418
|
+
usageCachedInputTokens: sql `coalesce(
|
|
419
|
+
${heartbeatRuns.usageJson} ->> 'cachedInputTokens',
|
|
420
|
+
${heartbeatRuns.usageJson} ->> 'cacheReadTokens'
|
|
421
|
+
)`.as("usageCachedInputTokens"),
|
|
422
|
+
usageOutputTokens: sql `${heartbeatRuns.usageJson} ->> 'outputTokens'`.as("usageOutputTokens"),
|
|
423
|
+
usageCostUsd: sql `coalesce(
|
|
424
|
+
${heartbeatRuns.usageJson} ->> 'costUsd',
|
|
425
|
+
${heartbeatRuns.usageJson} ->> 'totalCostUsd'
|
|
426
|
+
)`.as("usageCostUsd"),
|
|
427
|
+
resultCostUsd: sql `coalesce(
|
|
428
|
+
${heartbeatRuns.resultSummaryJson} ->> 'total_cost_usd',
|
|
429
|
+
${heartbeatRuns.resultSummaryJson} ->> 'cost_usd',
|
|
430
|
+
${heartbeatRuns.resultSummaryJson} ->> 'costUsd'
|
|
431
|
+
)`.as("resultCostUsd"),
|
|
432
|
+
usageProvider: sql `${heartbeatRuns.usageJson} ->> 'provider'`.as("usageProvider"),
|
|
433
|
+
usageModel: sql `${heartbeatRuns.usageJson} ->> 'model'`.as("usageModel"),
|
|
434
|
+
})
|
|
435
|
+
.from(heartbeatRuns)
|
|
436
|
+
.innerJoin(agents, eq(heartbeatRuns.agentId, agents.id))
|
|
437
|
+
.innerJoin(organizations, eq(heartbeatRuns.orgId, organizations.id))
|
|
438
|
+
.where(and(...conditions))
|
|
439
|
+
.orderBy(desc(heartbeatRuns.createdAt), desc(heartbeatRuns.id))
|
|
440
|
+
.limit(input.limit + 1);
|
|
441
|
+
}
|
|
442
|
+
async function loadSkillEvidenceForRuns(db, runRows, input, includeFirstEvidence = false) {
|
|
270
443
|
const skillQuery = input.usedSkill ?? input.loadedSkill ?? null;
|
|
271
444
|
const evidenceType = input.usedSkill ? "used" : "loaded";
|
|
272
|
-
if (!skillQuery || runRows.length === 0)
|
|
445
|
+
if ((!skillQuery && !includeFirstEvidence) || runRows.length === 0)
|
|
273
446
|
return new Map();
|
|
274
447
|
const runIds = runRows.map((row) => row.id);
|
|
275
448
|
const rows = await db
|
|
@@ -285,18 +458,27 @@ async function loadSkillEvidenceForRuns(db, runRows, input) {
|
|
|
285
458
|
.orderBy(asc(heartbeatRunEvents.createdAt), asc(heartbeatRunEvents.id));
|
|
286
459
|
const evidenceByRunId = new Map();
|
|
287
460
|
for (const row of rows) {
|
|
288
|
-
|
|
461
|
+
const match = skillQuery
|
|
462
|
+
? extractSkillEvidenceMatch({
|
|
463
|
+
payload: row.payload,
|
|
464
|
+
evidenceType,
|
|
465
|
+
skillQuery,
|
|
466
|
+
eventType: row.eventType,
|
|
467
|
+
eventId: row.id,
|
|
468
|
+
eventCreatedAt: row.createdAt,
|
|
469
|
+
})
|
|
470
|
+
: extractFirstSkillEvidenceMatch({
|
|
471
|
+
payload: row.payload,
|
|
472
|
+
eventType: row.eventType,
|
|
473
|
+
eventId: row.id,
|
|
474
|
+
eventCreatedAt: row.createdAt,
|
|
475
|
+
});
|
|
476
|
+
if (!match)
|
|
289
477
|
continue;
|
|
290
|
-
const
|
|
291
|
-
|
|
292
|
-
evidenceType,
|
|
293
|
-
skillQuery,
|
|
294
|
-
eventType: row.eventType,
|
|
295
|
-
eventId: row.id,
|
|
296
|
-
eventCreatedAt: row.createdAt,
|
|
297
|
-
});
|
|
298
|
-
if (match)
|
|
478
|
+
const current = evidenceByRunId.get(row.runId);
|
|
479
|
+
if (!current || (current.evidenceType === "loaded" && match.evidenceType === "used")) {
|
|
299
480
|
evidenceByRunId.set(row.runId, match);
|
|
481
|
+
}
|
|
300
482
|
}
|
|
301
483
|
return evidenceByRunId;
|
|
302
484
|
}
|
|
@@ -319,6 +501,7 @@ async function loadRunRowById(db, runId) {
|
|
|
319
501
|
resultJson: heartbeatRuns.resultJson,
|
|
320
502
|
sessionIdBefore: heartbeatRuns.sessionIdBefore,
|
|
321
503
|
sessionIdAfter: heartbeatRuns.sessionIdAfter,
|
|
504
|
+
sessionReuseScope: heartbeatRuns.sessionReuseScope,
|
|
322
505
|
logStore: heartbeatRuns.logStore,
|
|
323
506
|
logRef: heartbeatRuns.logRef,
|
|
324
507
|
logBytes: heartbeatRuns.logBytes,
|
|
@@ -378,55 +561,221 @@ async function loadRunLogContent(run) {
|
|
|
378
561
|
export async function listObservedRuns(db, input) {
|
|
379
562
|
const rows = await loadRunRows(db, input);
|
|
380
563
|
const [issueMap, revisionsByAgentId, skillEvidenceMap] = await Promise.all([
|
|
381
|
-
loadIssuesForRuns(db, rows),
|
|
564
|
+
loadIssuesForRuns(db, input.orgId, rows),
|
|
382
565
|
loadRevisionsForRuns(db, rows),
|
|
383
566
|
loadSkillEvidenceForRuns(db, rows, input),
|
|
384
567
|
]);
|
|
385
568
|
return Promise.all(rows.map((row) => serializeRunRow(row, issueMap, revisionsByAgentId, skillEvidenceMap)));
|
|
386
569
|
}
|
|
570
|
+
export async function listRunSummaries(db, input) {
|
|
571
|
+
const fetchedRows = await loadSummaryRunRows(db, input);
|
|
572
|
+
const hasMore = fetchedRows.length > input.limit;
|
|
573
|
+
const rows = hasMore ? fetchedRows.slice(0, input.limit) : fetchedRows;
|
|
574
|
+
const [issueMap, skillEvidenceMap] = await Promise.all([
|
|
575
|
+
loadIssuesForRuns(db, input.orgId, rows),
|
|
576
|
+
loadSkillEvidenceForRuns(db, rows, input, true),
|
|
577
|
+
]);
|
|
578
|
+
const items = rows.map((row) => {
|
|
579
|
+
const inputTokens = finiteNonNegativeNumber(row.usageInputTokens);
|
|
580
|
+
const cachedInputTokens = finiteNonNegativeNumber(row.usageCachedInputTokens);
|
|
581
|
+
const outputTokens = finiteNonNegativeNumber(row.usageOutputTokens);
|
|
582
|
+
const costUsd = finiteNonNegativeNumber(row.usageCostUsd) ?? finiteNonNegativeNumber(row.resultCostUsd);
|
|
583
|
+
const hasUsage = inputTokens !== null || cachedInputTokens !== null || outputTokens !== null
|
|
584
|
+
|| costUsd !== null || Boolean(row.usageProvider) || Boolean(row.usageModel);
|
|
585
|
+
const tokenSummary = summarizeTokenUsage({
|
|
586
|
+
inputTokens,
|
|
587
|
+
cachedInputTokens,
|
|
588
|
+
outputTokens,
|
|
589
|
+
provider: row.usageProvider,
|
|
590
|
+
});
|
|
591
|
+
const durationMs = row.startedAt && row.finishedAt
|
|
592
|
+
? Math.max(0, row.finishedAt.getTime() - row.startedAt.getTime())
|
|
593
|
+
: null;
|
|
594
|
+
return {
|
|
595
|
+
id: row.id,
|
|
596
|
+
orgId: row.orgId,
|
|
597
|
+
orgName: row.orgName,
|
|
598
|
+
agentId: row.agentId,
|
|
599
|
+
agentName: row.agentName,
|
|
600
|
+
runtime: row.agentRuntimeType,
|
|
601
|
+
invocationSource: row.invocationSource,
|
|
602
|
+
triggerDetail: row.triggerDetail,
|
|
603
|
+
status: row.status,
|
|
604
|
+
sessionReuseScope: row.sessionReuseScope,
|
|
605
|
+
issue: row.issueId ? issueMap.get(row.issueId) ?? null : null,
|
|
606
|
+
target: row.targetType && row.targetId ? { type: row.targetType, id: row.targetId } : null,
|
|
607
|
+
chatConversationId: row.chatConversationId,
|
|
608
|
+
startedAt: row.startedAt,
|
|
609
|
+
finishedAt: row.finishedAt,
|
|
610
|
+
durationMs,
|
|
611
|
+
createdAt: row.createdAt,
|
|
612
|
+
updatedAt: row.updatedAt,
|
|
613
|
+
outcome: clipSummaryText(row.outcomeText),
|
|
614
|
+
error: clipSummaryText(row.errorText),
|
|
615
|
+
usage: hasUsage ? {
|
|
616
|
+
inputTokens: tokenSummary.inputTokens,
|
|
617
|
+
cachedInputTokens: tokenSummary.cachedInputTokens,
|
|
618
|
+
outputTokens: tokenSummary.outputTokens,
|
|
619
|
+
totalTokens: tokenSummary.totalTokens,
|
|
620
|
+
costUsd,
|
|
621
|
+
provider: row.usageProvider,
|
|
622
|
+
model: row.usageModel,
|
|
623
|
+
} : null,
|
|
624
|
+
skillEvidence: skillEvidenceMap.get(row.id) ?? null,
|
|
625
|
+
hasLog: Boolean(row.logStore && row.logRef),
|
|
626
|
+
logBytes: Math.max(0, Number(row.logBytes ?? 0) || 0),
|
|
627
|
+
};
|
|
628
|
+
});
|
|
629
|
+
return {
|
|
630
|
+
items,
|
|
631
|
+
page: {
|
|
632
|
+
limit: input.limit,
|
|
633
|
+
hasMore,
|
|
634
|
+
nextCursor: hasMore && rows.length > 0 ? encodeRunSummaryCursor(rows[rows.length - 1]) : null,
|
|
635
|
+
},
|
|
636
|
+
};
|
|
637
|
+
}
|
|
638
|
+
export async function getRunSummary(db, runId, scope = {}) {
|
|
639
|
+
const resolvedRunId = await resolveHeartbeatRunIdReference(db, runId, scope);
|
|
640
|
+
const orgId = await loadRunOrgId(db, resolvedRunId);
|
|
641
|
+
if (!orgId)
|
|
642
|
+
return null;
|
|
643
|
+
assertRunOrgScope(orgId, scope);
|
|
644
|
+
const page = await listRunSummaries(db, {
|
|
645
|
+
orgId,
|
|
646
|
+
runIdPrefix: resolvedRunId,
|
|
647
|
+
limit: 1,
|
|
648
|
+
});
|
|
649
|
+
return page.items.find((row) => row.id === resolvedRunId) ?? null;
|
|
650
|
+
}
|
|
651
|
+
function assertRunOrgScope(orgId, scope) {
|
|
652
|
+
if (scope.orgIds && !scope.orgIds.includes(orgId)) {
|
|
653
|
+
throw forbidden("User does not have access to this organization");
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
async function loadRunOrgId(db, runId) {
|
|
657
|
+
return db
|
|
658
|
+
.select({ orgId: heartbeatRuns.orgId })
|
|
659
|
+
.from(heartbeatRuns)
|
|
660
|
+
.where(eq(heartbeatRuns.id, runId))
|
|
661
|
+
.limit(1)
|
|
662
|
+
.then((rows) => rows[0]?.orgId ?? null);
|
|
663
|
+
}
|
|
387
664
|
export async function getObservedRun(db, runId, scope = {}) {
|
|
388
665
|
const resolvedRunId = await resolveHeartbeatRunIdReference(db, runId, scope);
|
|
666
|
+
const orgId = await loadRunOrgId(db, resolvedRunId);
|
|
667
|
+
if (!orgId)
|
|
668
|
+
return null;
|
|
669
|
+
assertRunOrgScope(orgId, scope);
|
|
389
670
|
const row = await loadRunRowById(db, resolvedRunId);
|
|
390
671
|
if (!row)
|
|
391
672
|
return null;
|
|
392
673
|
const [issueMap, revisionsByAgentId] = await Promise.all([
|
|
393
|
-
loadIssuesForRuns(db, [row]),
|
|
674
|
+
loadIssuesForRuns(db, orgId, [row]),
|
|
394
675
|
loadRevisionsForRuns(db, [row]),
|
|
395
676
|
]);
|
|
396
677
|
return serializeRunRow(row, issueMap, revisionsByAgentId);
|
|
397
678
|
}
|
|
398
|
-
export async function getObservedRunEvents(db, runId, scope = {}) {
|
|
679
|
+
export async function getObservedRunEvents(db, runId, scope = {}, input = {}) {
|
|
399
680
|
const resolvedRunId = await resolveHeartbeatRunIdReference(db, runId, scope);
|
|
400
|
-
const
|
|
401
|
-
|
|
402
|
-
.from(heartbeatRuns)
|
|
403
|
-
.where(eq(heartbeatRuns.id, resolvedRunId))
|
|
404
|
-
.limit(1)
|
|
405
|
-
.then((rows) => rows[0] ?? null);
|
|
406
|
-
if (!run)
|
|
681
|
+
const orgId = await loadRunOrgId(db, resolvedRunId);
|
|
682
|
+
if (!orgId)
|
|
407
683
|
throw notFound("Agent run not found");
|
|
408
|
-
|
|
684
|
+
assertRunOrgScope(orgId, scope);
|
|
685
|
+
const afterSeq = Math.max(0, Math.floor(input.afterSeq ?? 0));
|
|
686
|
+
const cursor = input.cursor ? decodeRunEventCursor(input.cursor) : null;
|
|
687
|
+
const limit = Math.max(1, Math.min(200, Math.floor(input.limit ?? 200)));
|
|
688
|
+
const conditions = [eq(heartbeatRunEvents.runId, resolvedRunId)];
|
|
689
|
+
if (cursor) {
|
|
690
|
+
conditions.push(or(gt(heartbeatRunEvents.seq, cursor.seq), and(eq(heartbeatRunEvents.seq, cursor.seq), gt(heartbeatRunEvents.id, cursor.id))));
|
|
691
|
+
}
|
|
692
|
+
else if (afterSeq > 0) {
|
|
693
|
+
conditions.push(gt(heartbeatRunEvents.seq, afterSeq));
|
|
694
|
+
}
|
|
695
|
+
const fetched = await db
|
|
696
|
+
.select()
|
|
697
|
+
.from(heartbeatRunEvents)
|
|
698
|
+
.where(and(...conditions))
|
|
699
|
+
.orderBy(asc(heartbeatRunEvents.seq), asc(heartbeatRunEvents.id))
|
|
700
|
+
.limit(limit + 1);
|
|
701
|
+
const hasMore = fetched.length > limit;
|
|
702
|
+
const currentUserRedactionOptions = {
|
|
703
|
+
enabled: (await instanceSettingsService(db).getGeneral()).censorUsernameInLogs,
|
|
704
|
+
};
|
|
705
|
+
const maxPayloadChars = Math.max(100, Math.min(4_000, Math.floor(input.maxPayloadChars ?? 1_200)));
|
|
706
|
+
const items = (hasMore ? fetched.slice(0, limit) : fetched).map((event) => {
|
|
707
|
+
const redacted = redactCurrentUserValue({
|
|
708
|
+
...event,
|
|
709
|
+
stream: event.stream,
|
|
710
|
+
level: event.level,
|
|
711
|
+
payload: redactEventPayload(event.payload),
|
|
712
|
+
}, currentUserRedactionOptions);
|
|
713
|
+
const payloadText = redacted.payload == null ? "" : JSON.stringify(redacted.payload);
|
|
714
|
+
return {
|
|
715
|
+
...redacted,
|
|
716
|
+
payload: input.includePayload ? redacted.payload : null,
|
|
717
|
+
payloadPreview: payloadText
|
|
718
|
+
? {
|
|
719
|
+
text: payloadText.length <= maxPayloadChars
|
|
720
|
+
? payloadText
|
|
721
|
+
: `${payloadText.slice(0, maxPayloadChars - 1)}…`,
|
|
722
|
+
clipped: payloadText.length > maxPayloadChars,
|
|
723
|
+
originalLength: payloadText.length,
|
|
724
|
+
}
|
|
725
|
+
: null,
|
|
726
|
+
};
|
|
727
|
+
});
|
|
728
|
+
const nextCursor = hasMore && items.length > 0
|
|
729
|
+
? encodeRunEventCursor(items[items.length - 1])
|
|
730
|
+
: null;
|
|
731
|
+
const page = {
|
|
732
|
+
cursor: input.cursor ?? null,
|
|
733
|
+
afterSeq: input.cursor ? null : afterSeq,
|
|
734
|
+
limit,
|
|
735
|
+
hasMore,
|
|
736
|
+
nextCursor,
|
|
737
|
+
};
|
|
738
|
+
return {
|
|
739
|
+
orgId,
|
|
740
|
+
response: {
|
|
741
|
+
items,
|
|
742
|
+
page: {
|
|
743
|
+
...page,
|
|
744
|
+
nextAfterSeq: hasMore && items.length > 0 ? items[items.length - 1].seq : null,
|
|
745
|
+
},
|
|
746
|
+
},
|
|
747
|
+
};
|
|
409
748
|
}
|
|
410
|
-
export async function getObservedRunLog(db, runId, scope = {}) {
|
|
749
|
+
export async function getObservedRunLog(db, runId, scope = {}, input = {}) {
|
|
411
750
|
const resolvedRunId = await resolveHeartbeatRunIdReference(db, runId, scope);
|
|
412
|
-
const
|
|
413
|
-
|
|
414
|
-
.from(heartbeatRuns)
|
|
415
|
-
.where(eq(heartbeatRuns.id, resolvedRunId))
|
|
416
|
-
.limit(1)
|
|
417
|
-
.then((rows) => rows[0] ?? null);
|
|
418
|
-
if (!run)
|
|
751
|
+
const orgId = await loadRunOrgId(db, resolvedRunId);
|
|
752
|
+
if (!orgId)
|
|
419
753
|
throw notFound("Agent run not found");
|
|
420
|
-
|
|
754
|
+
assertRunOrgScope(orgId, scope);
|
|
755
|
+
const heartbeat = heartbeatService(db);
|
|
756
|
+
const offset = Math.max(0, Math.floor(input.offset ?? 0));
|
|
757
|
+
const limitBytes = Math.max(4, Math.min(1_000_000, Math.floor(input.limitBytes ?? 256_000)));
|
|
758
|
+
const result = await heartbeat.readLog(resolvedRunId, { offset, limitBytes });
|
|
759
|
+
return {
|
|
760
|
+
orgId,
|
|
761
|
+
response: {
|
|
762
|
+
...result,
|
|
763
|
+
page: {
|
|
764
|
+
offset,
|
|
765
|
+
limitBytes,
|
|
766
|
+
endOffset: result.endOffset,
|
|
767
|
+
eof: result.eof,
|
|
768
|
+
nextOffset: result.nextOffset ?? null,
|
|
769
|
+
},
|
|
770
|
+
},
|
|
771
|
+
};
|
|
421
772
|
}
|
|
422
773
|
export async function getObservedRunDetail(db, runId, scope = {}) {
|
|
423
774
|
const resolvedRunId = await resolveHeartbeatRunIdReference(db, runId, scope);
|
|
424
|
-
const
|
|
425
|
-
getObservedRun(db, resolvedRunId, scope),
|
|
426
|
-
loadRunEvents(db, resolvedRunId),
|
|
427
|
-
]);
|
|
775
|
+
const observedRun = await getObservedRun(db, resolvedRunId, scope);
|
|
428
776
|
if (!observedRun)
|
|
429
777
|
return null;
|
|
778
|
+
const events = await loadRunEvents(db, resolvedRunId);
|
|
430
779
|
const run = { ...observedRun.run, chatConversationId: observedRun.run.chatConversationId ?? null };
|
|
431
780
|
const logContent = await loadRunLogContent(run).catch(() => "");
|
|
432
781
|
return observedRunFromFilesystem({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-intelligence.js","sourceRoot":"","sources":["../../src/services/run-intelligence.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-intelligence.js","sourceRoot":"","sources":["../../src/services/run-intelligence.ts"],"names":[],"mappings":"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"}
|