crewly 1.20.195 → 1.20.197
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/orchestrator/fragments/lifecycle.md +1 -1
- package/config/roles/orchestrator/prompt.md +3 -3
- package/config/skills/_common/lib.sh +28 -5
- package/config/skills/_common/lib.test.sh +32 -1
- 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 +29 -1
- package/config/skills/agent/core/experiment-card/execute.sh +35 -1
- package/config/skills/agent/core/experiment-card/execute.test.sh +11 -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/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 +10 -2
- package/config/skills/orchestrator/send-message/execute.test.sh +9 -0
- package/config/skills/team-leader/design-checklist/execute.sh +2 -0
- package/dist/backend/backend/src/constants.d.ts +223 -5
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +206 -6
- 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.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/browser/browser.controller.js +54 -8
- package/dist/backend/backend/src/controllers/browser/browser.controller.js.map +1 -1
- 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 +10 -1
- package/dist/backend/backend/src/controllers/chat/chat.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/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/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/signal-digest/signal-digest.controller.js +1 -1
- package/dist/backend/backend/src/controllers/signal-digest/signal-digest.controller.js.map +1 -1
- 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 +30 -4
- package/dist/backend/backend/src/controllers/trace/trace.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/trace/trace.controller.js +278 -10
- package/dist/backend/backend/src/controllers/trace/trace.controller.js.map +1 -1
- 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 +313 -42
- 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/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +12 -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/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/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/browser/browser-session.service.d.ts +34 -1
- package/dist/backend/backend/src/services/browser/browser-session.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-session.service.js +38 -1
- package/dist/backend/backend/src/services/browser/browser-session.service.js.map +1 -1
- package/dist/backend/backend/src/services/browser/owner-browser-input.d.ts +98 -10
- package/dist/backend/backend/src/services/browser/owner-browser-input.d.ts.map +1 -1
- package/dist/backend/backend/src/services/browser/owner-browser-input.js +126 -11
- package/dist/backend/backend/src/services/browser/owner-browser-input.js.map +1 -1
- package/dist/backend/backend/src/services/chat/chat.service.d.ts +99 -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 +265 -40
- 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/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/experiments/experiment.service.d.ts +97 -1
- package/dist/backend/backend/src/services/experiments/experiment.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/experiments/experiment.service.js +372 -1
- package/dist/backend/backend/src/services/experiments/experiment.service.js.map +1 -1
- package/dist/backend/backend/src/services/experiments/experiment.wiring.d.ts.map +1 -1
- package/dist/backend/backend/src/services/experiments/experiment.wiring.js +19 -2
- package/dist/backend/backend/src/services/experiments/experiment.wiring.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/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/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 +42 -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/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/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-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 +18 -0
- package/dist/backend/backend/src/services/slack/slack.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack.service.js +32 -0
- package/dist/backend/backend/src/services/slack/slack.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 +17 -0
- package/dist/backend/backend/src/services/trace/trace-context.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/trace/trace-context.service.js +58 -1
- package/dist/backend/backend/src/services/trace/trace-context.service.js.map +1 -1
- package/dist/backend/backend/src/services/trace/trace-http.middleware.d.ts +4 -0
- package/dist/backend/backend/src/services/trace/trace-http.middleware.d.ts.map +1 -1
- package/dist/backend/backend/src/services/trace/trace-http.middleware.js +32 -2
- package/dist/backend/backend/src/services/trace/trace-http.middleware.js.map +1 -1
- 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 +48 -0
- package/dist/backend/backend/src/services/trace/trace-recorder.d.ts.map +1 -1
- package/dist/backend/backend/src/services/trace/trace-recorder.js +121 -1
- package/dist/backend/backend/src/services/trace/trace-recorder.js.map +1 -1
- package/dist/backend/backend/src/services/trace/trace-store.d.ts +40 -1
- package/dist/backend/backend/src/services/trace/trace-store.d.ts.map +1 -1
- package/dist/backend/backend/src/services/trace/trace-store.js +126 -14
- package/dist/backend/backend/src/services/trace/trace-store.js.map +1 -1
- 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 +22 -3
- package/dist/backend/backend/src/services/trace/trace.types.d.ts.map +1 -1
- package/dist/backend/backend/src/services/trace/trace.types.js +20 -1
- package/dist/backend/backend/src/services/trace/trace.types.js.map +1 -1
- 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.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/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 +24 -2
- 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/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 +57 -0
- 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/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/work-item.types.d.ts +1 -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 +1 -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/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 +223 -5
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +206 -6
- 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 +12 -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/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/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/chat/chat.service.d.ts +99 -2
- package/dist/cli/backend/src/services/chat/chat.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/chat/chat.service.js +265 -40
- package/dist/cli/backend/src/services/chat/chat.service.js.map +1 -1
- 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/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/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/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 +42 -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/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-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 +18 -0
- package/dist/cli/backend/src/services/slack/slack.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack.service.js +32 -0
- package/dist/cli/backend/src/services/slack/slack.service.js.map +1 -1
- package/dist/cli/backend/src/services/trace/trace-context.service.d.ts +17 -0
- package/dist/cli/backend/src/services/trace/trace-context.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/trace/trace-context.service.js +58 -1
- package/dist/cli/backend/src/services/trace/trace-context.service.js.map +1 -1
- package/dist/cli/backend/src/services/trace/trace-recorder.d.ts +48 -0
- package/dist/cli/backend/src/services/trace/trace-recorder.d.ts.map +1 -1
- package/dist/cli/backend/src/services/trace/trace-recorder.js +121 -1
- package/dist/cli/backend/src/services/trace/trace-recorder.js.map +1 -1
- package/dist/cli/backend/src/services/trace/trace-store.d.ts +40 -1
- package/dist/cli/backend/src/services/trace/trace-store.d.ts.map +1 -1
- package/dist/cli/backend/src/services/trace/trace-store.js +126 -14
- package/dist/cli/backend/src/services/trace/trace-store.js.map +1 -1
- package/dist/cli/backend/src/services/trace/trace.types.d.ts +22 -3
- package/dist/cli/backend/src/services/trace/trace.types.d.ts.map +1 -1
- package/dist/cli/backend/src/services/trace/trace.types.js +20 -1
- package/dist/cli/backend/src/services/trace/trace.types.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/work-item.types.d.ts +1 -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 +1 -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/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-5cbcf45b.css +42 -0
- package/frontend/dist/assets/{index-800118ca.js → index-63a33dbf.js} +291 -291
- 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,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Daily autopilot retro, pure parts (specs/2026-10-03-autopilot-experiments.md §4):
|
|
3
|
+
* the brief the driver gets, the retro input contract, the wiki page, and
|
|
4
|
+
* the harness-gap dedupe.
|
|
5
|
+
*
|
|
6
|
+
* @module services/project-tickets/ticket-autopilot-retro
|
|
7
|
+
*/
|
|
8
|
+
import type { AutopilotDayStats, AutopilotPeriodStats } from './ticket-autopilot-stats.js';
|
|
9
|
+
import type { ProjectTicketService } from './project-ticket.service.js';
|
|
10
|
+
/** A problem class. */
|
|
11
|
+
export type RetroClass = 'agent_judgment' | 'missing_skill' | 'harness_gap' | 'owner_dependency';
|
|
12
|
+
/** One problem the retro found. */
|
|
13
|
+
export interface RetroProblem {
|
|
14
|
+
class: RetroClass;
|
|
15
|
+
title: string;
|
|
16
|
+
detail?: string;
|
|
17
|
+
/** Trace ids / ticket ids / event lines that show it */
|
|
18
|
+
evidence?: string;
|
|
19
|
+
}
|
|
20
|
+
/** A validated retro. */
|
|
21
|
+
export interface RetroInput {
|
|
22
|
+
day: string;
|
|
23
|
+
summary: string;
|
|
24
|
+
problems: RetroProblem[];
|
|
25
|
+
}
|
|
26
|
+
/** Words for the problem classes. */
|
|
27
|
+
export declare const RETRO_CLASS_LABELS: Record<RetroClass, string>;
|
|
28
|
+
/** A retro input error (HTTP 400). */
|
|
29
|
+
export declare class RetroInputError extends Error {
|
|
30
|
+
/**
|
|
31
|
+
* @param message - What is wrong
|
|
32
|
+
*/
|
|
33
|
+
constructor(message: string);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Validate a retro submission.
|
|
37
|
+
*
|
|
38
|
+
* @param raw - Request body
|
|
39
|
+
* @returns The retro
|
|
40
|
+
* @throws RetroInputError with what to fix
|
|
41
|
+
*/
|
|
42
|
+
export declare function validateRetroInput(raw: unknown): RetroInput;
|
|
43
|
+
/**
|
|
44
|
+
* Milliseconds in words ("2h 10m", "45m", "30s").
|
|
45
|
+
*
|
|
46
|
+
* @param ms - Duration
|
|
47
|
+
* @returns Text
|
|
48
|
+
*/
|
|
49
|
+
export declare function durationWords(ms: number): string;
|
|
50
|
+
/**
|
|
51
|
+
* USD in words.
|
|
52
|
+
*
|
|
53
|
+
* @param usd - Dollars
|
|
54
|
+
* @returns "$1.23"
|
|
55
|
+
*/
|
|
56
|
+
export declare function usdWords(usd: number): string;
|
|
57
|
+
/**
|
|
58
|
+
* Tokens in words.
|
|
59
|
+
*
|
|
60
|
+
* @param n - Tokens
|
|
61
|
+
* @returns "1.2M" / "34k" / "900"
|
|
62
|
+
*/
|
|
63
|
+
export declare function tokenWords(n: number): string;
|
|
64
|
+
/**
|
|
65
|
+
* The top stall causes of a period, longest first.
|
|
66
|
+
*
|
|
67
|
+
* @param s - Period stats
|
|
68
|
+
* @param max - How many
|
|
69
|
+
* @returns e.g. ["waiting on the owner: 2 (3h 5m)"]
|
|
70
|
+
*/
|
|
71
|
+
export declare function topStallCauses(s: AutopilotPeriodStats, max?: number): string[];
|
|
72
|
+
/**
|
|
73
|
+
* A period's numbers as a few short lines.
|
|
74
|
+
*
|
|
75
|
+
* @param s - Period stats
|
|
76
|
+
* @returns Lines
|
|
77
|
+
*/
|
|
78
|
+
export declare function statsLines(s: AutopilotPeriodStats): string[];
|
|
79
|
+
/** Input of {@link buildRetroBrief}. */
|
|
80
|
+
export interface RetroBriefInput {
|
|
81
|
+
project: {
|
|
82
|
+
id: string;
|
|
83
|
+
name: string;
|
|
84
|
+
};
|
|
85
|
+
day: string;
|
|
86
|
+
stats: AutopilotDayStats;
|
|
87
|
+
/** Traces of the day: run trace first, then ticket traces with a title */
|
|
88
|
+
traces: Array<{
|
|
89
|
+
traceId: string;
|
|
90
|
+
title: string;
|
|
91
|
+
}>;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* The brief of the daily retro WorkItem.
|
|
95
|
+
*
|
|
96
|
+
* @param input - Project, day, stats, traces
|
|
97
|
+
* @returns Markdown
|
|
98
|
+
*/
|
|
99
|
+
export declare function buildRetroBrief(input: RetroBriefInput): string;
|
|
100
|
+
/**
|
|
101
|
+
* The retro's wiki page.
|
|
102
|
+
*
|
|
103
|
+
* @param input - Project, retro, the day's stats, filed tickets
|
|
104
|
+
* @returns Markdown
|
|
105
|
+
*/
|
|
106
|
+
export declare function renderRetroMarkdown(input: {
|
|
107
|
+
project: {
|
|
108
|
+
name: string;
|
|
109
|
+
};
|
|
110
|
+
retro: RetroInput;
|
|
111
|
+
stats: AutopilotPeriodStats | null;
|
|
112
|
+
by: string;
|
|
113
|
+
filed: Array<{
|
|
114
|
+
id: string;
|
|
115
|
+
title: string;
|
|
116
|
+
}>;
|
|
117
|
+
runTraceId: string | null;
|
|
118
|
+
}): string;
|
|
119
|
+
/**
|
|
120
|
+
* Words of a title for the dedupe (lower case, no punctuation, no short words).
|
|
121
|
+
*
|
|
122
|
+
* @param title - Title
|
|
123
|
+
* @returns Word set
|
|
124
|
+
*/
|
|
125
|
+
export declare function titleWords(title: string): Set<string>;
|
|
126
|
+
/**
|
|
127
|
+
* Word overlap of two titles (Jaccard).
|
|
128
|
+
*
|
|
129
|
+
* @param a - Title
|
|
130
|
+
* @param b - Title
|
|
131
|
+
* @returns 0..1
|
|
132
|
+
*/
|
|
133
|
+
export declare function titleSimilarity(a: string, b: string): number;
|
|
134
|
+
/**
|
|
135
|
+
* Whether a gap duplicates one of the given titles.
|
|
136
|
+
*
|
|
137
|
+
* @param title - New gap
|
|
138
|
+
* @param existing - Open ticket titles and earlier gaps
|
|
139
|
+
* @returns The duplicated title, or null
|
|
140
|
+
*/
|
|
141
|
+
export declare function duplicateOf(title: string, existing: readonly string[]): string | null;
|
|
142
|
+
/**
|
|
143
|
+
* Apply the owner's answer to a retro harness-gap ticket. Approve: drop the
|
|
144
|
+
* `retro-pending` hold and make a backlog ticket ready. Skip / no answer:
|
|
145
|
+
* cancel it only while it has not started (backlog / ready); a ticket
|
|
146
|
+
* someone already started is left alone with a Log line.
|
|
147
|
+
*
|
|
148
|
+
* @param tickets - Ticket store
|
|
149
|
+
* @param projectPath - Harness project root
|
|
150
|
+
* @param id - Ticket id
|
|
151
|
+
* @param approve - The owner approved
|
|
152
|
+
* @param note - Log note
|
|
153
|
+
* @returns What happened
|
|
154
|
+
*/
|
|
155
|
+
export declare function applyRetroGapDecision(tickets: Pick<ProjectTicketService, 'mutate'>, projectPath: string, id: string, approve: boolean, note: string): Promise<'ready' | 'cancelled' | 'left'>;
|
|
156
|
+
//# sourceMappingURL=ticket-autopilot-retro.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ticket-autopilot-retro.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/project-tickets/ticket-autopilot-retro.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Daily autopilot retro, pure parts (specs/2026-10-03-autopilot-experiments.md §4):
|
|
3
|
+
* the brief the driver gets, the retro input contract, the wiki page, and
|
|
4
|
+
* the harness-gap dedupe.
|
|
5
|
+
*
|
|
6
|
+
* @module services/project-tickets/ticket-autopilot-retro
|
|
7
|
+
*/
|
|
8
|
+
import { TICKET_AUTOPILOT_CONSTANTS } from '../../constants.js';
|
|
9
|
+
/** Words for the problem classes. */
|
|
10
|
+
export const RETRO_CLASS_LABELS = {
|
|
11
|
+
agent_judgment: 'Agent judgment',
|
|
12
|
+
missing_skill: 'Missing skill',
|
|
13
|
+
harness_gap: 'Harness gap',
|
|
14
|
+
owner_dependency: 'Owner dependency',
|
|
15
|
+
};
|
|
16
|
+
/** Words for the stall causes (same as the run timeline). */
|
|
17
|
+
const STALL_WORDS = {
|
|
18
|
+
runtime_quota: 'runtime out of usage / signed out',
|
|
19
|
+
delivery_failure: 'a message was not delivered',
|
|
20
|
+
waiting_on_owner: 'waiting on the owner',
|
|
21
|
+
waiting_on_agent: 'waiting on an agent',
|
|
22
|
+
nobody_pushing: 'nobody pushing',
|
|
23
|
+
};
|
|
24
|
+
/** A retro input error (HTTP 400). */
|
|
25
|
+
export class RetroInputError extends Error {
|
|
26
|
+
/**
|
|
27
|
+
* @param message - What is wrong
|
|
28
|
+
*/
|
|
29
|
+
constructor(message) {
|
|
30
|
+
super(message);
|
|
31
|
+
this.name = 'RetroInputError';
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Validate a retro submission.
|
|
36
|
+
*
|
|
37
|
+
* @param raw - Request body
|
|
38
|
+
* @returns The retro
|
|
39
|
+
* @throws RetroInputError with what to fix
|
|
40
|
+
*/
|
|
41
|
+
export function validateRetroInput(raw) {
|
|
42
|
+
const C = TICKET_AUTOPILOT_CONSTANTS;
|
|
43
|
+
if (!raw || typeof raw !== 'object')
|
|
44
|
+
throw new RetroInputError('Body must be {day, summary, problems: [{class, title, detail?, evidence?}]}');
|
|
45
|
+
const b = raw;
|
|
46
|
+
const day = typeof b.day === 'string' ? b.day.trim() : '';
|
|
47
|
+
if (!/^\d{4}-\d{2}-\d{2}$/.test(day))
|
|
48
|
+
throw new RetroInputError('day must be the reviewed day, YYYY-MM-DD');
|
|
49
|
+
const summary = typeof b.summary === 'string' ? b.summary.trim() : '';
|
|
50
|
+
if (summary.length < 20)
|
|
51
|
+
throw new RetroInputError('summary is required: what shipped, where it stalled and why (a few lines)');
|
|
52
|
+
if (summary.length > C.RETRO_SUMMARY_MAX_CHARS)
|
|
53
|
+
throw new RetroInputError(`summary is too long (max ${C.RETRO_SUMMARY_MAX_CHARS} characters)`);
|
|
54
|
+
const list = b.problems === undefined ? [] : b.problems;
|
|
55
|
+
if (!Array.isArray(list))
|
|
56
|
+
throw new RetroInputError('problems must be a list');
|
|
57
|
+
if (list.length > C.RETRO_MAX_PROBLEMS)
|
|
58
|
+
throw new RetroInputError(`at most ${C.RETRO_MAX_PROBLEMS} problems`);
|
|
59
|
+
const problems = list.map((p, i) => {
|
|
60
|
+
if (!p || typeof p !== 'object')
|
|
61
|
+
throw new RetroInputError(`problem ${i + 1} must be {class, title, detail?, evidence?}`);
|
|
62
|
+
const r = p;
|
|
63
|
+
const cls = typeof r.class === 'string' ? r.class.trim() : '';
|
|
64
|
+
if (!C.RETRO_CLASSES.includes(cls))
|
|
65
|
+
throw new RetroInputError(`problem ${i + 1}: class must be one of ${C.RETRO_CLASSES.join(', ')}`);
|
|
66
|
+
const title = typeof r.title === 'string' ? r.title.replace(/\s+/g, ' ').trim() : '';
|
|
67
|
+
if (title.length < C.RETRO_TITLE_MIN_CHARS || title.length > C.RETRO_TITLE_MAX_CHARS) {
|
|
68
|
+
throw new RetroInputError(`problem ${i + 1}: title must be ${C.RETRO_TITLE_MIN_CHARS}-${C.RETRO_TITLE_MAX_CHARS} characters`);
|
|
69
|
+
}
|
|
70
|
+
const detail = typeof r.detail === 'string' && r.detail.trim() ? r.detail.trim().slice(0, C.RETRO_DETAIL_MAX_CHARS) : undefined;
|
|
71
|
+
const evidence = typeof r.evidence === 'string' && r.evidence.trim() ? r.evidence.trim().slice(0, C.RETRO_DETAIL_MAX_CHARS) : undefined;
|
|
72
|
+
return { class: cls, title, ...(detail ? { detail } : {}), ...(evidence ? { evidence } : {}) };
|
|
73
|
+
});
|
|
74
|
+
return { day, summary, problems };
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Milliseconds in words ("2h 10m", "45m", "30s").
|
|
78
|
+
*
|
|
79
|
+
* @param ms - Duration
|
|
80
|
+
* @returns Text
|
|
81
|
+
*/
|
|
82
|
+
export function durationWords(ms) {
|
|
83
|
+
if (!Number.isFinite(ms) || ms <= 0)
|
|
84
|
+
return '0m';
|
|
85
|
+
const m = Math.round(ms / 60_000);
|
|
86
|
+
if (m < 1)
|
|
87
|
+
return `${Math.round(ms / 1000)}s`;
|
|
88
|
+
if (m < 60)
|
|
89
|
+
return `${m}m`;
|
|
90
|
+
const h = Math.floor(m / 60);
|
|
91
|
+
const rest = m % 60;
|
|
92
|
+
if (h < 48)
|
|
93
|
+
return rest ? `${h}h ${rest}m` : `${h}h`;
|
|
94
|
+
return `${Math.round(h / 24)}d`;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* USD in words.
|
|
98
|
+
*
|
|
99
|
+
* @param usd - Dollars
|
|
100
|
+
* @returns "$1.23"
|
|
101
|
+
*/
|
|
102
|
+
export function usdWords(usd) {
|
|
103
|
+
return `$${(Math.round(usd * 100) / 100).toFixed(2)}`;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Tokens in words.
|
|
107
|
+
*
|
|
108
|
+
* @param n - Tokens
|
|
109
|
+
* @returns "1.2M" / "34k" / "900"
|
|
110
|
+
*/
|
|
111
|
+
export function tokenWords(n) {
|
|
112
|
+
if (n >= 1_000_000)
|
|
113
|
+
return `${(Math.round(n / 100_000) / 10).toString()}M`;
|
|
114
|
+
if (n >= 1_000)
|
|
115
|
+
return `${Math.round(n / 1_000)}k`;
|
|
116
|
+
return String(Math.round(n));
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* The top stall causes of a period, longest first.
|
|
120
|
+
*
|
|
121
|
+
* @param s - Period stats
|
|
122
|
+
* @param max - How many
|
|
123
|
+
* @returns e.g. ["waiting on the owner: 2 (3h 5m)"]
|
|
124
|
+
*/
|
|
125
|
+
export function topStallCauses(s, max = 3) {
|
|
126
|
+
return Object.entries(s.stalls.byCause)
|
|
127
|
+
.filter(([, v]) => v.count > 0)
|
|
128
|
+
.sort((a, b) => b[1].ms - a[1].ms || b[1].count - a[1].count)
|
|
129
|
+
.slice(0, max)
|
|
130
|
+
.map(([cause, v]) => `${STALL_WORDS[cause]}: ${v.count} (${durationWords(v.ms)})`);
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* A period's numbers as a few short lines.
|
|
134
|
+
*
|
|
135
|
+
* @param s - Period stats
|
|
136
|
+
* @returns Lines
|
|
137
|
+
*/
|
|
138
|
+
export function statsLines(s) {
|
|
139
|
+
const lines = [
|
|
140
|
+
`Tickets: ${s.triaged} triaged, ${s.started} started, ${s.done} done, ${s.verified} verified, ${s.sentBack} sent back, ${s.stalled} stalled`,
|
|
141
|
+
`Cycle time: start → done median ${s.cycleTime.toDone.medianMs === null ? 'n/a' : durationWords(s.cycleTime.toDone.medianMs)}, start → verified median ${s.cycleTime.toVerified.medianMs === null ? 'n/a' : durationWords(s.cycleTime.toVerified.medianMs)}`,
|
|
142
|
+
`Owner touches: ${s.ownerTouches.total} (answered ${s.ownerTouches.answered}, approved ${s.ownerTouches.approved}, sent back ${s.ownerTouches.sentBack}, corrected ${s.ownerTouches.corrected})`,
|
|
143
|
+
`Stalls: ${s.stalls.count} (${durationWords(s.stalls.totalMs)})${s.stalls.count > 0 ? ` — ${topStallCauses(s).join('; ')}` : ''}`,
|
|
144
|
+
`Harness interventions: ${s.interventions.total} (nudges ${s.interventions.nudges}, redeliveries ${s.interventions.redeliveries}, wakes ${s.interventions.wakes}, corrections ${s.interventions.corrections}, refusals ${s.interventions.guardBlocks}, misroutes ${s.interventions.misroutes})`,
|
|
145
|
+
`Cost: ${tokenWords(s.tokens)} tokens traced, ${usdWords(s.costUsd)}; team ledger ${tokenWords(s.budget.ledgerTokens)} of ${tokenWords(s.budget.dailyBudgetTokens)} budget (${Math.round(s.budget.pct * 100)}%)${s.pausedMs > 0 ? `; paused on the budget ${durationWords(s.pausedMs)}` : ''}`,
|
|
146
|
+
];
|
|
147
|
+
return lines;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* The brief of the daily retro WorkItem.
|
|
151
|
+
*
|
|
152
|
+
* @param input - Project, day, stats, traces
|
|
153
|
+
* @returns Markdown
|
|
154
|
+
*/
|
|
155
|
+
export function buildRetroBrief(input) {
|
|
156
|
+
const { project, day, stats } = input;
|
|
157
|
+
const ref = project.id;
|
|
158
|
+
const traceLines = input.traces.length
|
|
159
|
+
? input.traces.map((t) => `- ${t.title} — \`bash $AGENT_SKILLS_PATH/core/trace-read/execute.sh --trace ${t.traceId}\``)
|
|
160
|
+
: ['- (no traces)'];
|
|
161
|
+
return [
|
|
162
|
+
`# Autopilot retro: ${project.name}, ${day}`,
|
|
163
|
+
'',
|
|
164
|
+
`Review yesterday's autopilot run of ${project.name} and file a short retro. The numbers below come from the run traces.`,
|
|
165
|
+
'',
|
|
166
|
+
'## Numbers',
|
|
167
|
+
'',
|
|
168
|
+
...statsLines(stats).map((l) => `- ${l}`),
|
|
169
|
+
'',
|
|
170
|
+
'## Traces',
|
|
171
|
+
'',
|
|
172
|
+
...traceLines,
|
|
173
|
+
'',
|
|
174
|
+
'Read the run trace first, then the tickets that stalled, were sent back or cost the most. Keep each read short (`--max-chars 3000`).',
|
|
175
|
+
'',
|
|
176
|
+
'## What to write',
|
|
177
|
+
'',
|
|
178
|
+
'1. A few lines: what shipped, where it stalled and why.',
|
|
179
|
+
'2. Each problem with ONE class:',
|
|
180
|
+
' - `agent_judgment` — an agent chose badly (wrong owner, skipped a check, wrong scope);',
|
|
181
|
+
' - `missing_skill` — an agent lacked a skill or tool it needed;',
|
|
182
|
+
' - `harness_gap` — Crewly itself got in the way or failed to help (lost message, missed wake, wrong routing, missing guard);',
|
|
183
|
+
' - `owner_dependency` — the work waited on the owner.',
|
|
184
|
+
' Give evidence (trace ids, ticket ids, the event line).',
|
|
185
|
+
'',
|
|
186
|
+
'## Submit',
|
|
187
|
+
'',
|
|
188
|
+
'```bash',
|
|
189
|
+
`bash $AGENT_SKILLS_PATH/core/project-tickets/execute.sh retro --project ${ref} --day ${day} \\`,
|
|
190
|
+
' --summary "Shipped CE-12 and CE-14. CE-15 stalled 3h waiting on the owner for the copy." \\',
|
|
191
|
+
' --problem "owner_dependency|CE-15 waited 3h for copy approval|Decision D-40 open 3h|tr-…" \\',
|
|
192
|
+
' --problem "harness_gap|Triage brief listed a stopped member as busy||tr-…"',
|
|
193
|
+
'```',
|
|
194
|
+
'',
|
|
195
|
+
'Crewly writes the retro to the project wiki. Harness gaps become backlog tickets on the Crewly project; the owner approves them with one card (deduplicated, at most 3 a day). Do not file them yourself.',
|
|
196
|
+
'',
|
|
197
|
+
'Then complete this WorkItem (no verification).',
|
|
198
|
+
].join('\n');
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* The retro's wiki page.
|
|
202
|
+
*
|
|
203
|
+
* @param input - Project, retro, the day's stats, filed tickets
|
|
204
|
+
* @returns Markdown
|
|
205
|
+
*/
|
|
206
|
+
export function renderRetroMarkdown(input) {
|
|
207
|
+
const { retro } = input;
|
|
208
|
+
const out = [`# Autopilot retro — ${input.project.name} — ${retro.day}`, '', `Filed by ${input.by}.`, '', '## Summary', '', retro.summary, ''];
|
|
209
|
+
if (input.stats)
|
|
210
|
+
out.push('## Numbers', '', ...statsLines(input.stats).map((l) => `- ${l}`), '');
|
|
211
|
+
out.push('## Problems', '');
|
|
212
|
+
if (retro.problems.length === 0)
|
|
213
|
+
out.push('None found.', '');
|
|
214
|
+
for (const cls of TICKET_AUTOPILOT_CONSTANTS.RETRO_CLASSES) {
|
|
215
|
+
const items = retro.problems.filter((p) => p.class === cls);
|
|
216
|
+
if (items.length === 0)
|
|
217
|
+
continue;
|
|
218
|
+
out.push(`### ${RETRO_CLASS_LABELS[cls]}`, '');
|
|
219
|
+
for (const p of items) {
|
|
220
|
+
out.push(`- **${p.title}**${p.detail ? ` — ${p.detail}` : ''}${p.evidence ? ` (evidence: ${p.evidence})` : ''}`);
|
|
221
|
+
}
|
|
222
|
+
out.push('');
|
|
223
|
+
}
|
|
224
|
+
if (input.filed.length > 0) {
|
|
225
|
+
out.push('## Harness-gap tickets', '', ...input.filed.map((t) => `- ${t.id}: ${t.title} (waiting for the owner's OK)`), '');
|
|
226
|
+
}
|
|
227
|
+
if (input.runTraceId)
|
|
228
|
+
out.push(`Run trace: \`${input.runTraceId}\``, '');
|
|
229
|
+
return out.join('\n');
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Words of a title for the dedupe (lower case, no punctuation, no short words).
|
|
233
|
+
*
|
|
234
|
+
* @param title - Title
|
|
235
|
+
* @returns Word set
|
|
236
|
+
*/
|
|
237
|
+
export function titleWords(title) {
|
|
238
|
+
return new Set(title
|
|
239
|
+
.toLowerCase()
|
|
240
|
+
.replace(/[^\p{L}\p{N}\s-]/gu, ' ')
|
|
241
|
+
.split(/\s+/)
|
|
242
|
+
.filter((w) => w.length > 2));
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Word overlap of two titles (Jaccard).
|
|
246
|
+
*
|
|
247
|
+
* @param a - Title
|
|
248
|
+
* @param b - Title
|
|
249
|
+
* @returns 0..1
|
|
250
|
+
*/
|
|
251
|
+
export function titleSimilarity(a, b) {
|
|
252
|
+
const x = titleWords(a);
|
|
253
|
+
const y = titleWords(b);
|
|
254
|
+
if (x.size === 0 || y.size === 0)
|
|
255
|
+
return a.trim().toLowerCase() === b.trim().toLowerCase() ? 1 : 0;
|
|
256
|
+
let common = 0;
|
|
257
|
+
for (const w of x)
|
|
258
|
+
if (y.has(w))
|
|
259
|
+
common += 1;
|
|
260
|
+
return common / (x.size + y.size - common);
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Whether a gap duplicates one of the given titles.
|
|
264
|
+
*
|
|
265
|
+
* @param title - New gap
|
|
266
|
+
* @param existing - Open ticket titles and earlier gaps
|
|
267
|
+
* @returns The duplicated title, or null
|
|
268
|
+
*/
|
|
269
|
+
export function duplicateOf(title, existing) {
|
|
270
|
+
for (const t of existing)
|
|
271
|
+
if (titleSimilarity(title, t) >= TICKET_AUTOPILOT_CONSTANTS.RETRO_DEDUPE_SIMILARITY)
|
|
272
|
+
return t;
|
|
273
|
+
return null;
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Apply the owner's answer to a retro harness-gap ticket. Approve: drop the
|
|
277
|
+
* `retro-pending` hold and make a backlog ticket ready. Skip / no answer:
|
|
278
|
+
* cancel it only while it has not started (backlog / ready); a ticket
|
|
279
|
+
* someone already started is left alone with a Log line.
|
|
280
|
+
*
|
|
281
|
+
* @param tickets - Ticket store
|
|
282
|
+
* @param projectPath - Harness project root
|
|
283
|
+
* @param id - Ticket id
|
|
284
|
+
* @param approve - The owner approved
|
|
285
|
+
* @param note - Log note
|
|
286
|
+
* @returns What happened
|
|
287
|
+
*/
|
|
288
|
+
export async function applyRetroGapDecision(tickets, projectPath, id, approve, note) {
|
|
289
|
+
let outcome = 'left';
|
|
290
|
+
const hold = TICKET_AUTOPILOT_CONSTANTS.RETRO_PENDING_LABEL;
|
|
291
|
+
await tickets.mutate(projectPath, id, 'owner', (t) => {
|
|
292
|
+
const labels = t.labels.filter((l) => l !== hold);
|
|
293
|
+
if (approve) {
|
|
294
|
+
if (t.status === 'backlog') {
|
|
295
|
+
outcome = 'ready';
|
|
296
|
+
return { fields: { labels, status: 'ready' }, log: [`backlog → ready — ${note}`] };
|
|
297
|
+
}
|
|
298
|
+
return { fields: { labels }, log: [note] };
|
|
299
|
+
}
|
|
300
|
+
if (t.status === 'backlog' || t.status === 'ready') {
|
|
301
|
+
outcome = 'cancelled';
|
|
302
|
+
return { fields: { labels, status: 'cancelled', assignee: null, workItemId: null }, log: [`${t.status} → cancelled — ${note}`] };
|
|
303
|
+
}
|
|
304
|
+
return { log: [`${note}; left as ${t.status} because work already started`] };
|
|
305
|
+
});
|
|
306
|
+
return outcome;
|
|
307
|
+
}
|
|
308
|
+
//# sourceMappingURL=ticket-autopilot-retro.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ticket-autopilot-retro.js","sourceRoot":"","sources":["../../../../../../backend/src/services/project-tickets/ticket-autopilot-retro.ts"],"names":[],"mappings":"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"}
|