crewly 1.20.163 → 1.20.164
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/roles/orchestrator/prompt.md +2 -0
- package/config/roles/team-leader/prompt.md +2 -0
- package/config/roles/team-leader/tl-addon.md +2 -0
- package/config/skills/agent/core/project-tickets/SKILL.md +4 -0
- package/config/skills/orchestrator/set-team-lead/SKILL.md +58 -0
- package/config/skills/orchestrator/set-team-lead/execute.sh +46 -0
- package/config/skills/orchestrator/set-team-lead/execute.test.sh +77 -0
- package/dist/backend/backend/src/constants.d.ts +31 -1
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +39 -2
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts +1 -1
- 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 +6 -1
- package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.d.ts +15 -0
- package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.js +110 -15
- package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.routes.js +3 -1
- package/dist/backend/backend/src/controllers/team/team.routes.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +9 -15
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/models/Team.d.ts.map +1 -1
- package/dist/backend/backend/src/models/Team.js +5 -9
- package/dist/backend/backend/src/models/Team.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 +20 -28
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts +26 -0
- package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/idle-detection.service.js +43 -0
- package/dist/backend/backend/src/services/agent/idle-detection.service.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts +18 -6
- package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-builder.service.js +21 -23
- package/dist/backend/backend/src/services/ai/prompt-builder.service.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/huddle-leader.d.ts +23 -0
- package/dist/backend/backend/src/services/chat-v2/huddle-leader.d.ts.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/huddle-leader.js +37 -0
- package/dist/backend/backend/src/services/chat-v2/huddle-leader.js.map +1 -0
- package/dist/backend/backend/src/services/core/storage.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/core/storage.service.js +3 -0
- package/dist/backend/backend/src/services/core/storage.service.js.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.d.ts +28 -7
- 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 +51 -15
- package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.js.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-assignee-waker.d.ts +70 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-assignee-waker.d.ts.map +1 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-assignee-waker.js +64 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-assignee-waker.js.map +1 -0
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.d.ts +24 -0
- 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 +38 -1
- 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-messages.d.ts +14 -2
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.js +33 -3
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.js.map +1 -1
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.d.ts +13 -2
- 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 +43 -12
- package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-instance-registry.service.js +2 -2
- package/dist/backend/backend/src/services/slack/slack-instance-registry.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts +10 -1
- 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 +19 -8
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
- package/dist/backend/backend/src/services/team-health/live-team-health-data-provider.d.ts.map +1 -1
- package/dist/backend/backend/src/services/team-health/live-team-health-data-provider.js +4 -3
- package/dist/backend/backend/src/services/team-health/live-team-health-data-provider.js.map +1 -1
- package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.boot.d.ts +4 -3
- 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.boot.js +6 -7
- package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.boot.js.map +1 -1
- package/dist/backend/backend/src/services/wiki/wiki-owner.resolver.d.ts.map +1 -1
- package/dist/backend/backend/src/services/wiki/wiki-owner.resolver.js +2 -1
- package/dist/backend/backend/src/services/wiki/wiki-owner.resolver.js.map +1 -1
- package/dist/backend/backend/src/types/index.d.ts +3 -2
- package/dist/backend/backend/src/types/index.d.ts.map +1 -1
- package/dist/backend/backend/src/types/index.js.map +1 -1
- package/dist/backend/backend/src/utils/defaultPrompts.d.ts.map +1 -1
- package/dist/backend/backend/src/utils/defaultPrompts.js +8 -0
- package/dist/backend/backend/src/utils/defaultPrompts.js.map +1 -1
- package/dist/backend/backend/src/utils/member-default-model.utils.d.ts +5 -5
- package/dist/backend/backend/src/utils/member-default-model.utils.d.ts.map +1 -1
- package/dist/backend/backend/src/utils/member-default-model.utils.js +4 -4
- package/dist/backend/backend/src/utils/member-default-model.utils.js.map +1 -1
- package/dist/backend/backend/src/utils/team.utils.d.ts +129 -18
- package/dist/backend/backend/src/utils/team.utils.d.ts.map +1 -1
- package/dist/backend/backend/src/utils/team.utils.js +240 -28
- package/dist/backend/backend/src/utils/team.utils.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +31 -1
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +39 -2
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/models/Team.d.ts.map +1 -1
- package/dist/cli/backend/src/models/Team.js +5 -9
- package/dist/cli/backend/src/models/Team.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 +20 -28
- package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/cli/backend/src/services/ai/prompt-builder.service.d.ts +18 -6
- package/dist/cli/backend/src/services/ai/prompt-builder.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/ai/prompt-builder.service.js +21 -23
- package/dist/cli/backend/src/services/ai/prompt-builder.service.js.map +1 -1
- package/dist/cli/backend/src/services/core/storage.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/core/storage.service.js +3 -0
- package/dist/cli/backend/src/services/core/storage.service.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts +10 -1
- 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 +19 -8
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
- package/dist/cli/backend/src/types/index.d.ts +3 -2
- package/dist/cli/backend/src/types/index.d.ts.map +1 -1
- package/dist/cli/backend/src/types/index.js.map +1 -1
- package/dist/cli/backend/src/utils/member-default-model.utils.d.ts +5 -5
- package/dist/cli/backend/src/utils/member-default-model.utils.d.ts.map +1 -1
- package/dist/cli/backend/src/utils/member-default-model.utils.js +4 -4
- package/dist/cli/backend/src/utils/member-default-model.utils.js.map +1 -1
- package/dist/cli/backend/src/utils/team.utils.d.ts +129 -18
- package/dist/cli/backend/src/utils/team.utils.d.ts.map +1 -1
- package/dist/cli/backend/src/utils/team.utils.js +240 -28
- package/dist/cli/backend/src/utils/team.utils.js.map +1 -1
- package/frontend/dist/assets/{index-64c8a616.js → index-9153caca.js} +263 -263
- package/frontend/dist/index.html +1 -1
- package/package.json +1 -1
|
@@ -129,6 +129,7 @@ import { FissionGuardService, createFailOpenBudgetChecker } from './services/fis
|
|
|
129
129
|
import { BudgetService } from './services/autonomous/budget.service.js';
|
|
130
130
|
import { setFissionGuardService } from './controllers/fission/fission.controller.js';
|
|
131
131
|
import { TaskPoolService } from './services/task-pool/task-pool.service.js';
|
|
132
|
+
import { PENDING_WORK_STATUSES } from './services/agent/idle-detection.service.js';
|
|
132
133
|
import { WorkItemWorktreeService } from './services/worktree/workitem-worktree.service.js';
|
|
133
134
|
import { WorkItemWorktreeSubscriber, createTerminalNotifier } from './services/worktree/workitem-worktree.subscriber.js';
|
|
134
135
|
import { sessionsToRestore } from './services/agent/restore-filter.js';
|
|
@@ -1687,6 +1688,12 @@ export class CrewlyServer {
|
|
|
1687
1688
|
this.logger.info('Starting idle detection service...');
|
|
1688
1689
|
const idleDetection = IdleDetectionService.getInstance();
|
|
1689
1690
|
idleDetection.setAgentRegistrationService(this.apiController.agentRegistrationService);
|
|
1691
|
+
// An agent with work queued for it (e.g. a ticket just assigned to a
|
|
1692
|
+
// member that was started for it) is never idle-stopped.
|
|
1693
|
+
idleDetection.setPendingWorkCheck(async (sessionName) => {
|
|
1694
|
+
const items = await TaskPoolService.getInstance().getAllItems();
|
|
1695
|
+
return items.some((wi) => wi.target === sessionName && PENDING_WORK_STATUSES.has(wi.status));
|
|
1696
|
+
});
|
|
1690
1697
|
idleDetection.start();
|
|
1691
1698
|
// Wire OrchestratorRestartService with dependencies for auto-restart
|
|
1692
1699
|
try {
|
|
@@ -1953,21 +1960,8 @@ export class CrewlyServer {
|
|
|
1953
1960
|
const members = new Set(chatService.queryHuddleMembersForDispatch(channelId));
|
|
1954
1961
|
if (members.size === 0)
|
|
1955
1962
|
return null;
|
|
1956
|
-
const
|
|
1957
|
-
|
|
1958
|
-
for (const team of teams) {
|
|
1959
|
-
// An idle member has no stored sessionName (cleared on stop);
|
|
1960
|
-
// match on the derived name or a stopped leader is invisible
|
|
1961
|
-
// and the message is silently dropped (#claude-login, 2026-09-19).
|
|
1962
|
-
const roster = (team.members ?? [])
|
|
1963
|
-
.map((m) => ({ m, session: resolveMemberSessionName(team.name, m) }))
|
|
1964
|
-
.filter(({ session }) => session && members.has(session));
|
|
1965
|
-
if (roster.length === 0)
|
|
1966
|
-
continue;
|
|
1967
|
-
const leader = roster.find(({ m }) => m.role === 'team-leader') ?? roster[0];
|
|
1968
|
-
return leader?.session ?? null;
|
|
1969
|
-
}
|
|
1970
|
-
return null;
|
|
1963
|
+
const { resolveHuddleLeader } = await import('./services/chat-v2/huddle-leader.js');
|
|
1964
|
+
return resolveHuddleLeader(await this.storageService.getTeams(), members);
|
|
1971
1965
|
},
|
|
1972
1966
|
// Activate-on-send: messaging an offline agent wakes it, then
|
|
1973
1967
|
// the dispatcher retries delivery. User-initiated, so it uses
|