crewly 1.20.194 → 1.20.196
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/config/constants.ts +68 -0
- package/config/hooks/agent-status/report.sh +31 -12
- package/config/hooks/subagent-guard/subagent.sh +25 -1
- package/config/roles/auditor/prompt.md +2 -2
- package/config/roles/orchestrator/fragments/communication.md +1 -1
- package/config/roles/orchestrator/fragments/lifecycle.md +1 -1
- package/config/roles/orchestrator/prompt.md +18 -508
- package/config/skills/_common/lib.sh +28 -5
- package/config/skills/_common/lib.test.sh +32 -1
- package/config/skills/agent/computer-use/SKILL.md +6 -0
- package/config/skills/agent/core/create-intent-tasks/execute.sh +2 -0
- package/config/skills/agent/core/decompose-intent/execute.sh +2 -0
- package/config/skills/agent/core/experiment-card/SKILL.md +38 -5
- package/config/skills/agent/core/experiment-card/execute.sh +40 -4
- package/config/skills/agent/core/experiment-card/execute.test.sh +17 -0
- package/config/skills/agent/core/project-tickets/SKILL.md +35 -2
- package/config/skills/agent/core/project-tickets/execute.sh +59 -6
- package/config/skills/agent/core/project-tickets/execute.test.sh +24 -0
- package/config/skills/agent/core/send-message/execute.sh +16 -0
- package/config/skills/agent/core/send-message/execute.test.sh +10 -0
- package/config/skills/agent/core/trace-read/SKILL.md +117 -0
- package/config/skills/agent/core/trace-read/execute.sh +116 -0
- package/config/skills/agent/core/update-intent-task/execute.sh +2 -0
- package/config/skills/agent/desktop-app-control/execute.sh +5 -2
- package/config/skills/agent/marketing/submit-for-approval/execute.sh +3 -2
- package/config/skills/orchestrator/decompose-mission/execute.sh +2 -0
- package/config/skills/orchestrator/decompose-okr/execute.sh +1 -0
- package/config/skills/orchestrator/design-team/execute.sh +2 -0
- package/config/skills/orchestrator/measure-kr/execute.sh +2 -0
- package/config/skills/orchestrator/review-mission/execute.sh +2 -0
- package/config/skills/orchestrator/send-message/execute.sh +27 -2
- package/config/skills/orchestrator/send-message/execute.test.sh +89 -0
- package/config/skills/registry.json +6 -5
- package/config/skills/team-leader/design-checklist/execute.sh +2 -0
- package/config/skills/team-leader/signal-digest/SKILL.md +110 -0
- package/config/skills/team-leader/signal-digest/execute.sh +173 -0
- package/config/skills/team-leader/signal-digest/execute.test.sh +123 -0
- package/config/skills/team-leader/signal-digest/signal-digest.config.example.json +23 -0
- package/config/skills/team-leader/signal-digest/signal_digest.py +572 -0
- package/config/skills/team-leader/signal-digest/signal_digest.test.py +319 -0
- package/dist/backend/backend/src/constants.d.ts +356 -5
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +341 -8
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.d.ts +9 -3
- package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.js +38 -5
- package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/approvals/approvals.controller.d.ts +4 -9
- package/dist/backend/backend/src/controllers/approvals/approvals.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/approvals/approvals.controller.js +6 -14
- package/dist/backend/backend/src/controllers/approvals/approvals.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/auth/owner-session.controller.d.ts +64 -0
- package/dist/backend/backend/src/controllers/auth/owner-session.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/auth/owner-session.controller.js +164 -0
- package/dist/backend/backend/src/controllers/auth/owner-session.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/browser/browser.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/browser/browser.routes.js +18 -5
- package/dist/backend/backend/src/controllers/browser/browser.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/canva/canva.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/canva/canva.routes.js +8 -1
- package/dist/backend/backend/src/controllers/canva/canva.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.js +16 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.js +3 -1
- package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud-device-pairing.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud-device-pairing.controller.js +3 -5
- package/dist/backend/backend/src/controllers/cloud/cloud-device-pairing.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/connector/connector.controller.d.ts +4 -2
- package/dist/backend/backend/src/controllers/connector/connector.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/connector/connector.controller.js +17 -2
- package/dist/backend/backend/src/controllers/connector/connector.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/connector/grant-sharing.handler.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/connector/grant-sharing.handler.js +2 -3
- package/dist/backend/backend/src/controllers/connector/grant-sharing.handler.js.map +1 -1
- package/dist/backend/backend/src/controllers/decisions/decisions.controller.d.ts +4 -2
- package/dist/backend/backend/src/controllers/decisions/decisions.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/decisions/decisions.controller.js +31 -20
- package/dist/backend/backend/src/controllers/decisions/decisions.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/desktop/desktop.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/desktop/desktop.controller.js +16 -0
- package/dist/backend/backend/src/controllers/desktop/desktop.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/google/google.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/google/google.controller.js +9 -5
- package/dist/backend/backend/src/controllers/google/google.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/google/google.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/google/google.routes.js +16 -3
- package/dist/backend/backend/src/controllers/google/google.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/harness/harness.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/harness/harness.controller.js +3 -5
- package/dist/backend/backend/src/controllers/harness/harness.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.d.ts +1 -0
- package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.js +1 -0
- package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.routes.js +8 -1
- package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/mission/mission-policy.routes.js +1 -1
- package/dist/backend/backend/src/controllers/mission/mission-policy.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +5 -2
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.js +3 -5
- package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/people/people.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/people/people.routes.js +3 -5
- package/dist/backend/backend/src/controllers/people/people.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts +35 -2
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js +138 -4
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.d.ts +2 -0
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.js +7 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/request/open-items.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/request/open-items.controller.js +2 -4
- package/dist/backend/backend/src/controllers/request/open-items.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/request/request.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/request/request.controller.js +5 -1
- package/dist/backend/backend/src/controllers/request/request.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/settings/settings.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/settings/settings.controller.js +18 -2
- package/dist/backend/backend/src/controllers/settings/settings.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/signal-digest/signal-digest.controller.d.ts +26 -0
- package/dist/backend/backend/src/controllers/signal-digest/signal-digest.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/signal-digest/signal-digest.controller.js +100 -0
- package/dist/backend/backend/src/controllers/signal-digest/signal-digest.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.js +9 -0
- package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/system/runtime-fallback.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/system/runtime-fallback.controller.js +11 -0
- package/dist/backend/backend/src/controllers/system/runtime-fallback.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/system/system-control.controller.d.ts +6 -4
- package/dist/backend/backend/src/controllers/system/system-control.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/system/system-control.controller.js +20 -13
- package/dist/backend/backend/src/controllers/system/system-control.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.js +14 -7
- package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/tickets/tickets.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/tickets/tickets.controller.js +5 -7
- package/dist/backend/backend/src/controllers/tickets/tickets.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/trace/trace.controller.d.ts +73 -0
- package/dist/backend/backend/src/controllers/trace/trace.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/trace/trace.controller.js +437 -0
- package/dist/backend/backend/src/controllers/trace/trace.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/whatsapp/whatsapp-inbox.controller.d.ts +3 -3
- package/dist/backend/backend/src/controllers/whatsapp/whatsapp-inbox.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/whatsapp/whatsapp-inbox.controller.js +4 -2
- package/dist/backend/backend/src/controllers/whatsapp/whatsapp-inbox.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/whatsapp/whatsapp.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/whatsapp/whatsapp.controller.js +10 -2
- package/dist/backend/backend/src/controllers/whatsapp/whatsapp.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts +34 -0
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +342 -61
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/middleware/agent-origin-correction.d.ts +31 -0
- package/dist/backend/backend/src/middleware/agent-origin-correction.d.ts.map +1 -0
- package/dist/backend/backend/src/middleware/agent-origin-correction.js +31 -0
- package/dist/backend/backend/src/middleware/agent-origin-correction.js.map +1 -0
- package/dist/backend/backend/src/middleware/agent-origin.middleware.d.ts +6 -0
- package/dist/backend/backend/src/middleware/agent-origin.middleware.d.ts.map +1 -1
- package/dist/backend/backend/src/middleware/agent-origin.middleware.js +4 -1
- package/dist/backend/backend/src/middleware/agent-origin.middleware.js.map +1 -1
- package/dist/backend/backend/src/middleware/api-token.middleware.d.ts +20 -17
- package/dist/backend/backend/src/middleware/api-token.middleware.d.ts.map +1 -1
- package/dist/backend/backend/src/middleware/api-token.middleware.js +27 -37
- package/dist/backend/backend/src/middleware/api-token.middleware.js.map +1 -1
- package/dist/backend/backend/src/middleware/caller-identity.middleware.d.ts +213 -0
- package/dist/backend/backend/src/middleware/caller-identity.middleware.d.ts.map +1 -0
- package/dist/backend/backend/src/middleware/caller-identity.middleware.js +481 -0
- package/dist/backend/backend/src/middleware/caller-identity.middleware.js.map +1 -0
- package/dist/backend/backend/src/middleware/caller-identity.testing.d.ts +67 -0
- package/dist/backend/backend/src/middleware/caller-identity.testing.d.ts.map +1 -0
- package/dist/backend/backend/src/middleware/caller-identity.testing.js +108 -0
- package/dist/backend/backend/src/middleware/caller-identity.testing.js.map +1 -0
- package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/routes/api.routes.js +11 -0
- package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +17 -2
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/control-plane-guard.service.d.ts +7 -5
- package/dist/backend/backend/src/services/agent/control-plane-guard.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/control-plane-guard.service.js +19 -10
- package/dist/backend/backend/src/services/agent/control-plane-guard.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js +10 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.d.ts +1 -1
- package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/restore-filter.d.ts +5 -2
- package/dist/backend/backend/src/services/agent/restore-filter.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/restore-filter.js +5 -2
- package/dist/backend/backend/src/services/agent/restore-filter.js.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js +4 -0
- package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts +29 -0
- package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js +77 -1
- package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-session-recovery.d.ts +4 -2
- package/dist/backend/backend/src/services/agent/runtime-session-recovery.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-session-recovery.js +22 -6
- package/dist/backend/backend/src/services/agent/runtime-session-recovery.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.js +2 -2
- package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
- package/dist/backend/backend/src/services/backup/backup-archive.service.d.ts +6 -0
- package/dist/backend/backend/src/services/backup/backup-archive.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/backup/backup-archive.service.js +7 -1
- package/dist/backend/backend/src/services/backup/backup-archive.service.js.map +1 -1
- package/dist/backend/backend/src/services/boot/boot-announce.service.d.ts +1 -1
- package/dist/backend/backend/src/services/boot/boot-announce.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat/chat.service.d.ts +175 -2
- package/dist/backend/backend/src/services/chat/chat.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat/chat.service.js +444 -35
- package/dist/backend/backend/src/services/chat/chat.service.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +30 -5
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +34 -4
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts +4 -3
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js +7 -4
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/sqlite/channel.store.d.ts +18 -11
- package/dist/backend/backend/src/services/chat-v2/sqlite/channel.store.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/sqlite/channel.store.js +19 -25
- package/dist/backend/backend/src/services/chat-v2/sqlite/channel.store.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts +7 -4
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js +8 -4
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/types.d.ts +0 -1
- package/dist/backend/backend/src/services/chat-v2/types.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/types.js +0 -1
- package/dist/backend/backend/src/services/chat-v2/types.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js +5 -0
- package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js.map +1 -1
- package/dist/backend/backend/src/services/core/api-token.service.d.ts +28 -0
- package/dist/backend/backend/src/services/core/api-token.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/core/api-token.service.js +46 -0
- package/dist/backend/backend/src/services/core/api-token.service.js.map +1 -1
- package/dist/backend/backend/src/services/core/dashboard-build.d.ts +49 -0
- package/dist/backend/backend/src/services/core/dashboard-build.d.ts.map +1 -0
- package/dist/backend/backend/src/services/core/dashboard-build.js +68 -0
- package/dist/backend/backend/src/services/core/dashboard-build.js.map +1 -0
- package/dist/backend/backend/src/services/core/owner-auth.service.d.ts +127 -0
- package/dist/backend/backend/src/services/core/owner-auth.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/core/owner-auth.service.js +205 -0
- package/dist/backend/backend/src/services/core/owner-auth.service.js.map +1 -0
- package/dist/backend/backend/src/services/core/peer-process.service.d.ts +168 -0
- package/dist/backend/backend/src/services/core/peer-process.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/core/peer-process.service.js +352 -0
- package/dist/backend/backend/src/services/core/peer-process.service.js.map +1 -0
- package/dist/backend/backend/src/services/decisions/decision-store.d.ts.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision-store.js +5 -1
- package/dist/backend/backend/src/services/decisions/decision-store.js.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision.wiring.d.ts +10 -1
- package/dist/backend/backend/src/services/decisions/decision.wiring.d.ts.map +1 -1
- package/dist/backend/backend/src/services/decisions/decision.wiring.js +20 -9
- package/dist/backend/backend/src/services/decisions/decision.wiring.js.map +1 -1
- package/dist/backend/backend/src/services/experiments/experiment-verdict.d.ts +1 -1
- package/dist/backend/backend/src/services/experiments/experiment-verdict.js +2 -2
- package/dist/backend/backend/src/services/experiments/experiment-verdict.js.map +1 -1
- package/dist/backend/backend/src/services/experiments/experiment.service.d.ts +149 -4
- package/dist/backend/backend/src/services/experiments/experiment.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/experiments/experiment.service.js +549 -24
- package/dist/backend/backend/src/services/experiments/experiment.service.js.map +1 -1
- package/dist/backend/backend/src/services/experiments/experiment.wiring.d.ts +20 -5
- package/dist/backend/backend/src/services/experiments/experiment.wiring.d.ts.map +1 -1
- package/dist/backend/backend/src/services/experiments/experiment.wiring.js +46 -9
- package/dist/backend/backend/src/services/experiments/experiment.wiring.js.map +1 -1
- package/dist/backend/backend/src/services/experiments/seo-ops-metric.fetcher.d.ts +7 -0
- package/dist/backend/backend/src/services/experiments/seo-ops-metric.fetcher.d.ts.map +1 -1
- package/dist/backend/backend/src/services/experiments/seo-ops-metric.fetcher.js +21 -1
- package/dist/backend/backend/src/services/experiments/seo-ops-metric.fetcher.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.service.js +7 -0
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.wiring.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.wiring.js +2 -1
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.wiring.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/thread-status-queue.service.d.ts +0 -8
- package/dist/backend/backend/src/services/messaging/thread-status-queue.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/thread-status-queue.service.js +0 -18
- package/dist/backend/backend/src/services/messaging/thread-status-queue.service.js.map +1 -1
- package/dist/backend/backend/src/services/monitoring/activity-monitor.service.d.ts +19 -0
- package/dist/backend/backend/src/services/monitoring/activity-monitor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js +41 -5
- package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js.map +1 -1
- package/dist/backend/backend/src/services/monitoring/agent-turn-state.d.ts +184 -0
- package/dist/backend/backend/src/services/monitoring/agent-turn-state.d.ts.map +1 -0
- package/dist/backend/backend/src/services/monitoring/agent-turn-state.js +391 -0
- package/dist/backend/backend/src/services/monitoring/agent-turn-state.js.map +1 -0
- package/dist/backend/backend/src/services/monitoring/claude-transcript-sync.service.d.ts +35 -1
- package/dist/backend/backend/src/services/monitoring/claude-transcript-sync.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/monitoring/claude-transcript-sync.service.js +138 -2
- package/dist/backend/backend/src/services/monitoring/claude-transcript-sync.service.js.map +1 -1
- package/dist/backend/backend/src/services/monitoring/claude-transcript-turn.d.ts +73 -0
- package/dist/backend/backend/src/services/monitoring/claude-transcript-turn.d.ts.map +1 -0
- package/dist/backend/backend/src/services/monitoring/claude-transcript-turn.js +258 -0
- package/dist/backend/backend/src/services/monitoring/claude-transcript-turn.js.map +1 -0
- package/dist/backend/backend/src/services/monitoring/deferred-idle-settle.d.ts +82 -0
- package/dist/backend/backend/src/services/monitoring/deferred-idle-settle.d.ts.map +1 -0
- package/dist/backend/backend/src/services/monitoring/deferred-idle-settle.js +141 -0
- package/dist/backend/backend/src/services/monitoring/deferred-idle-settle.js.map +1 -0
- package/dist/backend/backend/src/services/monitoring/system-resource-alert.service.d.ts +51 -1
- package/dist/backend/backend/src/services/monitoring/system-resource-alert.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/monitoring/system-resource-alert.service.js +118 -2
- package/dist/backend/backend/src/services/monitoring/system-resource-alert.service.js.map +1 -1
- package/dist/backend/backend/src/services/monitoring/token-usage.service.d.ts +7 -0
- package/dist/backend/backend/src/services/monitoring/token-usage.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/monitoring/token-usage.service.js +4 -0
- package/dist/backend/backend/src/services/monitoring/token-usage.service.js.map +1 -1
- package/dist/backend/backend/src/services/monitoring/transcript-cost-repair.d.ts +103 -0
- package/dist/backend/backend/src/services/monitoring/transcript-cost-repair.d.ts.map +1 -0
- package/dist/backend/backend/src/services/monitoring/transcript-cost-repair.js +86 -0
- package/dist/backend/backend/src/services/monitoring/transcript-cost-repair.js.map +1 -0
- package/dist/backend/backend/src/services/open-items/open-items.service.d.ts +57 -0
- package/dist/backend/backend/src/services/open-items/open-items.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/open-items/open-items.service.js +100 -4
- package/dist/backend/backend/src/services/open-items/open-items.service.js.map +1 -1
- package/dist/backend/backend/src/services/orc/orc-status-router.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orc/orc-status-router.service.js +10 -2
- package/dist/backend/backend/src/services/orc/orc-status-router.service.js.map +1 -1
- package/dist/backend/backend/src/services/orc/reply-destination.wiring.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orc/reply-destination.wiring.js +16 -0
- package/dist/backend/backend/src/services/orc/reply-destination.wiring.js.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.js +13 -0
- package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.js.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/project-ticket.service.d.ts +36 -0
- package/dist/backend/backend/src/services/project-tickets/project-ticket.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/project-ticket.service.js +44 -3
- package/dist/backend/backend/src/services/project-tickets/project-ticket.service.js.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-assignee-waker.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-assignee-waker.js +2 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-assignee-waker.js.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.js +3 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.js.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-retro.d.ts +156 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-retro.d.ts.map +1 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-retro.js +308 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-retro.js.map +1 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-stats.d.ts +212 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-stats.d.ts.map +1 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-stats.js +515 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-stats.js.map +1 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-trace.d.ts +186 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-trace.d.ts.map +1 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-trace.js +341 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-trace.js.map +1 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.d.ts +309 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.js +726 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.js.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/reconciler/reconciler.service.js +15 -0
- package/dist/backend/backend/src/services/reconciler/reconciler.service.js.map +1 -1
- package/dist/backend/backend/src/services/restart/in-flight-turn-tracker.service.d.ts +34 -3
- package/dist/backend/backend/src/services/restart/in-flight-turn-tracker.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/restart/in-flight-turn-tracker.service.js +57 -2
- package/dist/backend/backend/src/services/restart/in-flight-turn-tracker.service.js.map +1 -1
- package/dist/backend/backend/src/services/restart/interrupted-turns.d.ts +61 -3
- package/dist/backend/backend/src/services/restart/interrupted-turns.d.ts.map +1 -1
- package/dist/backend/backend/src/services/restart/interrupted-turns.js +106 -9
- package/dist/backend/backend/src/services/restart/interrupted-turns.js.map +1 -1
- package/dist/backend/backend/src/services/restart/restart-drain.service.d.ts +22 -0
- package/dist/backend/backend/src/services/restart/restart-drain.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/restart/restart-drain.service.js +37 -5
- package/dist/backend/backend/src/services/restart/restart-drain.service.js.map +1 -1
- package/dist/backend/backend/src/services/restart/supervisor-stop-budget.d.ts +62 -0
- package/dist/backend/backend/src/services/restart/supervisor-stop-budget.d.ts.map +1 -0
- package/dist/backend/backend/src/services/restart/supervisor-stop-budget.js +126 -0
- package/dist/backend/backend/src/services/restart/supervisor-stop-budget.js.map +1 -0
- package/dist/backend/backend/src/services/restart/turn-probe.d.ts +17 -2
- package/dist/backend/backend/src/services/restart/turn-probe.d.ts.map +1 -1
- package/dist/backend/backend/src/services/restart/turn-probe.js +29 -4
- package/dist/backend/backend/src/services/restart/turn-probe.js.map +1 -1
- package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.js +4 -0
- package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.js.map +1 -1
- package/dist/backend/backend/src/services/session/session-handoff.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/session/session-handoff.service.js +8 -5
- package/dist/backend/backend/src/services/session/session-handoff.service.js.map +1 -1
- package/dist/backend/backend/src/services/signal-digest/signal-digest-card.d.ts +75 -0
- package/dist/backend/backend/src/services/signal-digest/signal-digest-card.d.ts.map +1 -0
- package/dist/backend/backend/src/services/signal-digest/signal-digest-card.js +187 -0
- package/dist/backend/backend/src/services/signal-digest/signal-digest-card.js.map +1 -0
- package/dist/backend/backend/src/services/signal-digest/signal-digest-contract.d.ts +86 -0
- package/dist/backend/backend/src/services/signal-digest/signal-digest-contract.d.ts.map +1 -0
- package/dist/backend/backend/src/services/signal-digest/signal-digest-contract.js +307 -0
- package/dist/backend/backend/src/services/signal-digest/signal-digest-contract.js.map +1 -0
- package/dist/backend/backend/src/services/signal-digest/signal-digest-store.d.ts +85 -0
- package/dist/backend/backend/src/services/signal-digest/signal-digest-store.d.ts.map +1 -0
- package/dist/backend/backend/src/services/signal-digest/signal-digest-store.js +185 -0
- package/dist/backend/backend/src/services/signal-digest/signal-digest-store.js.map +1 -0
- package/dist/backend/backend/src/services/signal-digest/signal-digest.service.d.ts +272 -0
- package/dist/backend/backend/src/services/signal-digest/signal-digest.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/signal-digest/signal-digest.service.js +570 -0
- package/dist/backend/backend/src/services/signal-digest/signal-digest.service.js.map +1 -0
- package/dist/backend/backend/src/services/signal-digest/signal-digest.wiring.d.ts +51 -0
- package/dist/backend/backend/src/services/signal-digest/signal-digest.wiring.d.ts.map +1 -0
- package/dist/backend/backend/src/services/signal-digest/signal-digest.wiring.js +116 -0
- package/dist/backend/backend/src/services/signal-digest/signal-digest.wiring.js.map +1 -0
- package/dist/backend/backend/src/services/slack/notify-reconciliation.service.d.ts +5 -1
- package/dist/backend/backend/src/services/slack/notify-reconciliation.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/notify-reconciliation.service.js +6 -2
- package/dist/backend/backend/src/services/slack/notify-reconciliation.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-auto-working.service.d.ts +29 -0
- package/dist/backend/backend/src/services/slack/slack-auto-working.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-auto-working.service.js +66 -3
- package/dist/backend/backend/src/services/slack/slack-auto-working.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts +2 -1
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +3 -2
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-relogin-dm.service.d.ts +1 -1
- package/dist/backend/backend/src/services/slack/slack-relogin-dm.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts +79 -15
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +200 -41
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack.service.d.ts +43 -1
- package/dist/backend/backend/src/services/slack/slack.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack.service.js +76 -7
- package/dist/backend/backend/src/services/slack/slack.service.js.map +1 -1
- package/dist/backend/backend/src/services/system/auto-update.service.d.ts +2 -2
- package/dist/backend/backend/src/services/system/auto-update.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/task-pool/pool-storage.d.ts.map +1 -1
- package/dist/backend/backend/src/services/task-pool/pool-storage.js +4 -0
- package/dist/backend/backend/src/services/task-pool/pool-storage.js.map +1 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js +2 -0
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/backend/backend/src/services/trace/trace-analysis.service.d.ts +99 -0
- package/dist/backend/backend/src/services/trace/trace-analysis.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/trace/trace-analysis.service.js +148 -0
- package/dist/backend/backend/src/services/trace/trace-analysis.service.js.map +1 -0
- package/dist/backend/backend/src/services/trace/trace-context.service.d.ts +212 -0
- package/dist/backend/backend/src/services/trace/trace-context.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/trace/trace-context.service.js +489 -0
- package/dist/backend/backend/src/services/trace/trace-context.service.js.map +1 -0
- package/dist/backend/backend/src/services/trace/trace-http.middleware.d.ts +46 -0
- package/dist/backend/backend/src/services/trace/trace-http.middleware.d.ts.map +1 -0
- package/dist/backend/backend/src/services/trace/trace-http.middleware.js +176 -0
- package/dist/backend/backend/src/services/trace/trace-http.middleware.js.map +1 -0
- package/dist/backend/backend/src/services/trace/trace-markers.d.ts +93 -0
- package/dist/backend/backend/src/services/trace/trace-markers.d.ts.map +1 -0
- package/dist/backend/backend/src/services/trace/trace-markers.js +162 -0
- package/dist/backend/backend/src/services/trace/trace-markers.js.map +1 -0
- package/dist/backend/backend/src/services/trace/trace-metrics.d.ts +262 -0
- package/dist/backend/backend/src/services/trace/trace-metrics.d.ts.map +1 -0
- package/dist/backend/backend/src/services/trace/trace-metrics.js +810 -0
- package/dist/backend/backend/src/services/trace/trace-metrics.js.map +1 -0
- package/dist/backend/backend/src/services/trace/trace-recorder.d.ts +338 -0
- package/dist/backend/backend/src/services/trace/trace-recorder.d.ts.map +1 -0
- package/dist/backend/backend/src/services/trace/trace-recorder.js +789 -0
- package/dist/backend/backend/src/services/trace/trace-recorder.js.map +1 -0
- package/dist/backend/backend/src/services/trace/trace-store.d.ts +308 -0
- package/dist/backend/backend/src/services/trace/trace-store.d.ts.map +1 -0
- package/dist/backend/backend/src/services/trace/trace-store.js +714 -0
- package/dist/backend/backend/src/services/trace/trace-store.js.map +1 -0
- package/dist/backend/backend/src/services/trace/trace-summary.d.ts +77 -0
- package/dist/backend/backend/src/services/trace/trace-summary.d.ts.map +1 -0
- package/dist/backend/backend/src/services/trace/trace-summary.js +239 -0
- package/dist/backend/backend/src/services/trace/trace-summary.js.map +1 -0
- package/dist/backend/backend/src/services/trace/trace-timeline.d.ts +74 -0
- package/dist/backend/backend/src/services/trace/trace-timeline.d.ts.map +1 -0
- package/dist/backend/backend/src/services/trace/trace-timeline.js +162 -0
- package/dist/backend/backend/src/services/trace/trace-timeline.js.map +1 -0
- package/dist/backend/backend/src/services/trace/trace.types.d.ts +137 -0
- package/dist/backend/backend/src/services/trace/trace.types.d.ts.map +1 -0
- package/dist/backend/backend/src/services/trace/trace.types.js +104 -0
- package/dist/backend/backend/src/services/trace/trace.types.js.map +1 -0
- package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt-format-ask.d.ts +80 -0
- package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt-format-ask.d.ts.map +1 -0
- package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt-format-ask.js +184 -0
- package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt-format-ask.js.map +1 -0
- package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.boot.d.ts +1 -1
- package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.boot.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.d.ts +7 -0
- package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.js +16 -0
- package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.types.d.ts +16 -0
- package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.types.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.types.js.map +1 -1
- package/dist/backend/backend/src/services/v3/request.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/request.service.js +4 -0
- package/dist/backend/backend/src/services/v3/request.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/tl-auto-verify.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/tl-auto-verify.service.js +2 -1
- package/dist/backend/backend/src/services/v3/tl-auto-verify.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts +8 -0
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +46 -4
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -1
- package/dist/backend/backend/src/services/whatsapp/whatsapp-draft-gate.d.ts +4 -3
- package/dist/backend/backend/src/services/whatsapp/whatsapp-draft-gate.d.ts.map +1 -1
- package/dist/backend/backend/src/services/whatsapp/whatsapp-draft-gate.js +3 -2
- package/dist/backend/backend/src/services/whatsapp/whatsapp-draft-gate.js.map +1 -1
- package/dist/backend/backend/src/services/wiki/wiki-ingest.service.d.ts +3 -1
- package/dist/backend/backend/src/services/wiki/wiki-ingest.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/wiki/wiki-ingest.service.js.map +1 -1
- package/dist/backend/backend/src/services/workflow/message-scheduler.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/workflow/message-scheduler.service.js +3 -0
- package/dist/backend/backend/src/services/workflow/message-scheduler.service.js.map +1 -1
- package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/workflow/scheduler.service.js +3 -0
- package/dist/backend/backend/src/services/workflow/scheduler.service.js.map +1 -1
- package/dist/backend/backend/src/services/worktree/workitem-worktree.subscriber.d.ts.map +1 -1
- package/dist/backend/backend/src/services/worktree/workitem-worktree.subscriber.js +2 -1
- package/dist/backend/backend/src/services/worktree/workitem-worktree.subscriber.js.map +1 -1
- package/dist/backend/backend/src/services/worktree/worktree-janitor.service.d.ts +3 -0
- package/dist/backend/backend/src/services/worktree/worktree-janitor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/worktree/worktree-janitor.service.js +7 -0
- package/dist/backend/backend/src/services/worktree/worktree-janitor.service.js.map +1 -1
- package/dist/backend/backend/src/types/decision.types.d.ts +3 -1
- package/dist/backend/backend/src/types/decision.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/experiment.types.d.ts +65 -6
- package/dist/backend/backend/src/types/experiment.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/experiment.types.js.map +1 -1
- package/dist/backend/backend/src/types/signal-digest.types.d.ts +185 -0
- package/dist/backend/backend/src/types/signal-digest.types.d.ts.map +1 -0
- package/dist/backend/backend/src/types/signal-digest.types.js +21 -0
- package/dist/backend/backend/src/types/signal-digest.types.js.map +1 -0
- package/dist/backend/backend/src/types/ticket-autopilot.types.d.ts +9 -0
- package/dist/backend/backend/src/types/ticket-autopilot.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/ticket-autopilot.types.js +14 -0
- package/dist/backend/backend/src/types/ticket-autopilot.types.js.map +1 -1
- package/dist/backend/backend/src/types/v2/open-item.types.d.ts +4 -0
- package/dist/backend/backend/src/types/v2/open-item.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/v2/request.types.d.ts +4 -0
- package/dist/backend/backend/src/types/v2/request.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/v2/request.types.js.map +1 -1
- package/dist/backend/backend/src/types/v2/work-item.types.d.ts +5 -1
- package/dist/backend/backend/src/types/v2/work-item.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/v2/work-item.types.js +2 -0
- package/dist/backend/backend/src/types/v2/work-item.types.js.map +1 -1
- package/dist/backend/backend/src/utils/agent-caller.utils.d.ts +44 -37
- package/dist/backend/backend/src/utils/agent-caller.utils.d.ts.map +1 -1
- package/dist/backend/backend/src/utils/agent-caller.utils.js +48 -42
- package/dist/backend/backend/src/utils/agent-caller.utils.js.map +1 -1
- package/dist/backend/backend/src/utils/secret-env.d.ts.map +1 -1
- package/dist/backend/backend/src/utils/secret-env.js +8 -1
- package/dist/backend/backend/src/utils/secret-env.js.map +1 -1
- package/dist/backend/backend/src/utils/security.d.ts +2 -0
- package/dist/backend/backend/src/utils/security.d.ts.map +1 -1
- package/dist/backend/backend/src/utils/security.js +3 -1
- package/dist/backend/backend/src/utils/security.js.map +1 -1
- package/dist/backend/backend/src/websocket/chat.gateway.d.ts +9 -0
- package/dist/backend/backend/src/websocket/chat.gateway.d.ts.map +1 -1
- package/dist/backend/backend/src/websocket/chat.gateway.js +26 -0
- package/dist/backend/backend/src/websocket/chat.gateway.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/backend/config/constants.d.ts +67 -0
- package/dist/backend/config/constants.d.ts.map +1 -1
- package/dist/backend/config/constants.js +67 -0
- package/dist/backend/config/constants.js.map +1 -1
- package/dist/cli/backend/src/constants.d.ts +356 -5
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +341 -8
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.js +17 -2
- package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/cli/backend/src/services/agent/control-plane-guard.service.d.ts +7 -5
- package/dist/cli/backend/src/services/agent/control-plane-guard.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/control-plane-guard.service.js +19 -10
- package/dist/cli/backend/src/services/agent/control-plane-guard.service.js.map +1 -1
- package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js +10 -1
- package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js.map +1 -1
- package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.d.ts +1 -1
- package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.js +4 -0
- package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -1
- package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.d.ts +29 -0
- package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.js +77 -1
- package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
- package/dist/cli/backend/src/services/agent/runtime-session-recovery.d.ts +4 -2
- package/dist/cli/backend/src/services/agent/runtime-session-recovery.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/runtime-session-recovery.js +22 -6
- package/dist/cli/backend/src/services/agent/runtime-session-recovery.js.map +1 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/communication.module.js +2 -2
- package/dist/cli/backend/src/services/ai/prompt-modules/communication.module.js.map +1 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
- package/dist/cli/backend/src/services/backup/backup-archive.service.d.ts +6 -0
- package/dist/cli/backend/src/services/backup/backup-archive.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/backup/backup-archive.service.js +7 -1
- package/dist/cli/backend/src/services/backup/backup-archive.service.js.map +1 -1
- package/dist/cli/backend/src/services/chat/chat.service.d.ts +282 -0
- package/dist/cli/backend/src/services/chat/chat.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/chat/chat.service.js +783 -0
- package/dist/cli/backend/src/services/chat/chat.service.js.map +1 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +30 -5
- package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +34 -4
- package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts +4 -3
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js +7 -4
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/sqlite/channel.store.d.ts +18 -11
- package/dist/cli/backend/src/services/chat-v2/sqlite/channel.store.d.ts.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/sqlite/channel.store.js +19 -25
- package/dist/cli/backend/src/services/chat-v2/sqlite/channel.store.js.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts +7 -4
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js +8 -4
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/types.d.ts +0 -1
- package/dist/cli/backend/src/services/chat-v2/types.d.ts.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/types.js +0 -1
- package/dist/cli/backend/src/services/chat-v2/types.js.map +1 -1
- package/dist/cli/backend/src/services/core/api-token.service.d.ts +28 -0
- package/dist/cli/backend/src/services/core/api-token.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/core/api-token.service.js +46 -0
- package/dist/cli/backend/src/services/core/api-token.service.js.map +1 -1
- package/dist/cli/backend/src/services/core/owner-auth.service.d.ts +127 -0
- package/dist/cli/backend/src/services/core/owner-auth.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/core/owner-auth.service.js +205 -0
- package/dist/cli/backend/src/services/core/owner-auth.service.js.map +1 -0
- package/dist/cli/backend/src/services/decisions/decision-store.d.ts.map +1 -1
- package/dist/cli/backend/src/services/decisions/decision-store.js +5 -1
- package/dist/cli/backend/src/services/decisions/decision-store.js.map +1 -1
- package/dist/cli/backend/src/services/messaging/owner-message-watchdog.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/messaging/owner-message-watchdog.service.js +7 -0
- package/dist/cli/backend/src/services/messaging/owner-message-watchdog.service.js.map +1 -1
- package/dist/cli/backend/src/services/messaging/thread-status-queue.service.d.ts +0 -8
- package/dist/cli/backend/src/services/messaging/thread-status-queue.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/messaging/thread-status-queue.service.js +0 -18
- package/dist/cli/backend/src/services/messaging/thread-status-queue.service.js.map +1 -1
- package/dist/cli/backend/src/services/monitoring/activity-monitor.service.d.ts +19 -0
- package/dist/cli/backend/src/services/monitoring/activity-monitor.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/monitoring/activity-monitor.service.js +41 -5
- package/dist/cli/backend/src/services/monitoring/activity-monitor.service.js.map +1 -1
- package/dist/cli/backend/src/services/monitoring/agent-turn-state.d.ts +184 -0
- package/dist/cli/backend/src/services/monitoring/agent-turn-state.d.ts.map +1 -0
- package/dist/cli/backend/src/services/monitoring/agent-turn-state.js +391 -0
- package/dist/cli/backend/src/services/monitoring/agent-turn-state.js.map +1 -0
- package/dist/cli/backend/src/services/monitoring/claude-transcript-turn.d.ts +73 -0
- package/dist/cli/backend/src/services/monitoring/claude-transcript-turn.d.ts.map +1 -0
- package/dist/cli/backend/src/services/monitoring/claude-transcript-turn.js +258 -0
- package/dist/cli/backend/src/services/monitoring/claude-transcript-turn.js.map +1 -0
- package/dist/cli/backend/src/services/monitoring/token-usage.service.d.ts +7 -0
- package/dist/cli/backend/src/services/monitoring/token-usage.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/monitoring/token-usage.service.js +4 -0
- package/dist/cli/backend/src/services/monitoring/token-usage.service.js.map +1 -1
- package/dist/cli/backend/src/services/open-items/open-items.service.d.ts +57 -0
- package/dist/cli/backend/src/services/open-items/open-items.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/open-items/open-items.service.js +100 -4
- package/dist/cli/backend/src/services/open-items/open-items.service.js.map +1 -1
- package/dist/cli/backend/src/services/project-tickets/project-ticket.service.d.ts +36 -0
- package/dist/cli/backend/src/services/project-tickets/project-ticket.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/project-tickets/project-ticket.service.js +44 -3
- package/dist/cli/backend/src/services/project-tickets/project-ticket.service.js.map +1 -1
- package/dist/cli/backend/src/services/restart/in-flight-turn-tracker.service.d.ts +34 -3
- package/dist/cli/backend/src/services/restart/in-flight-turn-tracker.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/restart/in-flight-turn-tracker.service.js +57 -2
- package/dist/cli/backend/src/services/restart/in-flight-turn-tracker.service.js.map +1 -1
- package/dist/cli/backend/src/services/restart/restart-drain.service.d.ts +22 -0
- package/dist/cli/backend/src/services/restart/restart-drain.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/restart/restart-drain.service.js +37 -5
- package/dist/cli/backend/src/services/restart/restart-drain.service.js.map +1 -1
- package/dist/cli/backend/src/services/session/session-handoff.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/session/session-handoff.service.js +8 -5
- package/dist/cli/backend/src/services/session/session-handoff.service.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-auto-working.service.d.ts +29 -0
- package/dist/cli/backend/src/services/slack/slack-auto-working.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-auto-working.service.js +66 -3
- package/dist/cli/backend/src/services/slack/slack-auto-working.service.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.d.ts +2 -1
- package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js +3 -2
- package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts +79 -15
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +200 -41
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack.service.d.ts +43 -1
- package/dist/cli/backend/src/services/slack/slack.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack.service.js +76 -7
- package/dist/cli/backend/src/services/slack/slack.service.js.map +1 -1
- package/dist/cli/backend/src/services/task-pool/pool-storage.d.ts.map +1 -1
- package/dist/cli/backend/src/services/task-pool/pool-storage.js +4 -0
- package/dist/cli/backend/src/services/task-pool/pool-storage.js.map +1 -1
- package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/task-pool/task-pool.service.js +2 -0
- package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/cli/backend/src/services/trace/trace-context.service.d.ts +212 -0
- package/dist/cli/backend/src/services/trace/trace-context.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/trace/trace-context.service.js +489 -0
- package/dist/cli/backend/src/services/trace/trace-context.service.js.map +1 -0
- package/dist/cli/backend/src/services/trace/trace-markers.d.ts +93 -0
- package/dist/cli/backend/src/services/trace/trace-markers.d.ts.map +1 -0
- package/dist/cli/backend/src/services/trace/trace-markers.js +162 -0
- package/dist/cli/backend/src/services/trace/trace-markers.js.map +1 -0
- package/dist/cli/backend/src/services/trace/trace-recorder.d.ts +338 -0
- package/dist/cli/backend/src/services/trace/trace-recorder.d.ts.map +1 -0
- package/dist/cli/backend/src/services/trace/trace-recorder.js +789 -0
- package/dist/cli/backend/src/services/trace/trace-recorder.js.map +1 -0
- package/dist/cli/backend/src/services/trace/trace-store.d.ts +308 -0
- package/dist/cli/backend/src/services/trace/trace-store.d.ts.map +1 -0
- package/dist/cli/backend/src/services/trace/trace-store.js +714 -0
- package/dist/cli/backend/src/services/trace/trace-store.js.map +1 -0
- package/dist/cli/backend/src/services/trace/trace.types.d.ts +137 -0
- package/dist/cli/backend/src/services/trace/trace.types.d.ts.map +1 -0
- package/dist/cli/backend/src/services/trace/trace.types.js +104 -0
- package/dist/cli/backend/src/services/trace/trace.types.js.map +1 -0
- package/dist/cli/backend/src/services/v3/request.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/v3/request.service.js +4 -0
- package/dist/cli/backend/src/services/v3/request.service.js.map +1 -1
- package/dist/cli/backend/src/services/wiki/wiki-ingest.service.d.ts +3 -1
- package/dist/cli/backend/src/services/wiki/wiki-ingest.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/wiki/wiki-ingest.service.js.map +1 -1
- package/dist/cli/backend/src/types/decision.types.d.ts +3 -1
- package/dist/cli/backend/src/types/decision.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/ticket-autopilot.types.d.ts +9 -0
- package/dist/cli/backend/src/types/ticket-autopilot.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/ticket-autopilot.types.js +14 -0
- package/dist/cli/backend/src/types/ticket-autopilot.types.js.map +1 -1
- package/dist/cli/backend/src/types/v2/open-item.types.d.ts +4 -0
- package/dist/cli/backend/src/types/v2/open-item.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/v2/request.types.d.ts +4 -0
- package/dist/cli/backend/src/types/v2/request.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/v2/request.types.js.map +1 -1
- package/dist/cli/backend/src/types/v2/work-item.types.d.ts +5 -1
- package/dist/cli/backend/src/types/v2/work-item.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/v2/work-item.types.js +2 -0
- package/dist/cli/backend/src/types/v2/work-item.types.js.map +1 -1
- package/dist/cli/backend/src/utils/secret-env.d.ts.map +1 -1
- package/dist/cli/backend/src/utils/secret-env.js +8 -1
- package/dist/cli/backend/src/utils/secret-env.js.map +1 -1
- package/dist/cli/backend/src/utils/security.d.ts +196 -0
- package/dist/cli/backend/src/utils/security.d.ts.map +1 -0
- package/dist/cli/backend/src/utils/security.js +538 -0
- package/dist/cli/backend/src/utils/security.js.map +1 -0
- package/dist/cli/backend/src/websocket/chat.gateway.d.ts +9 -0
- package/dist/cli/backend/src/websocket/chat.gateway.d.ts.map +1 -1
- package/dist/cli/backend/src/websocket/chat.gateway.js +26 -0
- package/dist/cli/backend/src/websocket/chat.gateway.js.map +1 -1
- package/dist/cli/cli/src/commands/service.d.ts +12 -0
- package/dist/cli/cli/src/commands/service.d.ts.map +1 -1
- package/dist/cli/cli/src/commands/service.js +36 -2
- package/dist/cli/cli/src/commands/service.js.map +1 -1
- package/dist/cli/cli/src/index.js +4 -0
- package/dist/cli/cli/src/index.js.map +1 -1
- package/dist/cli/cli/src/utils/owner-token-fetch.d.ts +41 -0
- package/dist/cli/cli/src/utils/owner-token-fetch.d.ts.map +1 -0
- package/dist/cli/cli/src/utils/owner-token-fetch.js +83 -0
- package/dist/cli/cli/src/utils/owner-token-fetch.js.map +1 -0
- package/dist/cli/cli/src/utils/safe-shutdown.d.ts +13 -3
- package/dist/cli/cli/src/utils/safe-shutdown.d.ts.map +1 -1
- package/dist/cli/cli/src/utils/safe-shutdown.js +26 -4
- package/dist/cli/cli/src/utils/safe-shutdown.js.map +1 -1
- package/dist/cli/config/constants.d.ts +67 -0
- package/dist/cli/config/constants.d.ts.map +1 -1
- package/dist/cli/config/constants.js +67 -0
- package/dist/cli/config/constants.js.map +1 -1
- package/frontend/dist/assets/index-bfa0e2e8.css +42 -0
- package/frontend/dist/assets/{index-800118ca.js → index-edfa8e04.js} +285 -285
- package/frontend/dist/index.html +2 -2
- package/package.json +1 -1
- package/packages/crewly-agent/src/runtime/api-client.test.ts +42 -0
- package/packages/crewly-agent/src/runtime/api-client.ts +6 -0
- package/dist/backend/backend/src/services/v3/request-notification.service.d.ts +0 -52
- package/dist/backend/backend/src/services/v3/request-notification.service.d.ts.map +0 -1
- package/dist/backend/backend/src/services/v3/request-notification.service.js +0 -161
- package/dist/backend/backend/src/services/v3/request-notification.service.js.map +0 -1
- package/frontend/dist/assets/index-5e967795.css +0 -42
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which local process is on the other end of a TCP connection, and does it
|
|
3
|
+
* belong to an agent? (#999, specs/2026-10-03-owner-auth.md §4)
|
|
4
|
+
*
|
|
5
|
+
* Agents run as the owner's OS user, so they can read `~/.crewly/api-token`
|
|
6
|
+
* and could ask for a dashboard session over loopback. File permissions
|
|
7
|
+
* cannot stop that. What does distinguish an agent is how it was started:
|
|
8
|
+
* every agent process descends from this backend (PTY shells, crewly-agent
|
|
9
|
+
* children, Codex daemons started from a PTY), runs on an agent PTY's
|
|
10
|
+
* terminal, or carries an agent's environment. The owner's browser, terminal,
|
|
11
|
+
* Vite dev server and Electron app have none of these.
|
|
12
|
+
*
|
|
13
|
+
* For a connection from this host, this service finds the client process
|
|
14
|
+
* (`lsof`, or `ss` on Linux) and checks those signals against one `ps`
|
|
15
|
+
* snapshot (the environment signal is Linux-only: macOS does not expose
|
|
16
|
+
* another process's environment). A lookup that cannot run (tool missing)
|
|
17
|
+
* or times out answers `unknown`, and the caller fails open with a warning
|
|
18
|
+
* (residual risk 3 in the spec). A lookup that ran but found no client
|
|
19
|
+
* process — it exited first, which an agent can arrange by writing the
|
|
20
|
+
* request over a raw socket — answers `gone`, and the caller fails CLOSED.
|
|
21
|
+
*
|
|
22
|
+
* A determined process can still shed all three signals (double-fork,
|
|
23
|
+
* `setsid`, `env -i`). That is the same-OS-user limit the spec documents.
|
|
24
|
+
*
|
|
25
|
+
* @module services/core/peer-process.service
|
|
26
|
+
*/
|
|
27
|
+
import { execFile } from 'child_process';
|
|
28
|
+
import { promises as fsp } from 'fs';
|
|
29
|
+
import * as os from 'os';
|
|
30
|
+
import { OWNER_AUTH_CONSTANTS, API_SECURITY_CONSTANTS } from '../../constants.js';
|
|
31
|
+
/**
|
|
32
|
+
* Normalise an address for comparison (`::ffff:1.2.3.4` → `1.2.3.4`).
|
|
33
|
+
*
|
|
34
|
+
* @param address - Address string
|
|
35
|
+
* @returns Normalised address
|
|
36
|
+
*/
|
|
37
|
+
function normaliseAddress(address) {
|
|
38
|
+
return address.startsWith('::ffff:') ? address.slice('::ffff:'.length) : address;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Whether an address belongs to this host: loopback, or any of its own
|
|
42
|
+
* interface addresses (an agent can connect to the machine's LAN IP too).
|
|
43
|
+
*
|
|
44
|
+
* @param address - Remote address of a connection
|
|
45
|
+
* @param interfaces - `os.networkInterfaces()` (tests)
|
|
46
|
+
* @returns True for a connection from this machine
|
|
47
|
+
*/
|
|
48
|
+
export function isHostAddress(address, interfaces = os.networkInterfaces()) {
|
|
49
|
+
if (!address)
|
|
50
|
+
return false;
|
|
51
|
+
if (API_SECURITY_CONSTANTS.LOOPBACK_ADDRESSES.includes(address))
|
|
52
|
+
return true;
|
|
53
|
+
const target = normaliseAddress(address);
|
|
54
|
+
for (const entries of Object.values(interfaces)) {
|
|
55
|
+
for (const entry of entries ?? []) {
|
|
56
|
+
if (normaliseAddress(entry.address) === target)
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Run a command, resolving stdout ('' on a non-zero exit with no output).
|
|
64
|
+
*
|
|
65
|
+
* @param cmd - Executable
|
|
66
|
+
* @param args - Arguments
|
|
67
|
+
* @param timeoutMs - Budget
|
|
68
|
+
* @returns stdout
|
|
69
|
+
*/
|
|
70
|
+
function run(cmd, args, timeoutMs) {
|
|
71
|
+
return new Promise((resolve, reject) => {
|
|
72
|
+
execFile(cmd, args, { timeout: timeoutMs, maxBuffer: 16 * 1024 * 1024 }, (error, stdout) => {
|
|
73
|
+
// lsof exits 1 when nothing matched: that is an answer, not a failure.
|
|
74
|
+
if (error && !(stdout && stdout.length > 0) && error.code !== 1) {
|
|
75
|
+
reject(error);
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
resolve(stdout ?? '');
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Parse `lsof -nP -iTCP:<port> -Fpn` output: the pid whose socket's LOCAL
|
|
84
|
+
* end is `clientPort` and remote end is `serverPort`.
|
|
85
|
+
*
|
|
86
|
+
* @param output - lsof field output (`p<pid>` / `n<a>:<p>-><b>:<q>` lines)
|
|
87
|
+
* @param clientPort - The client's ephemeral port
|
|
88
|
+
* @param serverPort - This backend's port
|
|
89
|
+
* @returns The client pid, or null
|
|
90
|
+
*/
|
|
91
|
+
export function parseLsofPeer(output, clientPort, serverPort) {
|
|
92
|
+
let pid = null;
|
|
93
|
+
const re = new RegExp(`:${clientPort}->.*:${serverPort}$`);
|
|
94
|
+
for (const line of output.split('\n')) {
|
|
95
|
+
if (line.startsWith('p')) {
|
|
96
|
+
const n = Number(line.slice(1));
|
|
97
|
+
pid = Number.isInteger(n) && n > 0 ? n : null;
|
|
98
|
+
}
|
|
99
|
+
else if (line.startsWith('n') && pid !== null && re.test(line.slice(1).trim())) {
|
|
100
|
+
return pid;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Parse `ss -Htnp '( sport = :<clientPort> )'` output: the first pid listed
|
|
107
|
+
* for a connection to `serverPort`.
|
|
108
|
+
*
|
|
109
|
+
* @param output - ss output
|
|
110
|
+
* @param serverPort - This backend's port
|
|
111
|
+
* @returns The client pid, or null
|
|
112
|
+
*/
|
|
113
|
+
export function parseSsPeer(output, serverPort) {
|
|
114
|
+
for (const line of output.split('\n')) {
|
|
115
|
+
const cols = line.trim().split(/\s+/);
|
|
116
|
+
if (cols.length < 5)
|
|
117
|
+
continue;
|
|
118
|
+
if (!cols.some((c, i) => i >= 3 && new RegExp(`:${serverPort}$`).test(c)))
|
|
119
|
+
continue;
|
|
120
|
+
const m = /pid=(\d+)/.exec(line);
|
|
121
|
+
if (m)
|
|
122
|
+
return Number(m[1]);
|
|
123
|
+
}
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Find the client pid of a connection with the platform's tools.
|
|
128
|
+
*
|
|
129
|
+
* @param clientPort - Client's ephemeral port (the connection's remotePort)
|
|
130
|
+
* @param serverPort - This backend's port (the connection's localPort)
|
|
131
|
+
* @param timeoutMs - Budget
|
|
132
|
+
* @returns pid or null
|
|
133
|
+
*/
|
|
134
|
+
async function defaultFindPeerPid(clientPort, serverPort, timeoutMs) {
|
|
135
|
+
if (process.platform === 'linux') {
|
|
136
|
+
let output = null;
|
|
137
|
+
try {
|
|
138
|
+
output = await run('ss', ['-Htnp', `( sport = :${clientPort} )`], timeoutMs);
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
output = null; // ss unusable: fall through to lsof
|
|
142
|
+
}
|
|
143
|
+
// ss ran: its answer stands, including "nothing" (falling through to a
|
|
144
|
+
// missing lsof would turn "not found" into "could not look").
|
|
145
|
+
if (output !== null)
|
|
146
|
+
return parseSsPeer(output, serverPort);
|
|
147
|
+
}
|
|
148
|
+
return parseLsofPeer(await run('lsof', ['-nP', `-iTCP:${clientPort}`, '-Fpn'], timeoutMs), clientPort, serverPort);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Parse `ps -Ao pid=,ppid=,tty=` output.
|
|
152
|
+
*
|
|
153
|
+
* @param output - ps output
|
|
154
|
+
* @returns pid → entry
|
|
155
|
+
*/
|
|
156
|
+
export function parsePsTable(output) {
|
|
157
|
+
const table = new Map();
|
|
158
|
+
for (const line of output.split('\n')) {
|
|
159
|
+
const m = /^\s*(\d+)\s+(\d+)\s+(\S+)/.exec(line);
|
|
160
|
+
if (m)
|
|
161
|
+
table.set(Number(m[1]), { ppid: Number(m[2]), tty: m[3] ?? '?' });
|
|
162
|
+
}
|
|
163
|
+
return table;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Read another process's environment (same user) — Linux only, from
|
|
167
|
+
* `/proc/<pid>/environ`. macOS does not expose another process's
|
|
168
|
+
* environment (`ps -E` prints none, checked on macOS 15), so there the
|
|
169
|
+
* ancestry and terminal signals carry the check.
|
|
170
|
+
*
|
|
171
|
+
* @param pid - Process
|
|
172
|
+
* @returns The variables this check cares about, or null when unreadable
|
|
173
|
+
*/
|
|
174
|
+
async function defaultReadEnv(pid) {
|
|
175
|
+
if (process.platform !== 'linux')
|
|
176
|
+
return null;
|
|
177
|
+
const wanted = ['CREWLY_SESSION_NAME', OWNER_AUTH_CONSTANTS.AGENT_BADGE_ENV];
|
|
178
|
+
const out = {};
|
|
179
|
+
try {
|
|
180
|
+
const raw = await fsp.readFile(`/proc/${pid}/environ`, 'utf8');
|
|
181
|
+
for (const pair of raw.split('\0')) {
|
|
182
|
+
const eq = pair.indexOf('=');
|
|
183
|
+
if (eq > 0 && wanted.includes(pair.slice(0, eq)))
|
|
184
|
+
out[pair.slice(0, eq)] = pair.slice(eq + 1);
|
|
185
|
+
}
|
|
186
|
+
return out;
|
|
187
|
+
}
|
|
188
|
+
catch {
|
|
189
|
+
return null;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
/** Terminal names that mean "no controlling terminal". */
|
|
193
|
+
const NO_TTY = new Set(['?', '??', '-', '']);
|
|
194
|
+
/**
|
|
195
|
+
* Decide whether a process is an agent's, from a process-table snapshot.
|
|
196
|
+
*
|
|
197
|
+
* @param pid - The client process
|
|
198
|
+
* @param table - pid → {ppid, tty}
|
|
199
|
+
* @param selfPid - This backend's pid
|
|
200
|
+
* @param sessionPids - PTY shell pid → session name
|
|
201
|
+
* @returns `agent` with the signal that matched, or null
|
|
202
|
+
*/
|
|
203
|
+
export function agentSignalFromTable(pid, table, selfPid, sessionPids) {
|
|
204
|
+
// 1. Ancestry: anything the backend spawned (directly or not) is an agent's.
|
|
205
|
+
let current = pid;
|
|
206
|
+
let session = null;
|
|
207
|
+
const seen = new Set();
|
|
208
|
+
for (let depth = 0; depth < OWNER_AUTH_CONSTANTS.PEER_MAX_ANCESTRY_DEPTH && current > 1 && !seen.has(current); depth++) {
|
|
209
|
+
seen.add(current);
|
|
210
|
+
session ??= sessionPids.get(current) ?? null;
|
|
211
|
+
const entry = table.get(current);
|
|
212
|
+
if (!entry)
|
|
213
|
+
break;
|
|
214
|
+
if (entry.ppid === selfPid)
|
|
215
|
+
return { signal: 'ancestry', session };
|
|
216
|
+
current = entry.ppid;
|
|
217
|
+
}
|
|
218
|
+
// 2. Terminal: a process orphaned out of an agent's shell keeps its PTY.
|
|
219
|
+
const tty = table.get(pid)?.tty ?? '';
|
|
220
|
+
if (!NO_TTY.has(tty)) {
|
|
221
|
+
for (const [shellPid, name] of sessionPids) {
|
|
222
|
+
if (table.get(shellPid)?.tty === tty)
|
|
223
|
+
return { signal: 'tty', session: name };
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
return null;
|
|
227
|
+
}
|
|
228
|
+
/** Thrown when a lookup takes longer than its budget. */
|
|
229
|
+
class LookupTimeoutError extends Error {
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Reject with {@link LookupTimeoutError} if the work takes longer than `ms`.
|
|
233
|
+
*
|
|
234
|
+
* @param promise - Work
|
|
235
|
+
* @param ms - Budget
|
|
236
|
+
* @returns The work's result
|
|
237
|
+
*/
|
|
238
|
+
function withTimeout(promise, ms) {
|
|
239
|
+
return new Promise((resolve, reject) => {
|
|
240
|
+
const timer = setTimeout(() => reject(new LookupTimeoutError('timed out')), ms);
|
|
241
|
+
promise.then((v) => {
|
|
242
|
+
clearTimeout(timer);
|
|
243
|
+
resolve(v);
|
|
244
|
+
}, (e) => {
|
|
245
|
+
clearTimeout(timer);
|
|
246
|
+
reject(e);
|
|
247
|
+
});
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Whether a lookup error means "could not look" (fail open) rather than
|
|
252
|
+
* "looked and it is not there" (fail closed): the tool is missing, or it
|
|
253
|
+
* was killed for running past its budget.
|
|
254
|
+
*
|
|
255
|
+
* @param error - The error
|
|
256
|
+
* @returns True for a missing tool or a timeout
|
|
257
|
+
*/
|
|
258
|
+
export function isLookupUnavailable(error) {
|
|
259
|
+
if (error instanceof LookupTimeoutError)
|
|
260
|
+
return true;
|
|
261
|
+
const e = error;
|
|
262
|
+
return Boolean(e && (e.code === 'ENOENT' || e.killed === true));
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Classifies the client process of local connections, once per socket.
|
|
266
|
+
*/
|
|
267
|
+
export class PeerProcessService {
|
|
268
|
+
cache = new WeakMap();
|
|
269
|
+
deps;
|
|
270
|
+
/**
|
|
271
|
+
* @param deps - Injectable collaborators
|
|
272
|
+
*/
|
|
273
|
+
constructor(deps = {}) {
|
|
274
|
+
const timeoutMs = deps.timeoutMs ?? OWNER_AUTH_CONSTANTS.PEER_LOOKUP_TIMEOUT_MS;
|
|
275
|
+
this.deps = {
|
|
276
|
+
findPeerPid: deps.findPeerPid ?? ((c, s) => defaultFindPeerPid(c, s, timeoutMs)),
|
|
277
|
+
readTable: deps.readTable ?? (async () => parsePsTable(await run('ps', ['-Ao', 'pid=,ppid=,tty='], timeoutMs))),
|
|
278
|
+
readEnv: deps.readEnv ?? ((pid) => defaultReadEnv(pid)),
|
|
279
|
+
listSessionPids: deps.listSessionPids ?? (() => new Map()),
|
|
280
|
+
selfPid: deps.selfPid ?? process.pid,
|
|
281
|
+
isHostAddress: deps.isHostAddress ?? ((a) => isHostAddress(a)),
|
|
282
|
+
timeoutMs,
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Classify the client of a connection. Cached per socket object (a
|
|
287
|
+
* keep-alive dashboard or CLI pays for one lookup).
|
|
288
|
+
*
|
|
289
|
+
* @param socket - The request's socket
|
|
290
|
+
* @returns The verdict
|
|
291
|
+
*/
|
|
292
|
+
classify(socket) {
|
|
293
|
+
if (!socket)
|
|
294
|
+
return Promise.resolve({ kind: 'gone', reason: 'no socket' });
|
|
295
|
+
const hit = this.cache.get(socket);
|
|
296
|
+
if (hit)
|
|
297
|
+
return hit;
|
|
298
|
+
const verdict = this.lookup(socket);
|
|
299
|
+
this.cache.set(socket, verdict);
|
|
300
|
+
return verdict;
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Uncached classification.
|
|
304
|
+
*
|
|
305
|
+
* @param socket - The request's socket
|
|
306
|
+
* @returns The verdict
|
|
307
|
+
*/
|
|
308
|
+
async lookup(socket) {
|
|
309
|
+
const address = socket.remoteAddress ?? '';
|
|
310
|
+
// Node clears remoteAddress once the peer has closed the socket: a sender
|
|
311
|
+
// that already hung up is not "remote", it is gone (#1010 review).
|
|
312
|
+
if (!address)
|
|
313
|
+
return { kind: 'gone', reason: 'socket already closed' };
|
|
314
|
+
if (!this.deps.isHostAddress(address))
|
|
315
|
+
return { kind: 'remote' };
|
|
316
|
+
const clientPort = socket.remotePort;
|
|
317
|
+
const serverPort = socket.localPort;
|
|
318
|
+
if (!clientPort || !serverPort)
|
|
319
|
+
return { kind: 'gone', reason: 'no ports' };
|
|
320
|
+
const work = async () => {
|
|
321
|
+
const pid = await this.deps.findPeerPid(clientPort, serverPort);
|
|
322
|
+
if (!pid)
|
|
323
|
+
return { kind: 'gone', reason: 'client process not found' };
|
|
324
|
+
if (pid === this.deps.selfPid)
|
|
325
|
+
return { kind: 'self' };
|
|
326
|
+
const table = await this.deps.readTable();
|
|
327
|
+
// Exited between the two lookups: nothing left to vouch for it.
|
|
328
|
+
if (!table.has(pid))
|
|
329
|
+
return { kind: 'gone', reason: 'client process exited' };
|
|
330
|
+
const sessionPids = this.deps.listSessionPids();
|
|
331
|
+
const fromTable = agentSignalFromTable(pid, table, this.deps.selfPid, sessionPids);
|
|
332
|
+
if (fromTable)
|
|
333
|
+
return { kind: 'agent', pid, ...fromTable };
|
|
334
|
+
// 3. Environment: an agent shell's variables survive an orphaning fork.
|
|
335
|
+
const env = await this.deps.readEnv(pid);
|
|
336
|
+
if (env && (env['CREWLY_SESSION_NAME'] || env[OWNER_AUTH_CONSTANTS.AGENT_BADGE_ENV])) {
|
|
337
|
+
return { kind: 'agent', pid, signal: 'env', session: env['CREWLY_SESSION_NAME'] || null };
|
|
338
|
+
}
|
|
339
|
+
return { kind: 'not-agent', pid };
|
|
340
|
+
};
|
|
341
|
+
try {
|
|
342
|
+
return await withTimeout(work(), this.deps.timeoutMs);
|
|
343
|
+
}
|
|
344
|
+
catch (error) {
|
|
345
|
+
if (isLookupUnavailable(error)) {
|
|
346
|
+
return { kind: 'unknown', reason: error instanceof LookupTimeoutError ? 'lookup timed out' : 'lookup tool unavailable' };
|
|
347
|
+
}
|
|
348
|
+
return { kind: 'gone', reason: `lookup failed: ${error instanceof Error ? error.message : String(error)}` };
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
//# sourceMappingURL=peer-process.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peer-process.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/core/peer-process.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decision-store.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/decisions/decision-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"decision-store.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/decisions/decision-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AASnE,4CAA4C;AAC5C,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAA+B,CAAC;AAE3G;;GAEG;AACH,qBAAa,aAAa;IAStB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,GAAG;IATtB,OAAO,CAAC,IAAI,CAA6B;IACzC,OAAO,CAAC,KAAK,CAAuC;IAEpD;;;OAGG;gBAEgB,QAAQ,EAAE,MAAM,EAChB,GAAG,GAAE,MAAM,IAAuB;IAGrD;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa;IAIhD;;;;;OAKG;IACG,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IAalG;;;;;;OAMG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAgBhH;;;;;OAKG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAMpD;;;;;OAKG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAQ5E;;;;;;OAMG;IACG,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAMnF;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;YAYhB,IAAI;YASJ,IAAI;IAIlB,OAAO,CAAC,MAAM;CAKf"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
import * as path from 'path';
|
|
11
11
|
import { DECISION_CONSTANTS } from '../../constants.js';
|
|
12
12
|
import { atomicWriteJson, safeReadJson } from '../../utils/file-io.utils.js';
|
|
13
|
+
import { traceDecisionChanged, traceDecisionCreated } from '../trace/trace-recorder.js';
|
|
13
14
|
/** Statuses still in front of the owner. */
|
|
14
15
|
export const PENDING_DECISION_STATUSES = new Set(['open', 'parked']);
|
|
15
16
|
/**
|
|
@@ -51,6 +52,7 @@ export class DecisionStore {
|
|
|
51
52
|
data.nextId += 1;
|
|
52
53
|
data.decisions.push(decision);
|
|
53
54
|
await this.save();
|
|
55
|
+
traceDecisionCreated(decision);
|
|
54
56
|
return { ...decision };
|
|
55
57
|
});
|
|
56
58
|
}
|
|
@@ -70,9 +72,11 @@ export class DecisionStore {
|
|
|
70
72
|
const patch = fn({ ...data.decisions[idx] });
|
|
71
73
|
if (!patch)
|
|
72
74
|
return null;
|
|
73
|
-
const
|
|
75
|
+
const previous = data.decisions[idx];
|
|
76
|
+
const next = { ...previous, ...patch, updatedAt: this.now().toISOString() };
|
|
74
77
|
data.decisions[idx] = next;
|
|
75
78
|
await this.save();
|
|
79
|
+
traceDecisionChanged(previous, next);
|
|
76
80
|
return { ...next };
|
|
77
81
|
});
|
|
78
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decision-store.js","sourceRoot":"","sources":["../../../../../../backend/src/services/decisions/decision-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"decision-store.js","sourceRoot":"","sources":["../../../../../../backend/src/services/decisions/decision-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import type { Team } from '../../types/index.js';
|
|
10
10
|
import { ProjectTicketService } from '../project-tickets/project-ticket.service.js';
|
|
11
11
|
import type { ProjectTicketWorkflowService } from '../project-tickets/project-ticket-workflow.service.js';
|
|
12
|
-
import { DecisionService, type DecisionServiceDeps, type DecisionSlackPlace } from './decision.service.js';
|
|
12
|
+
import { DecisionService, type DecisionServiceDeps, type DecisionPostIdentity, type DecisionSlackPlace } from './decision.service.js';
|
|
13
13
|
/** What the composition root provides. */
|
|
14
14
|
export interface DecisionWiringInput {
|
|
15
15
|
crewlyHome: string;
|
|
@@ -52,6 +52,15 @@ export declare function createTicketDecisionHooks(input: {
|
|
|
52
52
|
getTeams: () => Promise<Team[]>;
|
|
53
53
|
workflow?: Pick<ProjectTicketWorkflowService, 'resolveProject' | 'get' | 'accessOf'>;
|
|
54
54
|
}): TicketDecisionHooks;
|
|
55
|
+
/**
|
|
56
|
+
* How an agent posts to Slack: its own installed bot when it has one, else
|
|
57
|
+
* the shared bot with its name and icon. Shared by decision cards and the
|
|
58
|
+
* signal digest.
|
|
59
|
+
*
|
|
60
|
+
* @param getTeams - Teams (to find the member's name)
|
|
61
|
+
* @returns Resolver from session to post identity
|
|
62
|
+
*/
|
|
63
|
+
export declare function createAgentSlackIdentityResolver(getTeams: () => Promise<Team[]>): (session: string) => Promise<DecisionPostIdentity>;
|
|
55
64
|
/**
|
|
56
65
|
* Build the service with the real collaborators.
|
|
57
66
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decision.wiring.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/decisions/decision.wiring.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AASjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uDAAuD,CAAC;AAC1G,OAAO,EAAiB,eAAe,EAA4B,KAAK,mBAAmB,
|
|
1
|
+
{"version":3,"file":"decision.wiring.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/decisions/decision.wiring.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AASjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uDAAuD,CAAC;AAC1G,OAAO,EAAiB,eAAe,EAA4B,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,KAAK,kBAAkB,EAA8B,MAAM,uBAAuB,CAAC;AAM3M,0CAA0C;AAC1C,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAChC,uEAAuE;IACvE,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACjE,mDAAmD;IACnD,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,uCAAuC;IACvC,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACrE,6EAA6E;IAC7E,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;CAC3E;AAID;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAMvD;AAED,2DAA2D;AAC3D,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,EAAE,eAAe,GAAG,iBAAiB,GAAG,WAAW,CAAC,CAAC;AAE/G;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IAC9C,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,IAAI,CAAC,4BAA4B,EAAE,gBAAgB,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC;CACtF,GAAG,mBAAmB,CA+BtB;AAED;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAYpI;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,mBAAmB,GAAG,eAAe,CA6DjF;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,IAAI,CAyBjF;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAkBxF"}
|
|
@@ -85,17 +85,16 @@ export function createTicketDecisionHooks(input) {
|
|
|
85
85
|
};
|
|
86
86
|
}
|
|
87
87
|
/**
|
|
88
|
-
*
|
|
88
|
+
* How an agent posts to Slack: its own installed bot when it has one, else
|
|
89
|
+
* the shared bot with its name and icon. Shared by decision cards and the
|
|
90
|
+
* signal digest.
|
|
89
91
|
*
|
|
90
|
-
* @param
|
|
91
|
-
* @returns
|
|
92
|
+
* @param getTeams - Teams (to find the member's name)
|
|
93
|
+
* @returns Resolver from session to post identity
|
|
92
94
|
*/
|
|
93
|
-
export function
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
const tickets = ProjectTicketService.getInstance();
|
|
97
|
-
const identityOf = async (session) => {
|
|
98
|
-
const teams = await input.getTeams().catch(() => []);
|
|
95
|
+
export function createAgentSlackIdentityResolver(getTeams) {
|
|
96
|
+
return async (session) => {
|
|
97
|
+
const teams = await getTeams().catch(() => []);
|
|
99
98
|
const member = teams.flatMap((t) => t.members ?? []).find((m) => m.sessionName === session);
|
|
100
99
|
const ids = getSlackAgentIdentityService();
|
|
101
100
|
if (ids) {
|
|
@@ -106,6 +105,18 @@ export function createDecisionService(input) {
|
|
|
106
105
|
}
|
|
107
106
|
return slackIdentityFor(member, session);
|
|
108
107
|
};
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Build the service with the real collaborators.
|
|
111
|
+
*
|
|
112
|
+
* @param input - Composition-root hooks
|
|
113
|
+
* @returns The service (not started)
|
|
114
|
+
*/
|
|
115
|
+
export function createDecisionService(input) {
|
|
116
|
+
const threads = getTicketThreadStore() ?? TicketThreadStore.inHome(input.crewlyHome);
|
|
117
|
+
setTicketThreadStore(threads);
|
|
118
|
+
const tickets = ProjectTicketService.getInstance();
|
|
119
|
+
const identityOf = createAgentSlackIdentityResolver(input.getTeams);
|
|
109
120
|
return new DecisionService({
|
|
110
121
|
store: DecisionStore.inHome(input.crewlyHome),
|
|
111
122
|
threads,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decision.wiring.js","sourceRoot":"","sources":["../../../../../../backend/src/services/decisions/decision.wiring.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"decision.wiring.js","sourceRoot":"","sources":["../../../../../../backend/src/services/decisions/decision.wiring.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* window's last day has settled (`lag` days later).
|
|
9
9
|
*
|
|
10
10
|
* Verdicts use simple rules with a minimum volume:
|
|
11
|
-
* - counts (clicks, impressions, sessions, events): equal-length Poisson
|
|
11
|
+
* - counts (clicks, impressions, sessions, events, conversions): equal-length Poisson
|
|
12
12
|
* comparison, z = (b − a) / √(a + b), with at least MIN_COUNT_VOLUME events
|
|
13
13
|
* across both windows;
|
|
14
14
|
* - ctr: two-proportion z-test, with enough impressions in each window and
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* window's last day has settled (`lag` days later).
|
|
9
9
|
*
|
|
10
10
|
* Verdicts use simple rules with a minimum volume:
|
|
11
|
-
* - counts (clicks, impressions, sessions, events): equal-length Poisson
|
|
11
|
+
* - counts (clicks, impressions, sessions, events, conversions): equal-length Poisson
|
|
12
12
|
* comparison, z = (b − a) / √(a + b), with at least MIN_COUNT_VOLUME events
|
|
13
13
|
* across both windows;
|
|
14
14
|
* - ctr: two-proportion z-test, with enough impressions in each window and
|
|
@@ -210,7 +210,7 @@ export function decideVerdict(measure, direction, baseline, result) {
|
|
|
210
210
|
const statText = Number.isFinite(stat) ? stat.toFixed(2) : stat > 0 ? '∞' : '−∞';
|
|
211
211
|
return { verdict: j.verdict, reason: `${head}, t = ${statText}: ${j.words}`, statistic: stat, lift };
|
|
212
212
|
}
|
|
213
|
-
// Counts: clicks, impressions, sessions, events.
|
|
213
|
+
// Counts: clicks, impressions, sessions, events, conversions.
|
|
214
214
|
const a = baseline.total ?? 0;
|
|
215
215
|
const b = result.total ?? 0;
|
|
216
216
|
const min = C.MIN_COUNT_VOLUME[measure] ?? 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"experiment-verdict.js","sourceRoot":"","sources":["../../../../../../backend/src/services/experiments/experiment-verdict.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"experiment-verdict.js","sourceRoot":"","sources":["../../../../../../backend/src/services/experiments/experiment-verdict.ts"],"names":[],"mappings":"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"}
|