@rudderhq/server 0.6.6-canary.9 → 0.7.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/bootstrap/register-api-routes.d.ts.map +1 -1
- package/dist/bootstrap/register-api-routes.js +4 -0
- package/dist/bootstrap/register-api-routes.js.map +1 -1
- package/dist/bundled-plugins/plugin-linear/dist/worker.js +75 -4
- package/dist/bundled-plugins/plugin-linear/dist/worker.js.map +3 -3
- package/dist/routes/access.d.ts.map +1 -1
- package/dist/routes/access.js +6 -0
- package/dist/routes/access.js.map +1 -1
- package/dist/routes/agents.management-routes.d.ts.map +1 -1
- package/dist/routes/agents.management-routes.js +22 -0
- package/dist/routes/agents.management-routes.js.map +1 -1
- package/dist/routes/ai-search.d.ts +3 -0
- package/dist/routes/ai-search.d.ts.map +1 -0
- package/dist/routes/ai-search.js +17 -0
- package/dist/routes/ai-search.js.map +1 -0
- package/dist/routes/browser.d.ts.map +1 -1
- package/dist/routes/browser.js +6 -2
- package/dist/routes/browser.js.map +1 -1
- package/dist/routes/chats.annotation-routes.d.ts.map +1 -1
- package/dist/routes/chats.annotation-routes.js +10 -1
- package/dist/routes/chats.annotation-routes.js.map +1 -1
- package/dist/routes/chats.d.ts.map +1 -1
- package/dist/routes/chats.js +1 -0
- package/dist/routes/chats.js.map +1 -1
- package/dist/routes/chats.runtime-controls.d.ts +1 -0
- package/dist/routes/chats.runtime-controls.d.ts.map +1 -1
- package/dist/routes/chats.stream-routes.d.ts.map +1 -1
- package/dist/routes/chats.stream-routes.js +52 -4
- package/dist/routes/chats.stream-routes.js.map +1 -1
- package/dist/routes/chats.stream-support.d.ts +1 -0
- package/dist/routes/chats.stream-support.d.ts.map +1 -1
- package/dist/routes/chats.stream-support.js +8 -0
- package/dist/routes/chats.stream-support.js.map +1 -1
- package/dist/routes/index.d.ts +1 -0
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/index.js +1 -0
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/issues.mutations.d.ts +1 -1
- package/dist/routes/issues.mutations.d.ts.map +1 -1
- package/dist/routes/issues.mutations.js +70 -2
- package/dist/routes/issues.mutations.js.map +1 -1
- package/dist/routes/onboarding.d.ts.map +1 -1
- package/dist/routes/onboarding.js +35 -32
- package/dist/routes/onboarding.js.map +1 -1
- package/dist/routes/orgs.js +1 -1
- package/dist/routes/orgs.js.map +1 -1
- package/dist/routes/product-analytics-collector.d.ts +10 -0
- package/dist/routes/product-analytics-collector.d.ts.map +1 -0
- package/dist/routes/product-analytics-collector.js +28 -0
- package/dist/routes/product-analytics-collector.js.map +1 -0
- package/dist/routes/product-analytics.d.ts +3 -0
- package/dist/routes/product-analytics.d.ts.map +1 -0
- package/dist/routes/product-analytics.js +169 -0
- package/dist/routes/product-analytics.js.map +1 -0
- package/dist/routes/website-metadata.d.ts +2 -2
- package/dist/routes/website-metadata.d.ts.map +1 -1
- package/dist/routes/website-metadata.js +15 -2
- package/dist/routes/website-metadata.js.map +1 -1
- package/dist/services/activity.d.ts +3 -1
- package/dist/services/activity.d.ts.map +1 -1
- package/dist/services/activity.js +55 -6
- package/dist/services/activity.js.map +1 -1
- package/dist/services/agents.d.ts +71 -0
- package/dist/services/agents.d.ts.map +1 -1
- package/dist/services/agents.js +35 -1
- package/dist/services/agents.js.map +1 -1
- package/dist/services/ai-search.d.ts +6 -0
- package/dist/services/ai-search.d.ts.map +1 -0
- package/dist/services/ai-search.js +238 -0
- package/dist/services/ai-search.js.map +1 -0
- package/dist/services/ai-search.test.d.ts +2 -0
- package/dist/services/ai-search.test.d.ts.map +1 -0
- package/dist/services/ai-search.test.js +52 -0
- package/dist/services/ai-search.test.js.map +1 -0
- package/dist/services/automations.d.ts +1 -0
- package/dist/services/automations.d.ts.map +1 -1
- package/dist/services/automations.js +33 -1
- package/dist/services/automations.js.map +1 -1
- package/dist/services/browser-broker.d.ts +1 -0
- package/dist/services/browser-broker.d.ts.map +1 -1
- package/dist/services/browser-broker.js +34 -2
- package/dist/services/browser-broker.js.map +1 -1
- package/dist/services/browser-broker.test.js +73 -0
- package/dist/services/browser-broker.test.js.map +1 -1
- package/dist/services/chat-family-groups.d.ts +1 -1
- package/dist/services/chat-family-groups.d.ts.map +1 -1
- package/dist/services/chat-family-groups.js +17 -1
- package/dist/services/chat-family-groups.js.map +1 -1
- package/dist/services/chat-inline-annotation-validation.d.ts.map +1 -1
- package/dist/services/chat-inline-annotation-validation.js +226 -1
- package/dist/services/chat-inline-annotation-validation.js.map +1 -1
- package/dist/services/chat-inline-annotations.test.js +136 -1
- package/dist/services/chat-inline-annotations.test.js.map +1 -1
- package/dist/services/chat-message-branch.d.ts +5 -0
- package/dist/services/chat-message-branch.d.ts.map +1 -0
- package/dist/services/chat-message-branch.js +9 -0
- package/dist/services/chat-message-branch.js.map +1 -0
- package/dist/services/chats.create.d.ts +2 -0
- package/dist/services/chats.create.d.ts.map +1 -1
- package/dist/services/chats.create.js +76 -4
- package/dist/services/chats.create.js.map +1 -1
- package/dist/services/chats.d.ts +21 -1
- package/dist/services/chats.d.ts.map +1 -1
- package/dist/services/chats.js +46 -24
- package/dist/services/chats.js.map +1 -1
- package/dist/services/heartbeat-run-summary.d.ts.map +1 -1
- package/dist/services/heartbeat-run-summary.js +6 -0
- package/dist/services/heartbeat-run-summary.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/issues.d.ts.map +1 -1
- package/dist/services/issues.js +69 -2
- package/dist/services/issues.js.map +1 -1
- package/dist/services/knowledge-portability/organization-portability.import.d.ts.map +1 -1
- package/dist/services/knowledge-portability/organization-portability.import.js +1 -0
- package/dist/services/knowledge-portability/organization-portability.import.js.map +1 -1
- package/dist/services/legacy-operator-state.d.ts.map +1 -1
- package/dist/services/legacy-operator-state.js +6 -0
- package/dist/services/legacy-operator-state.js.map +1 -1
- package/dist/services/local-account-auth.d.ts.map +1 -1
- package/dist/services/local-account-auth.js +5 -0
- package/dist/services/local-account-auth.js.map +1 -1
- package/dist/services/messenger-custom-groups.d.ts +15 -0
- package/dist/services/messenger-custom-groups.d.ts.map +1 -0
- package/dist/services/messenger-custom-groups.js +155 -0
- package/dist/services/messenger-custom-groups.js.map +1 -0
- package/dist/services/messenger-saved-views.d.ts +32 -8
- package/dist/services/messenger-saved-views.d.ts.map +1 -1
- package/dist/services/messenger-saved-views.js +67 -2
- package/dist/services/messenger-saved-views.js.map +1 -1
- package/dist/services/messenger.d.ts.map +1 -1
- package/dist/services/messenger.js +110 -166
- package/dist/services/messenger.js.map +1 -1
- package/dist/services/orgs.d.ts +10 -1
- package/dist/services/orgs.d.ts.map +1 -1
- package/dist/services/orgs.js +23 -1
- package/dist/services/orgs.js.map +1 -1
- package/dist/services/product-analytics-collector.d.ts +86 -0
- package/dist/services/product-analytics-collector.d.ts.map +1 -0
- package/dist/services/product-analytics-collector.js +172 -0
- package/dist/services/product-analytics-collector.js.map +1 -0
- package/dist/services/product-analytics-collector.test.d.ts +2 -0
- package/dist/services/product-analytics-collector.test.d.ts.map +1 -0
- package/dist/services/product-analytics-collector.test.js +81 -0
- package/dist/services/product-analytics-collector.test.js.map +1 -0
- package/dist/services/product-analytics.d.ts +385 -0
- package/dist/services/product-analytics.d.ts.map +1 -0
- package/dist/services/product-analytics.js +698 -0
- package/dist/services/product-analytics.js.map +1 -0
- package/dist/services/product-analytics.test.d.ts +2 -0
- package/dist/services/product-analytics.test.d.ts.map +1 -0
- package/dist/services/product-analytics.test.js +136 -0
- package/dist/services/product-analytics.test.js.map +1 -0
- package/dist/services/runtime-kernel/heartbeat.d.ts +4 -0
- package/dist/services/runtime-kernel/heartbeat.d.ts.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.js +53 -1
- package/dist/services/runtime-kernel/heartbeat.js.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.terminal.d.ts +3 -0
- package/dist/services/runtime-kernel/heartbeat.terminal.d.ts.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.terminal.js +56 -1
- package/dist/services/runtime-kernel/heartbeat.terminal.js.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.wakeup.d.ts.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.wakeup.js +9 -2
- package/dist/services/runtime-kernel/heartbeat.wakeup.js.map +1 -1
- package/dist/services/side-chats.d.ts +3 -0
- package/dist/services/side-chats.d.ts.map +1 -1
- package/dist/services/side-chats.js +12 -5
- package/dist/services/side-chats.js.map +1 -1
- package/dist/services/website-metadata.d.ts +3 -0
- package/dist/services/website-metadata.d.ts.map +1 -1
- package/dist/services/website-metadata.js +331 -88
- package/dist/services/website-metadata.js.map +1 -1
- package/package.json +16 -14
- package/resources/bundled-skills/app-builder/SKILL.md +31 -14
- package/resources/bundled-skills/app-builder/agents/openai.yaml +2 -2
- package/resources/bundled-skills/app-builder/evals/evals.json +12 -0
- package/resources/bundled-skills/app-builder/references/scaffold-contract.md +17 -2
- package/skills/app-builder/SKILL.md +31 -14
- package/skills/app-builder/agents/openai.yaml +2 -2
- package/skills/app-builder/evals/evals.json +12 -0
- package/skills/app-builder/references/scaffold-contract.md +17 -2
- package/ui-dist/assets/LibraryLiveSurface-DeUIV5N_.js +1 -0
- package/ui-dist/assets/{abnfDiagram-VRR7QNED-DmSFNqZA.js → abnfDiagram-VRR7QNED-BaoLM9Pd.js} +1 -1
- package/ui-dist/assets/{arc-DCySHdMS.js → arc-Cx0L6o2z.js} +1 -1
- package/ui-dist/assets/{architectureDiagram-ZJ3FMSHR-BL3egF1t.js → architectureDiagram-ZJ3FMSHR-zVfZP7v4.js} +1 -1
- package/ui-dist/assets/{blockDiagram-677ZJIJ3-Bh2L4BGz.js → blockDiagram-677ZJIJ3-BiWWFP9R.js} +1 -1
- package/ui-dist/assets/{c4Diagram-LMCZKHZV-BC0tQbna.js → c4Diagram-LMCZKHZV-CX65GSJ6.js} +1 -1
- package/ui-dist/assets/channel-CHc3ibOz.js +1 -0
- package/ui-dist/assets/{chunk-2Q5K7J3B-Du3BHUuM.js → chunk-2Q5K7J3B-CH6PlelX.js} +1 -1
- package/ui-dist/assets/{chunk-32BRIVSS--pEBkzQV.js → chunk-32BRIVSS-C7ZEXYO8.js} +1 -1
- package/ui-dist/assets/{chunk-5VM5RSS4-BPlwcWj7.js → chunk-5VM5RSS4-CyInWuue.js} +1 -1
- package/ui-dist/assets/{chunk-EX3LRPZG-CMdUJlKy.js → chunk-EX3LRPZG-D58qFIdM.js} +1 -1
- package/ui-dist/assets/{chunk-JWPE2WC7-gNumDpip.js → chunk-JWPE2WC7-CJ3Qx30f.js} +1 -1
- package/ui-dist/assets/{chunk-MOJQB5TN-D_J2XAWb.js → chunk-MOJQB5TN-BO4bKVLH.js} +1 -1
- package/ui-dist/assets/{chunk-RYQCIY6F-HUwWvMk8.js → chunk-RYQCIY6F-DxBmxcYc.js} +1 -1
- package/ui-dist/assets/{chunk-V7JOEXUC-BxIq5YO9.js → chunk-V7JOEXUC-Chdnd6Lq.js} +1 -1
- package/ui-dist/assets/{chunk-VR4S4FIN-Bt21PgEy.js → chunk-VR4S4FIN-GkW_x_pD.js} +1 -1
- package/ui-dist/assets/{chunk-XXDRQBXY-BMQqNb2F.js → chunk-XXDRQBXY-BJyBGcSF.js} +1 -1
- package/ui-dist/assets/classDiagram-OUVF2IWQ-9iLZpz3t.js +1 -0
- package/ui-dist/assets/classDiagram-v2-EOCWNBFH-9iLZpz3t.js +1 -0
- package/ui-dist/assets/{cose-bilkent-JH36ORCC-IdO8qXrd.js → cose-bilkent-JH36ORCC-BWP2r8TX.js} +1 -1
- package/ui-dist/assets/{cynefin-VYW2F7L2-lliB__8b.js → cynefin-VYW2F7L2-C08dfI3w.js} +1 -1
- package/ui-dist/assets/{cynefinDiagram-TSTJHNR4-D6hYvTa_.js → cynefinDiagram-TSTJHNR4-h6dXjTaO.js} +1 -1
- package/ui-dist/assets/{dagre-VKFMJZFB-BvJ54nY-.js → dagre-VKFMJZFB-CWDgoFQD.js} +1 -1
- package/ui-dist/assets/{diagram-FQU43EPY-LwGme7tk.js → diagram-FQU43EPY-CK1j48d-.js} +1 -1
- package/ui-dist/assets/{diagram-G47NLZAW-DpFi3fY3.js → diagram-G47NLZAW-CoSiG57q.js} +1 -1
- package/ui-dist/assets/{diagram-NH7WQ7WH-BT3DHBTZ.js → diagram-NH7WQ7WH-DRG-xXGQ.js} +1 -1
- package/ui-dist/assets/{diagram-OA4YK3LP-PVjLB7c8.js → diagram-OA4YK3LP-D04mMwYs.js} +1 -1
- package/ui-dist/assets/{diagram-WEI45ONY-BFtM6fa4.js → diagram-WEI45ONY-ZkC1ZQMq.js} +1 -1
- package/ui-dist/assets/{ebnfDiagram-CCIWWBDH-cOP8mEWH.js → ebnfDiagram-CCIWWBDH-BxMIw9PZ.js} +1 -1
- package/ui-dist/assets/{erDiagram-Q63AITRT-D5Jo2rGL.js → erDiagram-Q63AITRT-B4Zwbn84.js} +1 -1
- package/ui-dist/assets/{flowDiagram-23GEKE2U-ywmEM2g3.js → flowDiagram-23GEKE2U-D5pYz8Px.js} +1 -1
- package/ui-dist/assets/{ganttDiagram-NO4QXBWP-BU_eZKbI.js → ganttDiagram-NO4QXBWP-RSramodc.js} +1 -1
- package/ui-dist/assets/{gitGraphDiagram-IHSO6WYX-BpjiL_Kc.js → gitGraphDiagram-IHSO6WYX-BFQfCkMd.js} +1 -1
- package/ui-dist/assets/{graph-Dm9rhfLh.js → graph-DuSS8poS.js} +1 -1
- package/ui-dist/assets/{index-Dd2bkmgp.js → index-5tzBDABj.js} +1 -1
- package/ui-dist/assets/index-9U78M9Np.js +1 -0
- package/ui-dist/assets/index-B-NP8fOI.js +1 -0
- package/ui-dist/assets/{index-hi6RkKKV.js → index-BADa8mxG.js} +1 -1
- package/ui-dist/assets/index-BGcgy63z.js +1 -0
- package/ui-dist/assets/index-BKXUkeeU.js +1 -0
- package/ui-dist/assets/{index-CcolbA6z.js → index-BU0KLNTt.js} +578 -550
- package/ui-dist/assets/index-BpvytaKr.js +1 -0
- package/ui-dist/assets/index-CHbXMgL0.js +7 -0
- package/ui-dist/assets/index-Cyq94-QT.js +1 -0
- package/ui-dist/assets/{index-Bh9XaX7-.js → index-DRbt_Svi.js} +2 -2
- package/ui-dist/assets/index-De3vaw_P.js +1 -0
- package/ui-dist/assets/index-DzdRgH-y.js +1 -0
- package/ui-dist/assets/index-QrRs-r-4.css +1 -0
- package/ui-dist/assets/index-olsHIcXs.js +1 -0
- package/ui-dist/assets/index-wZlfBtwh.js +1 -0
- package/ui-dist/assets/{infoDiagram-FWYZ7A6U-Cy4F5ZoW.js → infoDiagram-FWYZ7A6U-f5i4pO3J.js} +1 -1
- package/ui-dist/assets/{ishikawaDiagram-FXEZZL3T-Dz5yqGu9.js → ishikawaDiagram-FXEZZL3T-CVEdv5i_.js} +1 -1
- package/ui-dist/assets/{journeyDiagram-5HDEW3XC-TwWo4pm4.js → journeyDiagram-5HDEW3XC-Cvp7vWcy.js} +1 -1
- package/ui-dist/assets/{kanban-definition-HUTT4EX6-DY0NB-vi.js → kanban-definition-HUTT4EX6-C6dURjjK.js} +1 -1
- package/ui-dist/assets/{layout-BORuuGEy.js → layout-DxdOu9MY.js} +1 -1
- package/ui-dist/assets/{linear-CC_dDONu.js → linear-CRi8RB_7.js} +1 -1
- package/ui-dist/assets/{map-CkTs9PaD.js → map-BlpDrw_l.js} +1 -1
- package/ui-dist/assets/{mermaid.core-BbvVSKV6.js → mermaid.core-2Gz9YusH.js} +4 -4
- package/ui-dist/assets/{mindmap-definition-LN4V7U3C-oEqblcyT.js → mindmap-definition-LN4V7U3C-BmSjJLTI.js} +1 -1
- package/ui-dist/assets/{pegDiagram-2B236MQR-Be4dxJHH.js → pegDiagram-2B236MQR-BTUboUw8.js} +1 -1
- package/ui-dist/assets/{pieDiagram-ENE6RG2P-DEfT3YEZ.js → pieDiagram-ENE6RG2P-CVPP8SYv.js} +1 -1
- package/ui-dist/assets/{quadrantDiagram-ABIIQ3AL-Cb6JOf0G.js → quadrantDiagram-ABIIQ3AL-BG4FmirT.js} +1 -1
- package/ui-dist/assets/{railroadDiagram-RFXS5EU6-Cq69PTte.js → railroadDiagram-RFXS5EU6-DFRNo9hF.js} +1 -1
- package/ui-dist/assets/{requirementDiagram-TGXJPOKE-uGctx0yQ.js → requirementDiagram-TGXJPOKE-DpnVF9qP.js} +1 -1
- package/ui-dist/assets/{sankeyDiagram-HTMAVEWB-D-Jn2GZ3.js → sankeyDiagram-HTMAVEWB-D1ETFdSE.js} +1 -1
- package/ui-dist/assets/{sequenceDiagram-DBY2YBRQ-D0PNt4tF.js → sequenceDiagram-DBY2YBRQ-CNqzB_AL.js} +1 -1
- package/ui-dist/assets/{sizeCapture-X5ZJPWSS-C5PkxxqV.js → sizeCapture-X5ZJPWSS-DuoMCjdH.js} +1 -1
- package/ui-dist/assets/{stateDiagram-2N3HPSRC-CEU6dEp8.js → stateDiagram-2N3HPSRC-fmHeKL8l.js} +1 -1
- package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-DajAVikh.js +1 -0
- package/ui-dist/assets/swimlanes-5IMT3BWC-hjosaIhT.js +2 -0
- package/ui-dist/assets/swimlanesDiagram-G3AALYLV-DJjG9OJ-.js +8 -0
- package/ui-dist/assets/{timeline-definition-FHXFAJF6-BzClran5.js → timeline-definition-FHXFAJF6-xoMEClc-.js} +1 -1
- package/ui-dist/assets/{vennDiagram-L72KCM5P-DCz0zpBU.js → vennDiagram-L72KCM5P-sdSXQfX-.js} +1 -1
- package/ui-dist/assets/{wardleyDiagram-EHGQE667-BCpjHnUs.js → wardleyDiagram-EHGQE667-BbQBSKlD.js} +1 -1
- package/ui-dist/assets/{xychartDiagram-FW5EYKEG-PZly8tD0.js → xychartDiagram-FW5EYKEG-BfAtadyK.js} +1 -1
- package/ui-dist/index.html +2 -2
- package/ui-dist/assets/LibraryLiveSurface-CpsfHfNv.js +0 -1
- package/ui-dist/assets/channel-BkaaZhpy.js +0 -1
- package/ui-dist/assets/classDiagram-OUVF2IWQ-wAPxgAxC.js +0 -1
- package/ui-dist/assets/classDiagram-v2-EOCWNBFH-wAPxgAxC.js +0 -1
- package/ui-dist/assets/index-B4-glB0m.js +0 -1
- package/ui-dist/assets/index-B77hSKzF.js +0 -1
- package/ui-dist/assets/index-BCtddpC-.js +0 -1
- package/ui-dist/assets/index-BJsfmJ3d.js +0 -6
- package/ui-dist/assets/index-CZQodrD7.js +0 -1
- package/ui-dist/assets/index-C_Zqz9dU.js +0 -1
- package/ui-dist/assets/index-CjAPsevc.js +0 -1
- package/ui-dist/assets/index-CzdqNgTk.js +0 -7
- package/ui-dist/assets/index-DPTcb3v2.js +0 -1
- package/ui-dist/assets/index-DRSP0xHL.js +0 -1
- package/ui-dist/assets/index-DV-n4C-H.js +0 -1
- package/ui-dist/assets/index-DryJkjHs.js +0 -1
- package/ui-dist/assets/index-TcdPtss-.js +0 -1
- package/ui-dist/assets/index-m9ZlZKZy.css +0 -1
- package/ui-dist/assets/index-wNtd8gYX.js +0 -1
- package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-D13NNkEm.js +0 -1
- package/ui-dist/assets/swimlanes-5IMT3BWC-Bh0Yv4dw.js +0 -2
- package/ui-dist/assets/swimlanesDiagram-G3AALYLV-Ba5kuBbj.js +0 -8
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-analytics.js","sourceRoot":"","sources":["../../src/services/product-analytics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-analytics.test.d.ts","sourceRoot":"","sources":["../../src/services/product-analytics.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { describe, expect, it, vi } from "vitest";
|
|
2
|
+
import { HttpError } from "../errors.js";
|
|
3
|
+
import { buildProductAnalyticsExportPayload, productAnalyticsRunTerminalEventName, pseudonymizeProductAnalyticsId, recordProductAnalyticsEvent } from "./product-analytics.js";
|
|
4
|
+
function createInsertDb(returnedRows) {
|
|
5
|
+
const returning = vi.fn().mockResolvedValue(returnedRows);
|
|
6
|
+
const onConflictDoNothing = vi.fn(() => ({ returning }));
|
|
7
|
+
const values = vi.fn(() => ({ onConflictDoNothing }));
|
|
8
|
+
return {
|
|
9
|
+
db: { insert: vi.fn(() => ({ values })) },
|
|
10
|
+
values,
|
|
11
|
+
onConflictDoNothing,
|
|
12
|
+
returning,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
const baseEvent = {
|
|
16
|
+
orgId: "org-1",
|
|
17
|
+
eventName: "human_work_started",
|
|
18
|
+
sourceTransition: "issue.create",
|
|
19
|
+
confidence: "exact",
|
|
20
|
+
actorType: "human",
|
|
21
|
+
actorId: "user-1",
|
|
22
|
+
entityType: "issue",
|
|
23
|
+
entityId: "issue-1",
|
|
24
|
+
dedupeKey: "human_work_started:issue:issue-1",
|
|
25
|
+
properties: { work_surface: "issue", origin: "human" },
|
|
26
|
+
};
|
|
27
|
+
describe("product analytics local ledger", () => {
|
|
28
|
+
it.each([
|
|
29
|
+
["failed", "run_failed"],
|
|
30
|
+
["cancelled", "run_failed"],
|
|
31
|
+
["timed_out", "run_failed"],
|
|
32
|
+
["succeeded", "run_succeeded"],
|
|
33
|
+
])("maps %s terminal runs to %s", (status, eventName) => {
|
|
34
|
+
expect(productAnalyticsRunTerminalEventName(status)).toBe(eventName);
|
|
35
|
+
});
|
|
36
|
+
it("writes an allowlisted event with an organization-scoped dedupe target", async () => {
|
|
37
|
+
const stub = createInsertDb([{ id: "event-1" }]);
|
|
38
|
+
await expect(recordProductAnalyticsEvent(stub.db, baseEvent)).resolves.toEqual({ id: "event-1" });
|
|
39
|
+
expect(stub.onConflictDoNothing).toHaveBeenCalledWith({ target: expect.anything() });
|
|
40
|
+
expect(stub.values).toHaveBeenCalledWith(expect.objectContaining({
|
|
41
|
+
orgId: "org-1",
|
|
42
|
+
eventName: "human_work_started",
|
|
43
|
+
dedupeKey: "human_work_started:issue:issue-1",
|
|
44
|
+
}));
|
|
45
|
+
});
|
|
46
|
+
it("rejects content-bearing and unknown properties before touching the database", async () => {
|
|
47
|
+
const stub = createInsertDb([]);
|
|
48
|
+
await expect(recordProductAnalyticsEvent(stub.db, {
|
|
49
|
+
...baseEvent,
|
|
50
|
+
properties: { prompt: "do not persist this" },
|
|
51
|
+
})).rejects.toBeInstanceOf(HttpError);
|
|
52
|
+
await expect(recordProductAnalyticsEvent(stub.db, {
|
|
53
|
+
...baseEvent,
|
|
54
|
+
properties: { arbitrary_dimension: "not allowlisted" },
|
|
55
|
+
})).rejects.toBeInstanceOf(HttpError);
|
|
56
|
+
expect(stub.db.insert).not.toHaveBeenCalled();
|
|
57
|
+
});
|
|
58
|
+
it("rejects unsupported schema versions and non-scalar properties", async () => {
|
|
59
|
+
const stub = createInsertDb([]);
|
|
60
|
+
await expect(recordProductAnalyticsEvent(stub.db, {
|
|
61
|
+
...baseEvent,
|
|
62
|
+
schemaVersion: 2,
|
|
63
|
+
})).rejects.toBeInstanceOf(HttpError);
|
|
64
|
+
await expect(recordProductAnalyticsEvent(stub.db, {
|
|
65
|
+
...baseEvent,
|
|
66
|
+
properties: { work_surface: { nested: true } },
|
|
67
|
+
})).rejects.toBeInstanceOf(HttpError);
|
|
68
|
+
expect(stub.db.insert).not.toHaveBeenCalled();
|
|
69
|
+
});
|
|
70
|
+
it("treats a conflict as an idempotent no-op", async () => {
|
|
71
|
+
const stub = createInsertDb([]);
|
|
72
|
+
await expect(recordProductAnalyticsEvent(stub.db, baseEvent)).resolves.toBeNull();
|
|
73
|
+
});
|
|
74
|
+
it("allows bounded output classification without allowing output content", async () => {
|
|
75
|
+
const stub = createInsertDb([{ id: "output-event" }]);
|
|
76
|
+
await expect(recordProductAnalyticsEvent(stub.db, {
|
|
77
|
+
...baseEvent,
|
|
78
|
+
eventName: "output_ready",
|
|
79
|
+
entityType: "run",
|
|
80
|
+
entityId: "run-1",
|
|
81
|
+
dedupeKey: "output_ready:run-1",
|
|
82
|
+
properties: { output_kind: "structured_result" },
|
|
83
|
+
})).resolves.toEqual({ id: "output-event" });
|
|
84
|
+
});
|
|
85
|
+
it("allows the safe organization provenance dimensions", async () => {
|
|
86
|
+
const stub = createInsertDb([{ id: "organization-event" }]);
|
|
87
|
+
await expect(recordProductAnalyticsEvent(stub.db, {
|
|
88
|
+
orgId: "org-1",
|
|
89
|
+
eventName: "organization_created",
|
|
90
|
+
sourceTransition: "organization.create",
|
|
91
|
+
confidence: "exact",
|
|
92
|
+
actorType: "system",
|
|
93
|
+
entityType: "organization",
|
|
94
|
+
entityId: "org-1",
|
|
95
|
+
dedupeKey: "organization_created:org-1",
|
|
96
|
+
properties: {
|
|
97
|
+
creation_path: "manual",
|
|
98
|
+
template_kind: "custom",
|
|
99
|
+
is_first_organization: true,
|
|
100
|
+
is_user_initiated: true,
|
|
101
|
+
},
|
|
102
|
+
})).resolves.toEqual({ id: "organization-event" });
|
|
103
|
+
});
|
|
104
|
+
it("records work-loop events without treating deferred names as unavailable", async () => {
|
|
105
|
+
const stub = createInsertDb([{ id: "loop-event" }]);
|
|
106
|
+
await expect(recordProductAnalyticsEvent(stub.db, {
|
|
107
|
+
...baseEvent,
|
|
108
|
+
eventName: "work_loop_completed",
|
|
109
|
+
workSurface: "issue",
|
|
110
|
+
workId: "issue-1",
|
|
111
|
+
workCycleId: "issue:issue-1",
|
|
112
|
+
completionRevision: 1,
|
|
113
|
+
dedupeKey: "work_loop_completed:issue:issue-1:1",
|
|
114
|
+
properties: { work_surface: "issue", origin: "human", review_required: false },
|
|
115
|
+
})).resolves.toEqual({ id: "loop-event" });
|
|
116
|
+
});
|
|
117
|
+
it("exports only pseudonymous identifiers and rejects sensitive payloads", () => {
|
|
118
|
+
const first = pseudonymizeProductAnalyticsId("secret", "org-1");
|
|
119
|
+
expect(first).toBe(pseudonymizeProductAnalyticsId("secret", "org-1"));
|
|
120
|
+
expect(first).not.toBe("org-1");
|
|
121
|
+
expect(buildProductAnalyticsExportPayload("secret", {
|
|
122
|
+
id: "event-1",
|
|
123
|
+
eventName: "human_work_started",
|
|
124
|
+
occurredAt: new Date("2026-01-01T00:00:00Z"),
|
|
125
|
+
orgId: "org-1",
|
|
126
|
+
properties: { work_surface: "issue" },
|
|
127
|
+
})).toMatchObject({ pseudonymousOrgId: first });
|
|
128
|
+
expect(() => buildProductAnalyticsExportPayload("secret", {
|
|
129
|
+
id: "event-2",
|
|
130
|
+
eventName: "human_work_started",
|
|
131
|
+
occurredAt: new Date("2026-01-01T00:00:00Z"),
|
|
132
|
+
properties: { work_surface: "issue", body: "secret" },
|
|
133
|
+
})).toThrow();
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
//# sourceMappingURL=product-analytics.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"product-analytics.test.js","sourceRoot":"","sources":["../../src/services/product-analytics.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,10 @@ export { prioritizeProjectWorkspaceCandidatesForRun, type ResolvedWorkspaceForRu
|
|
|
5
5
|
export declare function heartbeatService(db: Db, testHooks?: {
|
|
6
6
|
afterIssuePromotionCommitted?: (outcome: unknown) => Promise<void> | void;
|
|
7
7
|
}): {
|
|
8
|
+
overview: (orgId: string) => Promise<{
|
|
9
|
+
latestByAgent: HeartbeatRun[];
|
|
10
|
+
recent: HeartbeatRun[];
|
|
11
|
+
}>;
|
|
8
12
|
list: (orgId: string, agentId?: string, limit?: number, filters?: {
|
|
9
13
|
startDate?: Date;
|
|
10
14
|
endDate?: Date;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../../../src/services/runtime-kernel/heartbeat.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAWvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAmB1E,OAAO,EAAiB,KAAK,sBAAsB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../../../src/services/runtime-kernel/heartbeat.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ import { instanceSettingsService } from "../instance-settings.js";
|
|
|
18
18
|
import { issueService } from "../issues.js";
|
|
19
19
|
import { publishLiveEvent } from "../live-events.js";
|
|
20
20
|
import { ISSUE_EXECUTION_RELEASED_EVENT_TYPE } from "../operator-event-visibility.js";
|
|
21
|
+
import { recordProductAnalyticsEvent } from "../product-analytics.js";
|
|
21
22
|
import { appendHeartbeatRunEvent } from "../run-events.js";
|
|
22
23
|
import { getRunLogStore } from "../run-log-store.js";
|
|
23
24
|
import { workspaceOperationService } from "../workspace-operations.js";
|
|
@@ -749,6 +750,32 @@ export function heartbeatService(db, testHooks) {
|
|
|
749
750
|
.update(agents)
|
|
750
751
|
.set({ status: "running", updatedAt: claimedAt })
|
|
751
752
|
.where(eq(agents.id, run.agentId));
|
|
753
|
+
const [workIssue] = await tx.select({ id: issues.id }).from(issues).where(or(eq(issues.executionRunId, claimedRun.id), eq(issues.checkoutRunId, claimedRun.id))).limit(1);
|
|
754
|
+
const workSurface = workIssue ? "issue" : claimedRun.chatConversationId ? "chat" : null;
|
|
755
|
+
const workId = workIssue?.id ?? claimedRun.chatConversationId;
|
|
756
|
+
const workCycleId = workIssue ? `issue:${workIssue.id}` : claimedRun.chatConversationId ? `chat:${claimedRun.chatConversationId}` : null;
|
|
757
|
+
await recordProductAnalyticsEvent(tx, {
|
|
758
|
+
orgId: claimedRun.orgId,
|
|
759
|
+
eventName: "run_started",
|
|
760
|
+
occurredAt: claimedRun.startedAt ?? claimedAt,
|
|
761
|
+
sourceTransition: "heartbeat.run.claim",
|
|
762
|
+
confidence: "exact",
|
|
763
|
+
actorType: claimedRun.invocationSource.includes("automation") ? "automation" : "agent",
|
|
764
|
+
actorId: claimedRun.agentId,
|
|
765
|
+
runId: claimedRun.id,
|
|
766
|
+
rootRunId: claimedRun.retryOfRunId ?? claimedRun.id,
|
|
767
|
+
origin: claimedRun.invocationSource.includes("automation") ? "automation" : claimedRun.retryOfRunId ? "retry" : "human",
|
|
768
|
+
workSurface,
|
|
769
|
+
workId,
|
|
770
|
+
workCycleId,
|
|
771
|
+
entityType: "run",
|
|
772
|
+
entityId: claimedRun.id,
|
|
773
|
+
dedupeKey: `run_started:${claimedRun.id}`,
|
|
774
|
+
properties: {
|
|
775
|
+
run_kind: claimedRun.invocationSource,
|
|
776
|
+
attempt_kind: claimedRun.retryOfRunId ? "retry" : "root",
|
|
777
|
+
},
|
|
778
|
+
});
|
|
752
779
|
return claimedRun;
|
|
753
780
|
});
|
|
754
781
|
if (!claimed)
|
|
@@ -1404,6 +1431,31 @@ export function heartbeatService(db, testHooks) {
|
|
|
1404
1431
|
const { executeRun } = executeHandlers;
|
|
1405
1432
|
const { resumeDeferredWakeupsForAgent, listProjectScopedRunIds, listProjectScopedWakeupIds, cancelPendingWakeupsForBudgetScope, cancelRunInternal, cancelActiveForAgentInternal, cancelBudgetScopeWork, retryRunInternal, buildSkillAnalytics } = miscHandlers;
|
|
1406
1433
|
return {
|
|
1434
|
+
overview: async (orgId) => {
|
|
1435
|
+
const [latestRows, recentRows] = await Promise.all([
|
|
1436
|
+
db
|
|
1437
|
+
.selectDistinctOn([heartbeatRuns.agentId], heartbeatRunListColumns)
|
|
1438
|
+
.from(heartbeatRuns)
|
|
1439
|
+
.innerJoin(agents, eq(heartbeatRuns.agentId, agents.id))
|
|
1440
|
+
.where(and(eq(heartbeatRuns.orgId, orgId), eq(agents.orgId, orgId), ne(agents.status, "terminated")))
|
|
1441
|
+
.orderBy(heartbeatRuns.agentId, desc(heartbeatRuns.createdAt), desc(heartbeatRuns.id)),
|
|
1442
|
+
db
|
|
1443
|
+
.select(heartbeatRunListColumns)
|
|
1444
|
+
.from(heartbeatRuns)
|
|
1445
|
+
.innerJoin(agents, eq(heartbeatRuns.agentId, agents.id))
|
|
1446
|
+
.where(and(eq(heartbeatRuns.orgId, orgId), eq(agents.orgId, orgId)))
|
|
1447
|
+
.orderBy(desc(heartbeatRuns.createdAt), desc(heartbeatRuns.id))
|
|
1448
|
+
.limit(6),
|
|
1449
|
+
]);
|
|
1450
|
+
const projectSummary = (row) => toHeartbeatRun({
|
|
1451
|
+
...row,
|
|
1452
|
+
resultJson: summarizeHeartbeatRunResultJson(row.resultJson),
|
|
1453
|
+
});
|
|
1454
|
+
return {
|
|
1455
|
+
latestByAgent: latestRows.map(projectSummary),
|
|
1456
|
+
recent: recentRows.map(projectSummary),
|
|
1457
|
+
};
|
|
1458
|
+
},
|
|
1407
1459
|
list: async (orgId, agentId, limit, filters = {}) => {
|
|
1408
1460
|
const conditions = [eq(heartbeatRuns.orgId, orgId)];
|
|
1409
1461
|
if (agentId)
|
|
@@ -1416,7 +1468,7 @@ export function heartbeatService(db, testHooks) {
|
|
|
1416
1468
|
.select(heartbeatRunListColumns)
|
|
1417
1469
|
.from(heartbeatRuns)
|
|
1418
1470
|
.where(and(...conditions))
|
|
1419
|
-
.orderBy(desc(heartbeatRuns.createdAt));
|
|
1471
|
+
.orderBy(desc(heartbeatRuns.createdAt), desc(heartbeatRuns.id));
|
|
1420
1472
|
const rows = limit !== undefined ? await query.limit(limit) : await query;
|
|
1421
1473
|
const runIds = rows.map((row) => row.id);
|
|
1422
1474
|
const usedSkillsByRun = new Map();
|