@rudderhq/server 0.7.2 → 0.7.4
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/registry.d.ts.map +1 -1
- package/dist/agent-runtimes/registry.js +0 -2
- package/dist/agent-runtimes/registry.js.map +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +1 -5
- package/dist/app.js.map +1 -1
- package/dist/bootstrap/create-http-app.d.ts +1 -2
- package/dist/bootstrap/create-http-app.d.ts.map +1 -1
- package/dist/bootstrap/create-http-app.js +13 -12
- package/dist/bootstrap/create-http-app.js.map +1 -1
- package/dist/bootstrap/register-api-routes.d.ts +1 -2
- package/dist/bootstrap/register-api-routes.d.ts.map +1 -1
- package/dist/bootstrap/register-api-routes.js +22 -4
- package/dist/bootstrap/register-api-routes.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/middleware/logger.js +2 -2
- package/dist/middleware/logger.js.map +1 -1
- package/dist/middleware/logger.test.js +26 -10
- package/dist/middleware/logger.test.js.map +1 -1
- package/dist/redaction.d.ts +4 -0
- package/dist/redaction.d.ts.map +1 -1
- package/dist/redaction.js +15 -0
- package/dist/redaction.js.map +1 -1
- package/dist/routes/agent-issue-creation.d.ts +25 -0
- package/dist/routes/agent-issue-creation.d.ts.map +1 -0
- package/dist/routes/agent-issue-creation.js +201 -0
- package/dist/routes/agent-issue-creation.js.map +1 -0
- package/dist/routes/app-builder.d.ts +3 -1
- package/dist/routes/app-builder.d.ts.map +1 -1
- package/dist/routes/app-builder.js +30 -22
- package/dist/routes/app-builder.js.map +1 -1
- package/dist/routes/approvals.d.ts.map +1 -1
- package/dist/routes/approvals.js +36 -9
- package/dist/routes/approvals.js.map +1 -1
- package/dist/routes/chats.d.ts.map +1 -1
- package/dist/routes/chats.js +23 -4
- package/dist/routes/chats.js.map +1 -1
- package/dist/routes/chats.preflight.d.ts +2 -1
- package/dist/routes/chats.preflight.d.ts.map +1 -1
- package/dist/routes/chats.preflight.js +7 -0
- package/dist/routes/chats.preflight.js.map +1 -1
- package/dist/routes/chats.stream-routes.d.ts.map +1 -1
- package/dist/routes/chats.stream-routes.js +14 -3
- package/dist/routes/chats.stream-routes.js.map +1 -1
- 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/computer.d.ts +30 -0
- package/dist/routes/computer.d.ts.map +1 -0
- package/dist/routes/computer.js +231 -0
- package/dist/routes/computer.js.map +1 -0
- package/dist/routes/goals.d.ts.map +1 -1
- package/dist/routes/goals.js +176 -27
- package/dist/routes/goals.js.map +1 -1
- package/dist/routes/health.d.ts.map +1 -1
- package/dist/routes/health.js +2 -0
- package/dist/routes/health.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/instance-settings.d.ts.map +1 -1
- package/dist/routes/instance-settings.js +3 -0
- package/dist/routes/instance-settings.js.map +1 -1
- package/dist/routes/issues.comments-attachments.d.ts.map +1 -1
- package/dist/routes/issues.comments-attachments.js +90 -8
- package/dist/routes/issues.comments-attachments.js.map +1 -1
- package/dist/routes/issues.d.ts.map +1 -1
- package/dist/routes/issues.js +14 -2
- package/dist/routes/issues.js.map +1 -1
- package/dist/routes/issues.mutations.d.ts.map +1 -1
- package/dist/routes/issues.mutations.js +206 -52
- package/dist/routes/issues.mutations.js.map +1 -1
- package/dist/routes/managed-mcp-runtime.d.ts.map +1 -1
- package/dist/routes/managed-mcp-runtime.js +109 -7
- package/dist/routes/managed-mcp-runtime.js.map +1 -1
- package/dist/routes/organization-skills.d.ts.map +1 -1
- package/dist/routes/organization-skills.js +23 -1
- package/dist/routes/organization-skills.js.map +1 -1
- package/dist/routes/requests.d.ts +3 -0
- package/dist/routes/requests.d.ts.map +1 -0
- package/dist/routes/requests.js +122 -0
- package/dist/routes/requests.js.map +1 -0
- package/dist/routes/rudder-plugins.d.ts +4 -0
- package/dist/routes/rudder-plugins.d.ts.map +1 -0
- package/dist/routes/rudder-plugins.js +203 -0
- package/dist/routes/rudder-plugins.js.map +1 -0
- package/dist/services/activity-log.d.ts +0 -3
- package/dist/services/activity-log.d.ts.map +1 -1
- package/dist/services/activity-log.js +19 -42
- package/dist/services/activity-log.js.map +1 -1
- package/dist/services/activity.d.ts +3 -3
- package/dist/services/agent-issue-creation.d.ts +344 -0
- package/dist/services/agent-issue-creation.d.ts.map +1 -0
- package/dist/services/agent-issue-creation.js +675 -0
- package/dist/services/agent-issue-creation.js.map +1 -0
- package/dist/services/agent-run-context.d.ts.map +1 -1
- package/dist/services/agent-run-context.js +10 -4
- package/dist/services/agent-run-context.js.map +1 -1
- package/dist/services/agents.d.ts +14 -14
- package/dist/services/agents.d.ts.map +1 -1
- package/dist/services/agents.js +2 -1
- package/dist/services/agents.js.map +1 -1
- package/dist/services/app-builder.d.ts.map +1 -1
- package/dist/services/app-builder.js +24 -3
- package/dist/services/app-builder.js.map +1 -1
- package/dist/services/chat-agent-runs.d.ts +1 -0
- package/dist/services/chat-agent-runs.d.ts.map +1 -1
- package/dist/services/chat-agent-runs.js +1 -0
- 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 +3 -1
- package/dist/services/chat-assistant.helpers.d.ts.map +1 -1
- package/dist/services/chat-assistant.helpers.js +25 -0
- package/dist/services/chat-assistant.helpers.js.map +1 -1
- package/dist/services/chat-assistant.js +57 -11
- package/dist/services/chat-assistant.js.map +1 -1
- package/dist/services/chat-generation-protocol.test.js +2 -2
- package/dist/services/chat-generation-protocol.test.js.map +1 -1
- package/dist/services/chat-queued-message-materialization.d.ts +1 -1
- package/dist/services/chats.create.d.ts +2 -2
- package/dist/services/chats.create.d.ts.map +1 -1
- package/dist/services/chats.d.ts +15 -15
- package/dist/services/chats.d.ts.map +1 -1
- package/dist/services/chats.helpers.d.ts +2 -2
- package/dist/services/chats.helpers.d.ts.map +1 -1
- package/dist/services/chats.helpers.goal-context.test.d.ts +2 -0
- package/dist/services/chats.helpers.goal-context.test.d.ts.map +1 -0
- package/dist/services/chats.helpers.goal-context.test.js +40 -0
- package/dist/services/chats.helpers.goal-context.test.js.map +1 -0
- package/dist/services/chats.helpers.js +27 -2
- package/dist/services/chats.helpers.js.map +1 -1
- package/dist/services/chats.js.map +1 -1
- package/dist/services/computer-broker.d.ts +35 -0
- package/dist/services/computer-broker.d.ts.map +1 -0
- package/dist/services/computer-broker.js +211 -0
- package/dist/services/computer-broker.js.map +1 -0
- package/dist/services/computer-broker.test.d.ts +2 -0
- package/dist/services/computer-broker.test.d.ts.map +1 -0
- package/dist/services/computer-broker.test.js +70 -0
- package/dist/services/computer-broker.test.js.map +1 -0
- package/dist/services/computer-capability.d.ts +13 -0
- package/dist/services/computer-capability.d.ts.map +1 -0
- package/dist/services/computer-capability.js +11 -0
- package/dist/services/computer-capability.js.map +1 -0
- package/dist/services/computer-capability.test.d.ts +2 -0
- package/dist/services/computer-capability.test.d.ts.map +1 -0
- package/dist/services/computer-capability.test.js +27 -0
- package/dist/services/computer-capability.test.js.map +1 -0
- package/dist/services/finance.d.ts +2 -2
- package/dist/services/goals.d.ts +267 -244
- package/dist/services/goals.d.ts.map +1 -1
- package/dist/services/goals.js +1279 -297
- package/dist/services/goals.js.map +1 -1
- package/dist/services/index.d.ts +3 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +3 -0
- package/dist/services/index.js.map +1 -1
- package/dist/services/instance-settings.d.ts.map +1 -1
- package/dist/services/instance-settings.js +8 -3
- package/dist/services/instance-settings.js.map +1 -1
- package/dist/services/integrations/agent-integrations.d.ts +1 -1
- package/dist/services/issues.d.ts +86 -1
- package/dist/services/issues.d.ts.map +1 -1
- package/dist/services/issues.helpers.d.ts +4 -0
- package/dist/services/issues.helpers.d.ts.map +1 -1
- package/dist/services/issues.helpers.js +28 -6
- package/dist/services/issues.helpers.js.map +1 -1
- package/dist/services/issues.js +207 -127
- package/dist/services/issues.js.map +1 -1
- package/dist/services/knowledge-portability/organization-portability.files.d.ts +1 -1
- package/dist/services/knowledge-portability/organization-skills.catalog.d.ts +7 -1
- package/dist/services/knowledge-portability/organization-skills.catalog.d.ts.map +1 -1
- package/dist/services/knowledge-portability/organization-skills.catalog.js +10 -0
- package/dist/services/knowledge-portability/organization-skills.catalog.js.map +1 -1
- package/dist/services/knowledge-portability/organization-skills.d.ts +3 -1
- package/dist/services/knowledge-portability/organization-skills.d.ts.map +1 -1
- package/dist/services/knowledge-portability/organization-skills.js +80 -12
- package/dist/services/knowledge-portability/organization-skills.js.map +1 -1
- package/dist/services/mcp/managed-bindings.d.ts.map +1 -1
- package/dist/services/mcp/managed-bindings.js +18 -2
- package/dist/services/mcp/managed-bindings.js.map +1 -1
- package/dist/services/mcp/managed-client.d.ts +15 -0
- package/dist/services/mcp/managed-client.d.ts.map +1 -1
- package/dist/services/mcp/managed-client.js +23 -1
- package/dist/services/mcp/managed-client.js.map +1 -1
- package/dist/services/mcp/managed-client.test.js +73 -9
- package/dist/services/mcp/managed-client.test.js.map +1 -1
- package/dist/services/messenger.d.ts +3 -3
- package/dist/services/messenger.d.ts.map +1 -1
- package/dist/services/messenger.js +201 -65
- package/dist/services/messenger.js.map +1 -1
- package/dist/services/orgs.d.ts.map +1 -1
- package/dist/services/orgs.js +3 -1
- package/dist/services/orgs.js.map +1 -1
- package/dist/services/product-analytics.d.ts +2 -2
- package/dist/services/requests.d.ts +919 -0
- package/dist/services/requests.d.ts.map +1 -0
- package/dist/services/requests.js +532 -0
- package/dist/services/requests.js.map +1 -0
- package/dist/services/rudder-plugins.d.ts +107 -0
- package/dist/services/rudder-plugins.d.ts.map +1 -0
- package/dist/services/rudder-plugins.js +1760 -0
- package/dist/services/rudder-plugins.js.map +1 -0
- package/dist/services/rudder-plugins.test.d.ts +2 -0
- package/dist/services/rudder-plugins.test.d.ts.map +1 -0
- package/dist/services/rudder-plugins.test.js +191 -0
- package/dist/services/rudder-plugins.test.js.map +1 -0
- package/dist/services/runtime-kernel/heartbeat.core.d.ts +1 -0
- package/dist/services/runtime-kernel/heartbeat.core.d.ts.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.core.js +1 -1
- package/dist/services/runtime-kernel/heartbeat.core.js.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.d.ts +65 -0
- package/dist/services/runtime-kernel/heartbeat.d.ts.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.execute.d.ts.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.execute.js +21 -5
- package/dist/services/runtime-kernel/heartbeat.execute.js.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.js +320 -108
- package/dist/services/runtime-kernel/heartbeat.js.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.recovery.d.ts +1 -0
- package/dist/services/runtime-kernel/heartbeat.recovery.d.ts.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.recovery.js +39 -4
- package/dist/services/runtime-kernel/heartbeat.recovery.js.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.sessions.js +1 -1
- package/dist/services/runtime-kernel/heartbeat.sessions.js.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.terminal.d.ts +14 -1
- package/dist/services/runtime-kernel/heartbeat.terminal.d.ts.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.terminal.js +46 -1
- package/dist/services/runtime-kernel/heartbeat.terminal.js.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.wakeup.d.ts +1 -0
- package/dist/services/runtime-kernel/heartbeat.wakeup.d.ts.map +1 -1
- package/dist/services/runtime-kernel/heartbeat.wakeup.js +124 -6
- package/dist/services/runtime-kernel/heartbeat.wakeup.js.map +1 -1
- package/dist/services/workspace-runtime.services.d.ts +1 -1
- package/package.json +18 -18
- package/resources/bundled-skills/app-builder/SKILL.md +39 -9
- package/resources/bundled-skills/app-builder/assets/scaffold/app/globals.css +109 -16
- package/resources/bundled-skills/app-builder/assets/scaffold/components/contacts-workspace.tsx +176 -152
- package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/alert.tsx +12 -0
- package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/badge.tsx +27 -0
- package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/button.tsx +9 -7
- package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/card.tsx +15 -3
- package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/empty.tsx +18 -0
- package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/field.tsx +23 -0
- package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/input.tsx +1 -1
- package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/label.tsx +1 -1
- package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/separator.tsx +6 -0
- package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/skeleton.tsx +6 -0
- package/resources/bundled-skills/app-builder/assets/scaffold/components/ui/table.tsx +30 -0
- package/resources/bundled-skills/app-builder/assets/scaffold/components.json +20 -0
- package/resources/bundled-skills/app-builder/assets/scaffold/next-env.d.ts +1 -1
- package/resources/bundled-skills/app-builder/assets/scaffold/next.config.ts +19 -0
- package/resources/bundled-skills/app-builder/assets/scaffold/package.json +2 -1
- package/resources/bundled-skills/app-builder/assets/scaffold/rudder.app.json +1 -1
- package/resources/bundled-skills/app-builder/assets/scaffold/rudder.ui.json +13 -0
- package/resources/bundled-skills/app-builder/assets/scaffold/scripts/validate-rudder-ui.mjs +50 -0
- package/resources/bundled-skills/app-builder/assets/scaffold/tests/e2e/app.spec.ts +35 -1
- package/resources/bundled-skills/app-builder/evals/evals.json +2 -1
- package/resources/bundled-skills/app-builder/references/design-guidelines.md +19 -2
- package/resources/bundled-skills/app-builder/references/rudder-ui-preset.md +73 -0
- package/resources/bundled-skills/app-builder/references/scaffold-contract.md +12 -0
- package/resources/bundled-skills/app-builder/references/verification.md +6 -0
- package/resources/bundled-skills/app-builder/scripts/report-build-status.mjs +83 -0
- package/resources/bundled-skills/rudder-docs/SKILL.md +2 -2
- package/resources/bundled-skills/rudder-docs/evals/retrieval-authority-evals.json +40 -0
- package/resources/bundled-skills/rudder-docs/evals/trigger-evals.json +2 -2
- package/resources/bundled-skills/rudder-docs/references/api-reference.md +0 -2
- package/resources/bundled-skills/rudder-docs/references/cli-reference.md +7 -2
- package/resources/bundled-skills/rudder-docs/references/operating-practices.md +10 -6
- package/resources/bundled-skills/rudder-docs/references/plugin-authoring.md +38 -114
- package/resources/bundled-skills/rudder-docs/references/source-map.md +2 -0
- package/skills/app-builder/SKILL.md +39 -9
- package/skills/app-builder/assets/scaffold/app/globals.css +109 -16
- package/skills/app-builder/assets/scaffold/components/contacts-workspace.tsx +176 -152
- package/skills/app-builder/assets/scaffold/components/ui/alert.tsx +12 -0
- package/skills/app-builder/assets/scaffold/components/ui/badge.tsx +27 -0
- package/skills/app-builder/assets/scaffold/components/ui/button.tsx +9 -7
- package/skills/app-builder/assets/scaffold/components/ui/card.tsx +15 -3
- package/skills/app-builder/assets/scaffold/components/ui/empty.tsx +18 -0
- package/skills/app-builder/assets/scaffold/components/ui/field.tsx +23 -0
- package/skills/app-builder/assets/scaffold/components/ui/input.tsx +1 -1
- package/skills/app-builder/assets/scaffold/components/ui/label.tsx +1 -1
- package/skills/app-builder/assets/scaffold/components/ui/separator.tsx +6 -0
- package/skills/app-builder/assets/scaffold/components/ui/skeleton.tsx +6 -0
- package/skills/app-builder/assets/scaffold/components/ui/table.tsx +30 -0
- package/skills/app-builder/assets/scaffold/components.json +20 -0
- package/skills/app-builder/assets/scaffold/next-env.d.ts +1 -1
- package/skills/app-builder/assets/scaffold/next.config.ts +19 -0
- package/skills/app-builder/assets/scaffold/package.json +2 -1
- package/skills/app-builder/assets/scaffold/rudder.app.json +1 -1
- package/skills/app-builder/assets/scaffold/rudder.ui.json +13 -0
- package/skills/app-builder/assets/scaffold/scripts/validate-rudder-ui.mjs +50 -0
- package/skills/app-builder/assets/scaffold/tests/e2e/app.spec.ts +35 -1
- package/skills/app-builder/evals/evals.json +2 -1
- package/skills/app-builder/references/design-guidelines.md +19 -2
- package/skills/app-builder/references/rudder-ui-preset.md +73 -0
- package/skills/app-builder/references/scaffold-contract.md +12 -0
- package/skills/app-builder/references/verification.md +6 -0
- package/skills/app-builder/scripts/report-build-status.mjs +83 -0
- package/skills/rudder-docs/SKILL.md +2 -2
- package/skills/rudder-docs/evals/retrieval-authority-evals.json +40 -0
- package/skills/rudder-docs/evals/trigger-evals.json +2 -2
- package/skills/rudder-docs/references/api-reference.md +0 -2
- package/skills/rudder-docs/references/cli-reference.md +7 -2
- package/skills/rudder-docs/references/operating-practices.md +10 -6
- package/skills/rudder-docs/references/plugin-authoring.md +38 -114
- package/skills/rudder-docs/references/source-map.md +2 -0
- package/ui-dist/assets/{LibraryLiveSurface-cHCJmmsl.js → LibraryLiveSurface-D4uCo0l0.js} +1 -1
- package/ui-dist/assets/{abnfDiagram-VRR7QNED-BORJvkew.js → abnfDiagram-VRR7QNED-FF2qcR6A.js} +1 -1
- package/ui-dist/assets/addon-fit-4gL7JXzc.js +1 -0
- package/ui-dist/assets/{arc-DPUzhx87.js → arc-D5pLjh6B.js} +1 -1
- package/ui-dist/assets/{architectureDiagram-ZJ3FMSHR-Bz_hY8LM.js → architectureDiagram-ZJ3FMSHR-BvqY-HXg.js} +1 -1
- package/ui-dist/assets/{blockDiagram-677ZJIJ3-Bq1X3YkP.js → blockDiagram-677ZJIJ3-BU6ZbJ0s.js} +1 -1
- package/ui-dist/assets/{c4Diagram-LMCZKHZV-BawEM9Pc.js → c4Diagram-LMCZKHZV-Cl5Gsovj.js} +1 -1
- package/ui-dist/assets/channel-HcmprA3I.js +1 -0
- package/ui-dist/assets/{chunk-2Q5K7J3B-D0D5ZOaA.js → chunk-2Q5K7J3B-4a2agt_p.js} +1 -1
- package/ui-dist/assets/{chunk-32BRIVSS-T90P7lug.js → chunk-32BRIVSS-CF0oOO2T.js} +1 -1
- package/ui-dist/assets/{chunk-5VM5RSS4-jcAERTgh.js → chunk-5VM5RSS4-CsSq2zX2.js} +1 -1
- package/ui-dist/assets/{chunk-EX3LRPZG-t9-JXwnR.js → chunk-EX3LRPZG-B6riETVZ.js} +1 -1
- package/ui-dist/assets/{chunk-JWPE2WC7-hqgD1saC.js → chunk-JWPE2WC7-S-p1xu0r.js} +1 -1
- package/ui-dist/assets/{chunk-MOJQB5TN-BsSUoYzd.js → chunk-MOJQB5TN-mVE4v_LV.js} +1 -1
- package/ui-dist/assets/{chunk-RYQCIY6F-YcdDh2Zn.js → chunk-RYQCIY6F-CElbgpgs.js} +1 -1
- package/ui-dist/assets/{chunk-V7JOEXUC-ChFyH9Su.js → chunk-V7JOEXUC-8XM3povP.js} +1 -1
- package/ui-dist/assets/{chunk-VR4S4FIN-BjVK8IyX.js → chunk-VR4S4FIN-LrThp3ht.js} +1 -1
- package/ui-dist/assets/{chunk-XXDRQBXY-D-TvO9vT.js → chunk-XXDRQBXY-D38vLb4t.js} +1 -1
- package/ui-dist/assets/classDiagram-OUVF2IWQ-Dpe8LaLf.js +1 -0
- package/ui-dist/assets/classDiagram-v2-EOCWNBFH-Dpe8LaLf.js +1 -0
- package/ui-dist/assets/{cose-bilkent-JH36ORCC-DBwhASJG.js → cose-bilkent-JH36ORCC-CmpZMaDV.js} +1 -1
- package/ui-dist/assets/{cynefin-VYW2F7L2-SlCRmwl2.js → cynefin-VYW2F7L2-D3RnbBvI.js} +1 -1
- package/ui-dist/assets/{cynefinDiagram-TSTJHNR4-DImV6N_p.js → cynefinDiagram-TSTJHNR4-DZTcUojp.js} +1 -1
- package/ui-dist/assets/{dagre-VKFMJZFB-FH4Wv8Zn.js → dagre-VKFMJZFB-6jXSDi0S.js} +1 -1
- package/ui-dist/assets/{diagram-FQU43EPY-CrZvQjId.js → diagram-FQU43EPY-DIMm3mfS.js} +1 -1
- package/ui-dist/assets/{diagram-G47NLZAW-B7IGl_T3.js → diagram-G47NLZAW-Cyo22v0_.js} +1 -1
- package/ui-dist/assets/{diagram-NH7WQ7WH-CB4i7H1a.js → diagram-NH7WQ7WH-CHDV0nSL.js} +1 -1
- package/ui-dist/assets/{diagram-OA4YK3LP-DNyWPYY9.js → diagram-OA4YK3LP-Jijx9vQO.js} +1 -1
- package/ui-dist/assets/{diagram-WEI45ONY-BAhxbhpi.js → diagram-WEI45ONY-CcL19HLE.js} +1 -1
- package/ui-dist/assets/{ebnfDiagram-CCIWWBDH-ClXtQ9qt.js → ebnfDiagram-CCIWWBDH-D94h-RFQ.js} +1 -1
- package/ui-dist/assets/{erDiagram-Q63AITRT-DGXiMYfn.js → erDiagram-Q63AITRT-B3ypUGZX.js} +1 -1
- package/ui-dist/assets/{flowDiagram-23GEKE2U-CdZ-02zc.js → flowDiagram-23GEKE2U-DjCT6Y1o.js} +1 -1
- package/ui-dist/assets/{ganttDiagram-NO4QXBWP-TxhzNpta.js → ganttDiagram-NO4QXBWP-C3QVhTc9.js} +1 -1
- package/ui-dist/assets/{gitGraphDiagram-IHSO6WYX-D6Q_w6wR.js → gitGraphDiagram-IHSO6WYX-D0trBzU5.js} +1 -1
- package/ui-dist/assets/{graph-CxNmbpl9.js → graph-D1zFmVUP.js} +1 -1
- package/ui-dist/assets/{index-Cx6oIZPm.js → index-B0GEsWui.js} +568 -593
- package/ui-dist/assets/{index-BA9tMBhO.js → index-B8bxQLfN.js} +1 -1
- package/ui-dist/assets/{index-C_nwI4Yj.js → index-BFktZ2tu.js} +1 -1
- package/ui-dist/assets/index-BT7dphT4.css +32 -0
- package/ui-dist/assets/{index-BoTz5S-X.js → index-Bk_yesiO.js} +1 -1
- package/ui-dist/assets/{index-CXnqg1Oq.js → index-BwutQLG1.js} +1 -1
- package/ui-dist/assets/{index-AkhgKOxC.js → index-CB4zr_Ku.js} +1 -1
- package/ui-dist/assets/{index-Rau2cGm0.js → index-CC89UPa-.js} +1 -1
- package/ui-dist/assets/{index-kbWUQ1um.js → index-CFWOO6yn.js} +1 -1
- package/ui-dist/assets/{index-DU2LI7f9.js → index-CK8u9b07.js} +1 -1
- package/ui-dist/assets/{index-C12QC1Ex.js → index-CRolpP90.js} +1 -1
- package/ui-dist/assets/{index-Bxz75ICF.js → index-CiCRRUVV.js} +1 -1
- package/ui-dist/assets/{index-Do78GymY.js → index-D8JG-IU9.js} +1 -1
- package/ui-dist/assets/{index-CW21qWFm.js → index-DKCiVvJo.js} +1 -1
- package/ui-dist/assets/{index-BujwWE3j.js → index-G2yfKEf_.js} +1 -1
- package/ui-dist/assets/{index-BQ87dGIq.js → index-or2C22bw.js} +1 -1
- package/ui-dist/assets/{infoDiagram-FWYZ7A6U-CnJd4-Jq.js → infoDiagram-FWYZ7A6U-Co0nkcV4.js} +1 -1
- package/ui-dist/assets/{ishikawaDiagram-FXEZZL3T-Bq-qc3pD.js → ishikawaDiagram-FXEZZL3T-CkIg1Jdu.js} +1 -1
- package/ui-dist/assets/{journeyDiagram-5HDEW3XC-NSmpUGUA.js → journeyDiagram-5HDEW3XC-AYUT6JuJ.js} +1 -1
- package/ui-dist/assets/{kanban-definition-HUTT4EX6-D7pgWtfA.js → kanban-definition-HUTT4EX6-C3H2XW08.js} +1 -1
- package/ui-dist/assets/{layout-BRuo6LWe.js → layout-sZWyqNOu.js} +1 -1
- package/ui-dist/assets/{linear-CkaWI9Nd.js → linear-BLTYou8N.js} +1 -1
- package/ui-dist/assets/{map-CgA6tTpZ.js → map-zKBdHkX8.js} +1 -1
- package/ui-dist/assets/{mermaid.core-DrXOt-P6.js → mermaid.core-DbjdFip8.js} +4 -4
- package/ui-dist/assets/{mindmap-definition-LN4V7U3C-D9ImeWBe.js → mindmap-definition-LN4V7U3C-DcDNQ4GQ.js} +1 -1
- package/ui-dist/assets/{pegDiagram-2B236MQR-Cq-zZ_zz.js → pegDiagram-2B236MQR-BGq1PngU.js} +1 -1
- package/ui-dist/assets/{pieDiagram-ENE6RG2P-FgNgy726.js → pieDiagram-ENE6RG2P-BfXWRzNb.js} +1 -1
- package/ui-dist/assets/{quadrantDiagram-ABIIQ3AL-BxQbmGmi.js → quadrantDiagram-ABIIQ3AL-AYMVAbo1.js} +1 -1
- package/ui-dist/assets/{railroadDiagram-RFXS5EU6-CrpbkPH2.js → railroadDiagram-RFXS5EU6-B0PoG0Ih.js} +1 -1
- package/ui-dist/assets/{requirementDiagram-TGXJPOKE-DQ-65ZW6.js → requirementDiagram-TGXJPOKE-Cuuu9wfw.js} +1 -1
- package/ui-dist/assets/{sankeyDiagram-HTMAVEWB-Bom0lMZm.js → sankeyDiagram-HTMAVEWB-BceAc42f.js} +1 -1
- package/ui-dist/assets/{sequenceDiagram-DBY2YBRQ-C1MSDLDj.js → sequenceDiagram-DBY2YBRQ-cqJ71-Rw.js} +1 -1
- package/ui-dist/assets/{sizeCapture-X5ZJPWSS-Bn1vxebD.js → sizeCapture-X5ZJPWSS-DQ6MibbA.js} +1 -1
- package/ui-dist/assets/{stateDiagram-2N3HPSRC-GRRQpmzI.js → stateDiagram-2N3HPSRC-Bdl-XY7t.js} +1 -1
- package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-Cjj7yPIO.js +1 -0
- package/ui-dist/assets/{swimlanes-5IMT3BWC-BcOOCZ4q.js → swimlanes-5IMT3BWC-Dpo2HDtE.js} +2 -2
- package/ui-dist/assets/swimlanesDiagram-G3AALYLV-CPmIkNCu.js +8 -0
- package/ui-dist/assets/{timeline-definition-FHXFAJF6-gi6amswh.js → timeline-definition-FHXFAJF6-BzmJ-xnC.js} +1 -1
- package/ui-dist/assets/{vennDiagram-L72KCM5P-B9uqeyQt.js → vennDiagram-L72KCM5P-BF2EI7vn.js} +1 -1
- package/ui-dist/assets/{wardleyDiagram-EHGQE667-BnqWAMiE.js → wardleyDiagram-EHGQE667-DM65x1i1.js} +1 -1
- package/ui-dist/assets/xterm-DZP7bLZ5.js +9 -0
- package/ui-dist/assets/{xychartDiagram-FW5EYKEG-BJXKltIN.js → xychartDiagram-FW5EYKEG-3Q2t9pdU.js} +1 -1
- package/ui-dist/index.html +2 -2
- package/dist/bootstrap/plugin-host-runtime.d.ts +0 -116
- package/dist/bootstrap/plugin-host-runtime.d.ts.map +0 -1
- package/dist/bootstrap/plugin-host-runtime.js +0 -179
- package/dist/bootstrap/plugin-host-runtime.js.map +0 -1
- package/dist/bundled-plugins/plugin-linear/README.md +0 -22
- package/dist/bundled-plugins/plugin-linear/dist/manifest.js +0 -183
- package/dist/bundled-plugins/plugin-linear/dist/manifest.js.map +0 -7
- package/dist/bundled-plugins/plugin-linear/dist/ui/index.js +0 -1285
- package/dist/bundled-plugins/plugin-linear/dist/ui/index.js.map +0 -7
- package/dist/bundled-plugins/plugin-linear/dist/worker.js +0 -10699
- package/dist/bundled-plugins/plugin-linear/dist/worker.js.map +0 -7
- package/dist/bundled-plugins/plugin-linear/package.json +0 -42
- package/dist/routes/plugin-ui-static.d.ts +0 -70
- package/dist/routes/plugin-ui-static.d.ts.map +0 -1
- package/dist/routes/plugin-ui-static.js +0 -375
- package/dist/routes/plugin-ui-static.js.map +0 -1
- package/dist/routes/plugins.d.ts +0 -120
- package/dist/routes/plugins.d.ts.map +0 -1
- package/dist/routes/plugins.js +0 -1125
- package/dist/routes/plugins.js.map +0 -1
- package/dist/routes/plugins.operations-routes.d.ts +0 -28
- package/dist/routes/plugins.operations-routes.d.ts.map +0 -1
- package/dist/routes/plugins.operations-routes.js +0 -720
- package/dist/routes/plugins.operations-routes.js.map +0 -1
- package/dist/services/plugin-capability-validator.d.ts +0 -108
- package/dist/services/plugin-capability-validator.d.ts.map +0 -1
- package/dist/services/plugin-capability-validator.js +0 -268
- package/dist/services/plugin-capability-validator.js.map +0 -1
- package/dist/services/plugin-config-validator.d.ts +0 -26
- package/dist/services/plugin-config-validator.d.ts.map +0 -1
- package/dist/services/plugin-config-validator.js +0 -41
- package/dist/services/plugin-config-validator.js.map +0 -1
- package/dist/services/plugin-dev-watcher.d.ts +0 -47
- package/dist/services/plugin-dev-watcher.d.ts.map +0 -1
- package/dist/services/plugin-dev-watcher.js +0 -275
- package/dist/services/plugin-dev-watcher.js.map +0 -1
- package/dist/services/plugin-event-bus.d.ts +0 -149
- package/dist/services/plugin-event-bus.d.ts.map +0 -1
- package/dist/services/plugin-event-bus.js +0 -258
- package/dist/services/plugin-event-bus.js.map +0 -1
- package/dist/services/plugin-host-service-cleanup.d.ts +0 -14
- package/dist/services/plugin-host-service-cleanup.d.ts.map +0 -1
- package/dist/services/plugin-host-service-cleanup.js +0 -37
- package/dist/services/plugin-host-service-cleanup.js.map +0 -1
- package/dist/services/plugin-host-services.d.ts +0 -13
- package/dist/services/plugin-host-services.d.ts.map +0 -1
- package/dist/services/plugin-host-services.js +0 -933
- package/dist/services/plugin-host-services.js.map +0 -1
- package/dist/services/plugin-job-coordinator.d.ts +0 -81
- package/dist/services/plugin-job-coordinator.d.ts.map +0 -1
- package/dist/services/plugin-job-coordinator.js +0 -172
- package/dist/services/plugin-job-coordinator.js.map +0 -1
- package/dist/services/plugin-job-scheduler.d.ts +0 -163
- package/dist/services/plugin-job-scheduler.d.ts.map +0 -1
- package/dist/services/plugin-job-scheduler.js +0 -452
- package/dist/services/plugin-job-scheduler.js.map +0 -1
- package/dist/services/plugin-job-store.d.ts +0 -208
- package/dist/services/plugin-job-store.d.ts.map +0 -1
- package/dist/services/plugin-job-store.js +0 -350
- package/dist/services/plugin-job-store.js.map +0 -1
- package/dist/services/plugin-lifecycle.d.ts +0 -240
- package/dist/services/plugin-lifecycle.d.ts.map +0 -1
- package/dist/services/plugin-lifecycle.js +0 -439
- package/dist/services/plugin-lifecycle.js.map +0 -1
- package/dist/services/plugin-loader.core.d.ts +0 -40
- package/dist/services/plugin-loader.core.d.ts.map +0 -1
- package/dist/services/plugin-loader.core.js +0 -879
- package/dist/services/plugin-loader.core.js.map +0 -1
- package/dist/services/plugin-loader.d.ts +0 -30
- package/dist/services/plugin-loader.d.ts.map +0 -1
- package/dist/services/plugin-loader.helpers.d.ts +0 -495
- package/dist/services/plugin-loader.helpers.d.ts.map +0 -1
- package/dist/services/plugin-loader.helpers.js +0 -238
- package/dist/services/plugin-loader.helpers.js.map +0 -1
- package/dist/services/plugin-loader.js +0 -30
- package/dist/services/plugin-loader.js.map +0 -1
- package/dist/services/plugin-loader.worker-paths.d.ts +0 -37
- package/dist/services/plugin-loader.worker-paths.d.ts.map +0 -1
- package/dist/services/plugin-loader.worker-paths.js +0 -62
- package/dist/services/plugin-loader.worker-paths.js.map +0 -1
- package/dist/services/plugin-log-retention.d.ts +0 -20
- package/dist/services/plugin-log-retention.d.ts.map +0 -1
- package/dist/services/plugin-log-retention.js +0 -63
- package/dist/services/plugin-log-retention.js.map +0 -1
- package/dist/services/plugin-manifest-validator.d.ts +0 -90
- package/dist/services/plugin-manifest-validator.d.ts.map +0 -1
- package/dist/services/plugin-manifest-validator.js +0 -72
- package/dist/services/plugin-manifest-validator.js.map +0 -1
- package/dist/services/plugin-registry.d.ts +0 -2542
- package/dist/services/plugin-registry.d.ts.map +0 -1
- package/dist/services/plugin-registry.js +0 -536
- package/dist/services/plugin-registry.js.map +0 -1
- package/dist/services/plugin-runtime-sandbox.d.ts +0 -40
- package/dist/services/plugin-runtime-sandbox.d.ts.map +0 -1
- package/dist/services/plugin-runtime-sandbox.js +0 -154
- package/dist/services/plugin-runtime-sandbox.js.map +0 -1
- package/dist/services/plugin-secrets-handler.d.ts +0 -81
- package/dist/services/plugin-secrets-handler.d.ts.map +0 -1
- package/dist/services/plugin-secrets-handler.js +0 -275
- package/dist/services/plugin-secrets-handler.js.map +0 -1
- package/dist/services/plugin-state-store.d.ts +0 -92
- package/dist/services/plugin-state-store.d.ts.map +0 -1
- package/dist/services/plugin-state-store.js +0 -190
- package/dist/services/plugin-state-store.js.map +0 -1
- package/dist/services/plugin-stream-bus.d.ts +0 -29
- package/dist/services/plugin-stream-bus.d.ts.map +0 -1
- package/dist/services/plugin-stream-bus.js +0 -48
- package/dist/services/plugin-stream-bus.js.map +0 -1
- package/dist/services/plugin-tool-dispatcher.d.ts +0 -180
- package/dist/services/plugin-tool-dispatcher.d.ts.map +0 -1
- package/dist/services/plugin-tool-dispatcher.js +0 -224
- package/dist/services/plugin-tool-dispatcher.js.map +0 -1
- package/dist/services/plugin-tool-registry.d.ts +0 -192
- package/dist/services/plugin-tool-registry.d.ts.map +0 -1
- package/dist/services/plugin-tool-registry.js +0 -224
- package/dist/services/plugin-tool-registry.js.map +0 -1
- package/dist/services/plugin-worker-manager.d.ts +0 -260
- package/dist/services/plugin-worker-manager.d.ts.map +0 -1
- package/dist/services/plugin-worker-manager.js +0 -836
- package/dist/services/plugin-worker-manager.js.map +0 -1
- package/ui-dist/assets/channel-C08AyYJr.js +0 -1
- package/ui-dist/assets/classDiagram-OUVF2IWQ-BIXq6fec.js +0 -1
- package/ui-dist/assets/classDiagram-v2-EOCWNBFH-BIXq6fec.js +0 -1
- package/ui-dist/assets/index-BmXb0yC1.css +0 -1
- package/ui-dist/assets/stateDiagram-v2-6OUMAXLB-KvSJhiLM.js +0 -1
- package/ui-dist/assets/swimlanesDiagram-G3AALYLV-Cr92NnJ4.js +0 -8
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { activityLog, agents, approvalComments, approvals, authUsers, chatConversations, heartbeatRuns, issueComments, issueFollows, issues, joinRequests, messengerCustomGroupEntries, messengerCustomGroups, messengerSavedViews, messengerThreadUserStates, projects } from "@rudderhq/db";
|
|
1
|
+
import { activityLog, agentIssueCreationRequests, agents, approvalComments, approvals, authUsers, chatConversations, heartbeatRuns, issueComments, issueFollows, issues, joinRequests, messengerCustomGroupEntries, messengerCustomGroups, messengerSavedViews, messengerThreadUserStates, projects, requests } from "@rudderhq/db";
|
|
2
2
|
import { formatMessengerPreview, formatMessengerTitle, isUuidLike, issueUpdatedChangedKeys, messengerSavedViewIdSchema } from "@rudderhq/shared";
|
|
3
3
|
import { and, asc, desc, eq, gt, inArray, isNull, ne, or, sql } from "drizzle-orm";
|
|
4
4
|
import { badRequest, conflict, notFound } from "../errors.js";
|
|
@@ -16,6 +16,7 @@ const ISSUE_ACTIVITY_ACTIONS = [
|
|
|
16
16
|
"issue.updated",
|
|
17
17
|
"issue.followed",
|
|
18
18
|
"automation.issue_created_notification",
|
|
19
|
+
"agent.issue_created_notification",
|
|
19
20
|
"issue.approval_linked",
|
|
20
21
|
"issue.work_product_created",
|
|
21
22
|
"issue.work_product_updated",
|
|
@@ -48,6 +49,15 @@ function maxDate(...values) {
|
|
|
48
49
|
return null;
|
|
49
50
|
return dates.sort((a, b) => b.getTime() - a.getTime())[0] ?? null;
|
|
50
51
|
}
|
|
52
|
+
function failedRunSummary(run) {
|
|
53
|
+
const summary = failedRunUserSummary(run);
|
|
54
|
+
return run.agentIssueCreationRequestId
|
|
55
|
+
? `Agent Issue creation failed. ${summary}`
|
|
56
|
+
: summary;
|
|
57
|
+
}
|
|
58
|
+
function failedAgentIssueRequestSummary(request) {
|
|
59
|
+
return `Agent Issue creation failed. ${request.error ?? "Agent run completed without creating an Issue"}`;
|
|
60
|
+
}
|
|
51
61
|
function compareLatestActivity(a, b) {
|
|
52
62
|
const aTime = a.latestActivityAt?.getTime() ?? Number.NEGATIVE_INFINITY;
|
|
53
63
|
const bTime = b.latestActivityAt?.getTime() ?? Number.NEGATIVE_INFINITY;
|
|
@@ -228,6 +238,8 @@ function summarizeIssueActivity(activity, issue) {
|
|
|
228
238
|
return "Followed";
|
|
229
239
|
case "automation.issue_created_notification":
|
|
230
240
|
return "Automation created issue";
|
|
241
|
+
case "agent.issue_created_notification":
|
|
242
|
+
return "Agent created issue";
|
|
231
243
|
case "issue.approval_linked":
|
|
232
244
|
return "Approval linked";
|
|
233
245
|
case "issue.work_product_created":
|
|
@@ -410,11 +422,11 @@ function approvalSummary(approvalCount, latestActivityAt, unreadCount, lastReadA
|
|
|
410
422
|
return {
|
|
411
423
|
threadKey: "approvals",
|
|
412
424
|
kind: "approvals",
|
|
413
|
-
title: "
|
|
425
|
+
title: "Requests",
|
|
414
426
|
subtitle: approvalCount > 0
|
|
415
|
-
? `${approvalCount}
|
|
416
|
-
: "No
|
|
417
|
-
preview: approvalCount > 0 ? preview ?? "Review
|
|
427
|
+
? `${approvalCount} request${approvalCount === 1 ? "" : "s"}`
|
|
428
|
+
: "No requests yet",
|
|
429
|
+
preview: approvalCount > 0 ? preview ?? "Review requests needing your input" : "No requests in this organization",
|
|
418
430
|
latestActivityAt,
|
|
419
431
|
lastReadAt,
|
|
420
432
|
unreadCount,
|
|
@@ -522,24 +534,67 @@ function approvalCard(approval, requesterAgent, latestComment, currentUserId, la
|
|
|
522
534
|
requester: approvalRequesterLabel(approval, currentUserId),
|
|
523
535
|
},
|
|
524
536
|
approval: approval,
|
|
537
|
+
requestKind: "approval",
|
|
525
538
|
requesterAgent,
|
|
526
539
|
};
|
|
527
540
|
}
|
|
528
|
-
function
|
|
529
|
-
|
|
541
|
+
function assistanceRequestCard(request, requesterAgent) {
|
|
542
|
+
return {
|
|
543
|
+
id: request.id,
|
|
544
|
+
threadKey: "approvals",
|
|
545
|
+
kind: "approvals",
|
|
546
|
+
requestKind: "assistance",
|
|
547
|
+
title: request.title,
|
|
548
|
+
subtitle: request.status === "open" ? "Waiting on you" : request.status.replaceAll("_", " "),
|
|
549
|
+
body: request.prompt,
|
|
550
|
+
preview: request.prompt,
|
|
551
|
+
href: request.issueId ? `/issues/${request.issueId}` : "/messenger/approvals",
|
|
552
|
+
latestActivityAt: request.updatedAt,
|
|
553
|
+
actions: request.issueId ? [buildAction("Open issue", `/issues/${request.issueId}`, "GET")] : [],
|
|
554
|
+
metadata: {
|
|
555
|
+
requestId: request.id,
|
|
556
|
+
requestKind: "assistance",
|
|
557
|
+
subtype: request.subtype,
|
|
558
|
+
status: request.status,
|
|
559
|
+
issueId: request.issueId,
|
|
560
|
+
},
|
|
561
|
+
assistanceRequest: {
|
|
562
|
+
...request,
|
|
563
|
+
kind: "assistance",
|
|
564
|
+
subtype: "issue_blocker",
|
|
565
|
+
status: request.status,
|
|
566
|
+
resolution: request.resolution,
|
|
567
|
+
issueId: request.issueId,
|
|
568
|
+
blockerFingerprint: request.blockerFingerprint,
|
|
569
|
+
},
|
|
570
|
+
requesterAgent,
|
|
571
|
+
};
|
|
572
|
+
}
|
|
573
|
+
function failedRunCard(run, agentName, origin, orgId, userId) {
|
|
574
|
+
const summary = failedRunSummary(run);
|
|
530
575
|
const sourceAction = messengerFailedRunSourceAction(origin);
|
|
576
|
+
const agentIssueRequestId = run.agentIssueCreationRequestId;
|
|
577
|
+
const canRetryAgentIssue = Boolean(agentIssueRequestId
|
|
578
|
+
&& run.agentIssueCreationRequestedByUserId === userId);
|
|
579
|
+
const retryAction = agentIssueRequestId
|
|
580
|
+
? canRetryAgentIssue
|
|
581
|
+
? buildAction("Retry Agent Issue", `/orgs/${orgId}/agent-issue-creation-requests/${agentIssueRequestId}/retry`, "POST")
|
|
582
|
+
: null
|
|
583
|
+
: buildAction("Retry", `/agent-runs/${run.id}/retry`, "POST");
|
|
531
584
|
return {
|
|
532
585
|
id: run.id,
|
|
533
586
|
threadKey: "failed-runs",
|
|
534
587
|
kind: "failed-runs",
|
|
535
|
-
title:
|
|
536
|
-
|
|
588
|
+
title: agentIssueRequestId
|
|
589
|
+
? (agentName ? `${agentName} · Agent Issue creation failed` : "Agent Issue creation failed")
|
|
590
|
+
: (agentName ? `${agentName} · Failed run` : "Failed run"),
|
|
591
|
+
subtitle: agentIssueRequestId ? "Agent Issue request failed" : run.status.replaceAll("_", " "),
|
|
537
592
|
body: summary,
|
|
538
593
|
preview: summary,
|
|
539
594
|
href: `/agents/${run.agentId}/runs/${run.id}`,
|
|
540
595
|
latestActivityAt: run.updatedAt ?? run.createdAt,
|
|
541
596
|
actions: [
|
|
542
|
-
|
|
597
|
+
...(retryAction ? [retryAction] : []),
|
|
543
598
|
...(sourceAction ? [sourceAction] : []),
|
|
544
599
|
buildAction("Open run", `/agents/${run.agentId}/runs/${run.id}`, "GET"),
|
|
545
600
|
],
|
|
@@ -547,10 +602,46 @@ function failedRunCard(run, agentName, origin) {
|
|
|
547
602
|
runId: run.id,
|
|
548
603
|
agentId: run.agentId,
|
|
549
604
|
status: run.status,
|
|
605
|
+
...(agentIssueRequestId
|
|
606
|
+
? {
|
|
607
|
+
agentIssueCreationRequestId: agentIssueRequestId,
|
|
608
|
+
agentIssueCreationRetryable: canRetryAgentIssue,
|
|
609
|
+
agentIssueCreationError: run.agentIssueCreationError,
|
|
610
|
+
}
|
|
611
|
+
: {}),
|
|
550
612
|
},
|
|
551
613
|
origin,
|
|
552
614
|
};
|
|
553
615
|
}
|
|
616
|
+
function failedAgentIssueRequestCard(request, agentName, orgId) {
|
|
617
|
+
const summary = failedAgentIssueRequestSummary(request);
|
|
618
|
+
return {
|
|
619
|
+
id: request.id,
|
|
620
|
+
threadKey: "failed-runs",
|
|
621
|
+
kind: "failed-runs",
|
|
622
|
+
title: agentName ? `${agentName} · Agent Issue creation failed` : "Agent Issue creation failed",
|
|
623
|
+
subtitle: "Agent Issue request failed",
|
|
624
|
+
body: summary,
|
|
625
|
+
preview: summary,
|
|
626
|
+
href: request.runId ? `/agents/${request.agentId}/runs/${request.runId}` : null,
|
|
627
|
+
latestActivityAt: request.updatedAt ?? request.createdAt,
|
|
628
|
+
actions: [
|
|
629
|
+
buildAction("Retry Agent Issue", `/orgs/${orgId}/agent-issue-creation-requests/${request.id}/retry`, "POST"),
|
|
630
|
+
...(request.runId
|
|
631
|
+
? [buildAction("Open run", `/agents/${request.agentId}/runs/${request.runId}`, "GET")]
|
|
632
|
+
: []),
|
|
633
|
+
],
|
|
634
|
+
metadata: {
|
|
635
|
+
requestId: request.id,
|
|
636
|
+
agentId: request.agentId,
|
|
637
|
+
status: request.status,
|
|
638
|
+
agentIssueCreationRequestId: request.id,
|
|
639
|
+
agentIssueCreationRetryable: true,
|
|
640
|
+
agentIssueCreationError: request.error,
|
|
641
|
+
...(request.runId ? { runId: request.runId } : {}),
|
|
642
|
+
},
|
|
643
|
+
};
|
|
644
|
+
}
|
|
554
645
|
function budgetCard(incident) {
|
|
555
646
|
return {
|
|
556
647
|
id: incident.id,
|
|
@@ -1181,7 +1272,7 @@ export function messengerService(db) {
|
|
|
1181
1272
|
and notification_issue.org_id = automation_notification_activity.org_id
|
|
1182
1273
|
where automation_notification_activity.org_id = ${orgId}
|
|
1183
1274
|
and automation_notification_activity.entity_type = 'issue'
|
|
1184
|
-
and automation_notification_activity.action
|
|
1275
|
+
and automation_notification_activity.action in ('automation.issue_created_notification', 'agent.issue_created_notification')
|
|
1185
1276
|
and automation_notification_activity.details->>'userId' = ${userId}
|
|
1186
1277
|
and notification_issue.hidden_at is null
|
|
1187
1278
|
),
|
|
@@ -1285,7 +1376,7 @@ export function messengerService(db) {
|
|
|
1285
1376
|
where automation_notification_visibility.org_id = ${orgId}
|
|
1286
1377
|
and automation_notification_visibility.entity_type = 'issue'
|
|
1287
1378
|
and automation_notification_visibility.entity_id = issue_row.id::text
|
|
1288
|
-
and automation_notification_visibility.action
|
|
1379
|
+
and automation_notification_visibility.action in ('automation.issue_created_notification', 'agent.issue_created_notification')
|
|
1289
1380
|
and automation_notification_visibility.details->>'userId' = ${userId}
|
|
1290
1381
|
)
|
|
1291
1382
|
)
|
|
@@ -1327,6 +1418,10 @@ export function messengerService(db) {
|
|
|
1327
1418
|
and activity_row.entity_id = issue_row.id::text
|
|
1328
1419
|
and activity_row.action in (${issueActionSqlList})
|
|
1329
1420
|
and not ${lowSignalContentOnlyActivity}
|
|
1421
|
+
and (
|
|
1422
|
+
activity_row.action not in ('automation.issue_created_notification', 'agent.issue_created_notification')
|
|
1423
|
+
or activity_row.details->>'userId' = ${userId}
|
|
1424
|
+
)
|
|
1330
1425
|
order by activity_row.created_at desc, activity_row.id desc
|
|
1331
1426
|
limit 1
|
|
1332
1427
|
) latest_activity on true
|
|
@@ -1346,6 +1441,10 @@ export function messengerService(db) {
|
|
|
1346
1441
|
and external_activity_row.action in (${issueActionSqlList})
|
|
1347
1442
|
and not ${externalLowSignalContentOnlyActivity}
|
|
1348
1443
|
and (external_activity_row.actor_type <> 'user' or external_activity_row.actor_id <> ${userId})
|
|
1444
|
+
and (
|
|
1445
|
+
external_activity_row.action not in ('automation.issue_created_notification', 'agent.issue_created_notification')
|
|
1446
|
+
or external_activity_row.details->>'userId' = ${userId}
|
|
1447
|
+
)
|
|
1349
1448
|
order by external_activity_row.created_at desc, external_activity_row.id desc
|
|
1350
1449
|
limit 1
|
|
1351
1450
|
) latest_external_activity on true
|
|
@@ -1645,12 +1744,17 @@ export function messengerService(db) {
|
|
|
1645
1744
|
}
|
|
1646
1745
|
async function loadApprovalSummaryData(orgId, userId, threadStates) {
|
|
1647
1746
|
const lastReadAtPromise = lastReadAtForThread(db, orgId, userId, "approvals", threadStates);
|
|
1648
|
-
const [approvalRows, latestComments] = await Promise.all([
|
|
1747
|
+
const [approvalRows, assistanceRows, latestComments] = await Promise.all([
|
|
1649
1748
|
db
|
|
1650
1749
|
.select()
|
|
1651
1750
|
.from(approvals)
|
|
1652
1751
|
.where(eq(approvals.orgId, orgId))
|
|
1653
1752
|
.orderBy(desc(approvals.updatedAt), desc(approvals.createdAt)),
|
|
1753
|
+
db
|
|
1754
|
+
.select()
|
|
1755
|
+
.from(requests)
|
|
1756
|
+
.where(eq(requests.orgId, orgId))
|
|
1757
|
+
.orderBy(desc(requests.updatedAt), desc(requests.createdAt)),
|
|
1654
1758
|
db
|
|
1655
1759
|
.select({
|
|
1656
1760
|
approvalId: approvalComments.approvalId,
|
|
@@ -1670,8 +1774,10 @@ export function messengerService(db) {
|
|
|
1670
1774
|
}
|
|
1671
1775
|
}
|
|
1672
1776
|
const typedApprovalRows = approvalRows;
|
|
1673
|
-
const requesterAgentIds =
|
|
1674
|
-
.map((approval) => approvalRequesterAgentId(approval))
|
|
1777
|
+
const requesterAgentIds = [
|
|
1778
|
+
...typedApprovalRows.map((approval) => approvalRequesterAgentId(approval)),
|
|
1779
|
+
...assistanceRows.map((request) => request.requestedByAgentId),
|
|
1780
|
+
]
|
|
1675
1781
|
.filter((agentId) => Boolean(agentId));
|
|
1676
1782
|
const requesterAgents = requesterAgentIds.length > 0
|
|
1677
1783
|
? await db
|
|
@@ -1700,11 +1806,19 @@ export function messengerService(db) {
|
|
|
1700
1806
|
: null;
|
|
1701
1807
|
return approvalCard(approval, requesterAgent, latestComment, userId, latestActivityAt);
|
|
1702
1808
|
});
|
|
1809
|
+
for (const request of assistanceRows) {
|
|
1810
|
+
const requesterAgent = request.requestedByAgentId
|
|
1811
|
+
? requesterAgentById.get(request.requestedByAgentId) ?? null
|
|
1812
|
+
: null;
|
|
1813
|
+
unsortedItems.push(assistanceRequestCard(request, requesterAgent));
|
|
1814
|
+
}
|
|
1703
1815
|
const latestFirstItems = [...unsortedItems].sort(compareLatestActivity);
|
|
1704
1816
|
const chronologicalItems = [...unsortedItems].sort(compareChronologicalActivity);
|
|
1705
|
-
const actionable =
|
|
1706
|
-
|
|
1707
|
-
|
|
1817
|
+
const actionable = unsortedItems.filter((item) => item.requestKind === "approval"
|
|
1818
|
+
? ACTIONABLE_APPROVAL_STATUSES.has(item.approval.status)
|
|
1819
|
+
: item.assistanceRequest.status === "open");
|
|
1820
|
+
const unreadCount = actionable.filter((item) => {
|
|
1821
|
+
const activityAt = normalizeDate(item.latestActivityAt);
|
|
1708
1822
|
if (!activityAt)
|
|
1709
1823
|
return false;
|
|
1710
1824
|
if (!lastReadAt)
|
|
@@ -1713,12 +1827,12 @@ export function messengerService(db) {
|
|
|
1713
1827
|
}).length;
|
|
1714
1828
|
const latestActivityAt = latestFirstItems[0]?.latestActivityAt ?? null;
|
|
1715
1829
|
return {
|
|
1716
|
-
summary: approvalSummary(
|
|
1830
|
+
summary: approvalSummary(unsortedItems.length, latestActivityAt, unreadCount, lastReadAt, latestFirstItems[0]?.preview ?? null),
|
|
1717
1831
|
detail: {
|
|
1718
1832
|
threadKey: "approvals",
|
|
1719
1833
|
kind: "approvals",
|
|
1720
|
-
title: "
|
|
1721
|
-
subtitle: `${
|
|
1834
|
+
title: "Requests",
|
|
1835
|
+
subtitle: `${unsortedItems.length} request${unsortedItems.length === 1 ? "" : "s"}`,
|
|
1722
1836
|
preview: latestFirstItems[0]?.preview ?? null,
|
|
1723
1837
|
latestActivityAt,
|
|
1724
1838
|
lastReadAt,
|
|
@@ -1726,7 +1840,7 @@ export function messengerService(db) {
|
|
|
1726
1840
|
needsAttention: unreadCount > 0,
|
|
1727
1841
|
isPinned: false,
|
|
1728
1842
|
href: "/messenger/approvals",
|
|
1729
|
-
description: "Approvals needing attention",
|
|
1843
|
+
description: "Approvals and assistance needing attention",
|
|
1730
1844
|
items: chronologicalItems,
|
|
1731
1845
|
},
|
|
1732
1846
|
};
|
|
@@ -1812,15 +1926,25 @@ export function messengerService(db) {
|
|
|
1812
1926
|
}
|
|
1813
1927
|
}
|
|
1814
1928
|
const latestItem = candidateItems.sort(compareLatestActivity)[0] ?? null;
|
|
1815
|
-
const
|
|
1929
|
+
const openAssistancePredicate = and(eq(requests.orgId, orgId), eq(requests.status, "open"));
|
|
1930
|
+
const [assistanceCountRows, latestAssistanceRows, unreadAssistanceRows] = await Promise.all([
|
|
1931
|
+
db.select({ itemCount: sql `count(*)::int` }).from(requests).where(openAssistancePredicate),
|
|
1932
|
+
db.select().from(requests).where(openAssistancePredicate).orderBy(desc(requests.updatedAt)).limit(1),
|
|
1933
|
+
db.select({ unreadCount: sql `count(*)::int` }).from(requests)
|
|
1934
|
+
.where(lastReadAt ? and(openAssistancePredicate, gt(requests.updatedAt, lastReadAt)) : openAssistancePredicate),
|
|
1935
|
+
]);
|
|
1936
|
+
const latestAssistance = latestAssistanceRows[0] ?? null;
|
|
1937
|
+
const latestApprovalAt = latestItem ? normalizeDate(latestItem.latestActivityAt) : null;
|
|
1938
|
+
const latestAssistanceAt = latestAssistance ? normalizeDate(latestAssistance.updatedAt) : null;
|
|
1939
|
+
const assistanceIsLatest = Boolean(latestAssistanceAt && (!latestApprovalAt || latestAssistanceAt > latestApprovalAt));
|
|
1940
|
+
const itemCount = Number(summaryRows[0]?.itemCount ?? 0) + Number(assistanceCountRows[0]?.itemCount ?? 0);
|
|
1816
1941
|
return {
|
|
1817
1942
|
itemCount,
|
|
1818
|
-
summary: approvalSummary(itemCount, latestItem?.latestActivityAt ?? null, Number(unreadRows[0]?.unreadCount ?? 0), lastReadAt, latestItem?.preview ?? null),
|
|
1943
|
+
summary: approvalSummary(itemCount, assistanceIsLatest ? latestAssistanceAt : latestItem?.latestActivityAt ?? null, Number(unreadRows[0]?.unreadCount ?? 0) + Number(unreadAssistanceRows[0]?.unreadCount ?? 0), lastReadAt, assistanceIsLatest ? latestAssistance?.prompt ?? null : latestItem?.preview ?? null),
|
|
1819
1944
|
};
|
|
1820
1945
|
}
|
|
1821
|
-
async function
|
|
1822
|
-
const
|
|
1823
|
-
const [runRows, agentRows] = await Promise.all([
|
|
1946
|
+
async function loadFailedRunRows(orgId, userId) {
|
|
1947
|
+
const [runRows, requestRows, agentRows] = await Promise.all([
|
|
1824
1948
|
db
|
|
1825
1949
|
.select({
|
|
1826
1950
|
id: heartbeatRuns.id,
|
|
@@ -1835,10 +1959,28 @@ export function messengerService(db) {
|
|
|
1835
1959
|
contextSnapshot: heartbeatRuns.contextSnapshot,
|
|
1836
1960
|
createdAt: heartbeatRuns.createdAt,
|
|
1837
1961
|
updatedAt: heartbeatRuns.updatedAt,
|
|
1962
|
+
agentIssueCreationRequestId: agentIssueCreationRequests.id,
|
|
1963
|
+
agentIssueCreationRequestedByUserId: agentIssueCreationRequests.requestedByUserId,
|
|
1964
|
+
agentIssueCreationError: agentIssueCreationRequests.error,
|
|
1838
1965
|
})
|
|
1839
1966
|
.from(heartbeatRuns)
|
|
1967
|
+
.leftJoin(agentIssueCreationRequests, and(eq(agentIssueCreationRequests.orgId, heartbeatRuns.orgId), eq(agentIssueCreationRequests.runId, heartbeatRuns.id)))
|
|
1840
1968
|
.where(and(eq(heartbeatRuns.orgId, orgId), eq(heartbeatRuns.status, "failed")))
|
|
1841
1969
|
.orderBy(desc(heartbeatRuns.updatedAt), desc(heartbeatRuns.createdAt)),
|
|
1970
|
+
db
|
|
1971
|
+
.select({
|
|
1972
|
+
id: agentIssueCreationRequests.id,
|
|
1973
|
+
orgId: agentIssueCreationRequests.orgId,
|
|
1974
|
+
agentId: agentIssueCreationRequests.agentId,
|
|
1975
|
+
runId: agentIssueCreationRequests.runId,
|
|
1976
|
+
status: agentIssueCreationRequests.status,
|
|
1977
|
+
error: agentIssueCreationRequests.error,
|
|
1978
|
+
createdAt: agentIssueCreationRequests.createdAt,
|
|
1979
|
+
updatedAt: agentIssueCreationRequests.updatedAt,
|
|
1980
|
+
})
|
|
1981
|
+
.from(agentIssueCreationRequests)
|
|
1982
|
+
.where(and(eq(agentIssueCreationRequests.orgId, orgId), eq(agentIssueCreationRequests.requestedByUserId, userId), inArray(agentIssueCreationRequests.status, ["failed", "cancelled"]), isNull(agentIssueCreationRequests.createdIssueId)))
|
|
1983
|
+
.orderBy(desc(agentIssueCreationRequests.updatedAt), desc(agentIssueCreationRequests.createdAt)),
|
|
1842
1984
|
db
|
|
1843
1985
|
.select({
|
|
1844
1986
|
id: agents.id,
|
|
@@ -1847,14 +1989,28 @@ export function messengerService(db) {
|
|
|
1847
1989
|
.from(agents)
|
|
1848
1990
|
.where(eq(agents.orgId, orgId)),
|
|
1849
1991
|
]);
|
|
1992
|
+
const linkedRequestIds = new Set(runRows
|
|
1993
|
+
.map((run) => run.agentIssueCreationRequestId)
|
|
1994
|
+
.filter((requestId) => Boolean(requestId)));
|
|
1995
|
+
return {
|
|
1996
|
+
runRows,
|
|
1997
|
+
requestRows: requestRows.filter((request) => !linkedRequestIds.has(request.id)),
|
|
1998
|
+
agentRows,
|
|
1999
|
+
};
|
|
2000
|
+
}
|
|
2001
|
+
async function loadFailedRunData(orgId, userId, threadStates) {
|
|
2002
|
+
const lastReadAtPromise = lastReadAtForThread(db, orgId, userId, "failed-runs", threadStates);
|
|
2003
|
+
const { runRows, requestRows, agentRows } = await loadFailedRunRows(orgId, userId);
|
|
1850
2004
|
const lastReadAt = await lastReadAtPromise;
|
|
1851
2005
|
const agentNames = new Map(agentRows.map((row) => [row.id, row.name]));
|
|
1852
2006
|
const origins = await hydrateMessengerFailedRunOrigins(db, orgId, runRows);
|
|
1853
|
-
const
|
|
2007
|
+
const runItems = runRows.map((run) => failedRunCard(run, agentNames.get(run.agentId) ?? null, origins.get(run.id), orgId, userId));
|
|
2008
|
+
const requestItems = requestRows.map((request) => failedAgentIssueRequestCard(request, agentNames.get(request.agentId) ?? null, orgId));
|
|
2009
|
+
const items = [...runItems, ...requestItems];
|
|
1854
2010
|
const latestFirstItems = [...items].sort(compareLatestActivity);
|
|
1855
2011
|
const chronologicalItems = [...items].sort(compareChronologicalActivity);
|
|
1856
2012
|
const latestActivityAt = latestFirstItems[0]?.latestActivityAt ?? null;
|
|
1857
|
-
const unreadCount = systemUnreadCountSince(runRows, lastReadAt);
|
|
2013
|
+
const unreadCount = systemUnreadCountSince([...runRows, ...requestRows], lastReadAt);
|
|
1858
2014
|
return {
|
|
1859
2015
|
summary: systemSummary("failed-runs", "Failed runs", runRows.length, latestActivityAt, unreadCount, lastReadAt, "No failed runs yet", latestFirstItems[0]?.preview ?? null),
|
|
1860
2016
|
detail: {
|
|
@@ -1876,43 +2032,23 @@ export function messengerService(db) {
|
|
|
1876
2032
|
}
|
|
1877
2033
|
async function loadFailedRunSummaryData(orgId, userId, threadStates) {
|
|
1878
2034
|
const lastReadAt = await lastReadAtForThread(db, orgId, userId, "failed-runs", threadStates);
|
|
1879
|
-
const
|
|
1880
|
-
const
|
|
1881
|
-
const
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
resultJson: heartbeatRuns.resultJson,
|
|
1894
|
-
stderrExcerpt: heartbeatRuns.stderrExcerpt,
|
|
1895
|
-
})
|
|
1896
|
-
.from(heartbeatRuns)
|
|
1897
|
-
.where(failedRunPredicate)
|
|
1898
|
-
.orderBy(desc(heartbeatRuns.updatedAt), desc(heartbeatRuns.createdAt))
|
|
1899
|
-
.limit(1),
|
|
1900
|
-
lastReadAt
|
|
1901
|
-
? db
|
|
1902
|
-
.select({
|
|
1903
|
-
unreadCount: sql `count(*)::int`,
|
|
1904
|
-
})
|
|
1905
|
-
.from(heartbeatRuns)
|
|
1906
|
-
.where(and(failedRunPredicate, gt(heartbeatRuns.updatedAt, lastReadAt)))
|
|
1907
|
-
: Promise.resolve([]),
|
|
1908
|
-
]);
|
|
1909
|
-
const summaryRow = summaryRows[0];
|
|
1910
|
-
const latestRun = latestRows[0] ?? null;
|
|
1911
|
-
const itemCount = Number(summaryRow?.itemCount ?? 0);
|
|
1912
|
-
const unreadCount = lastReadAt ? Number(unreadRows[0]?.unreadCount ?? 0) : itemCount;
|
|
2035
|
+
const { runRows, requestRows } = await loadFailedRunRows(orgId, userId);
|
|
2036
|
+
const failureRows = [...runRows, ...requestRows];
|
|
2037
|
+
const itemCount = failureRows.length;
|
|
2038
|
+
const latestRow = [...failureRows].sort((a, b) => {
|
|
2039
|
+
const aTime = normalizeDate(a.updatedAt ?? a.createdAt)?.getTime() ?? Number.NEGATIVE_INFINITY;
|
|
2040
|
+
const bTime = normalizeDate(b.updatedAt ?? b.createdAt)?.getTime() ?? Number.NEGATIVE_INFINITY;
|
|
2041
|
+
return bTime - aTime;
|
|
2042
|
+
})[0] ?? null;
|
|
2043
|
+
const unreadCount = systemUnreadCountSince(failureRows, lastReadAt);
|
|
2044
|
+
const latestPreview = latestRow
|
|
2045
|
+
? "agentIssueCreationRequestId" in latestRow
|
|
2046
|
+
? failedRunSummary(latestRow)
|
|
2047
|
+
: failedAgentIssueRequestSummary(latestRow)
|
|
2048
|
+
: null;
|
|
1913
2049
|
return {
|
|
1914
2050
|
itemCount,
|
|
1915
|
-
summary: systemSummary("failed-runs", "Failed runs", itemCount, normalizeDate(
|
|
2051
|
+
summary: systemSummary("failed-runs", "Failed runs", itemCount, normalizeDate(latestRow?.updatedAt ?? latestRow?.createdAt ?? null), unreadCount, lastReadAt, "No failed runs yet", latestPreview),
|
|
1916
2052
|
};
|
|
1917
2053
|
}
|
|
1918
2054
|
async function loadBudgetAlertData(orgId, userId, threadStates) {
|
|
@@ -2238,7 +2374,7 @@ export function messengerService(db) {
|
|
|
2238
2374
|
where automation_notification_activity.org_id = ${orgId}
|
|
2239
2375
|
and automation_notification_activity.entity_type = 'issue'
|
|
2240
2376
|
and automation_notification_activity.entity_id = ${issues.id}::text
|
|
2241
|
-
and automation_notification_activity.action
|
|
2377
|
+
and automation_notification_activity.action in ('automation.issue_created_notification', 'agent.issue_created_notification')
|
|
2242
2378
|
and automation_notification_activity.details->>'userId' = ${userId}
|
|
2243
2379
|
)`)))
|
|
2244
2380
|
.limit(1);
|