fleet-commander-ai 0.0.1
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/LICENSE +202 -0
- package/README.md +159 -0
- package/bin/fleet-commander-mcp.js +27 -0
- package/bin/fleet-commander.js +22 -0
- package/dist/client/assets/index-CHukC8Hq.js +188 -0
- package/dist/client/assets/index-CHukC8Hq.js.map +1 -0
- package/dist/client/assets/index-DvMjcYbg.css +1 -0
- package/dist/client/index.html +13 -0
- package/dist/server/config.d.ts +51 -0
- package/dist/server/config.d.ts.map +1 -0
- package/dist/server/config.js +104 -0
- package/dist/server/config.js.map +1 -0
- package/dist/server/db.d.ts +388 -0
- package/dist/server/db.d.ts.map +1 -0
- package/dist/server/db.js +1524 -0
- package/dist/server/db.js.map +1 -0
- package/dist/server/index.d.ts +2 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +162 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/mcp/index.d.ts +2 -0
- package/dist/server/mcp/index.d.ts.map +1 -0
- package/dist/server/mcp/index.js +112 -0
- package/dist/server/mcp/index.js.map +1 -0
- package/dist/server/mcp/tools/add-project.d.ts +9 -0
- package/dist/server/mcp/tools/add-project.d.ts.map +1 -0
- package/dist/server/mcp/tools/add-project.js +58 -0
- package/dist/server/mcp/tools/add-project.js.map +1 -0
- package/dist/server/mcp/tools/get-team-timeline.d.ts +9 -0
- package/dist/server/mcp/tools/get-team-timeline.d.ts.map +1 -0
- package/dist/server/mcp/tools/get-team-timeline.js +48 -0
- package/dist/server/mcp/tools/get-team-timeline.js.map +1 -0
- package/dist/server/mcp/tools/get-team.d.ts +9 -0
- package/dist/server/mcp/tools/get-team.d.ts.map +1 -0
- package/dist/server/mcp/tools/get-team.js +48 -0
- package/dist/server/mcp/tools/get-team.js.map +1 -0
- package/dist/server/mcp/tools/get-usage.d.ts +9 -0
- package/dist/server/mcp/tools/get-usage.d.ts.map +1 -0
- package/dist/server/mcp/tools/get-usage.js +33 -0
- package/dist/server/mcp/tools/get-usage.js.map +1 -0
- package/dist/server/mcp/tools/launch-team.d.ts +8 -0
- package/dist/server/mcp/tools/launch-team.d.ts.map +1 -0
- package/dist/server/mcp/tools/launch-team.js +49 -0
- package/dist/server/mcp/tools/launch-team.js.map +1 -0
- package/dist/server/mcp/tools/list-issues.d.ts +9 -0
- package/dist/server/mcp/tools/list-issues.d.ts.map +1 -0
- package/dist/server/mcp/tools/list-issues.js +47 -0
- package/dist/server/mcp/tools/list-issues.js.map +1 -0
- package/dist/server/mcp/tools/list-projects.d.ts +9 -0
- package/dist/server/mcp/tools/list-projects.d.ts.map +1 -0
- package/dist/server/mcp/tools/list-projects.js +32 -0
- package/dist/server/mcp/tools/list-projects.js.map +1 -0
- package/dist/server/mcp/tools/list-teams.d.ts +9 -0
- package/dist/server/mcp/tools/list-teams.d.ts.map +1 -0
- package/dist/server/mcp/tools/list-teams.js +43 -0
- package/dist/server/mcp/tools/list-teams.js.map +1 -0
- package/dist/server/mcp/tools/restart-team.d.ts +8 -0
- package/dist/server/mcp/tools/restart-team.d.ts.map +1 -0
- package/dist/server/mcp/tools/restart-team.js +46 -0
- package/dist/server/mcp/tools/restart-team.js.map +1 -0
- package/dist/server/mcp/tools/send-message.d.ts +9 -0
- package/dist/server/mcp/tools/send-message.d.ts.map +1 -0
- package/dist/server/mcp/tools/send-message.js +48 -0
- package/dist/server/mcp/tools/send-message.js.map +1 -0
- package/dist/server/mcp/tools/stop-team.d.ts +8 -0
- package/dist/server/mcp/tools/stop-team.d.ts.map +1 -0
- package/dist/server/mcp/tools/stop-team.js +46 -0
- package/dist/server/mcp/tools/stop-team.js.map +1 -0
- package/dist/server/mcp/tools/system-health.d.ts +9 -0
- package/dist/server/mcp/tools/system-health.d.ts.map +1 -0
- package/dist/server/mcp/tools/system-health.js +32 -0
- package/dist/server/mcp/tools/system-health.js.map +1 -0
- package/dist/server/middleware/error-handler.d.ts +32 -0
- package/dist/server/middleware/error-handler.d.ts.map +1 -0
- package/dist/server/middleware/error-handler.js +65 -0
- package/dist/server/middleware/error-handler.js.map +1 -0
- package/dist/server/routes/events.d.ts +16 -0
- package/dist/server/routes/events.d.ts.map +1 -0
- package/dist/server/routes/events.js +164 -0
- package/dist/server/routes/events.js.map +1 -0
- package/dist/server/routes/issues.d.ts +4 -0
- package/dist/server/routes/issues.d.ts.map +1 -0
- package/dist/server/routes/issues.js +198 -0
- package/dist/server/routes/issues.js.map +1 -0
- package/dist/server/routes/project-groups.d.ts +4 -0
- package/dist/server/routes/project-groups.d.ts.map +1 -0
- package/dist/server/routes/project-groups.js +124 -0
- package/dist/server/routes/project-groups.js.map +1 -0
- package/dist/server/routes/projects.d.ts +4 -0
- package/dist/server/routes/projects.d.ts.map +1 -0
- package/dist/server/routes/projects.js +319 -0
- package/dist/server/routes/projects.js.map +1 -0
- package/dist/server/routes/prs.d.ts +4 -0
- package/dist/server/routes/prs.d.ts.map +1 -0
- package/dist/server/routes/prs.js +186 -0
- package/dist/server/routes/prs.js.map +1 -0
- package/dist/server/routes/query.d.ts +4 -0
- package/dist/server/routes/query.d.ts.map +1 -0
- package/dist/server/routes/query.js +82 -0
- package/dist/server/routes/query.js.map +1 -0
- package/dist/server/routes/state-machine.d.ts +4 -0
- package/dist/server/routes/state-machine.d.ts.map +1 -0
- package/dist/server/routes/state-machine.js +86 -0
- package/dist/server/routes/state-machine.js.map +1 -0
- package/dist/server/routes/stream.d.ts +18 -0
- package/dist/server/routes/stream.d.ts.map +1 -0
- package/dist/server/routes/stream.js +62 -0
- package/dist/server/routes/stream.js.map +1 -0
- package/dist/server/routes/system.d.ts +4 -0
- package/dist/server/routes/system.d.ts.map +1 -0
- package/dist/server/routes/system.js +225 -0
- package/dist/server/routes/system.js.map +1 -0
- package/dist/server/routes/teams.d.ts +4 -0
- package/dist/server/routes/teams.d.ts.map +1 -0
- package/dist/server/routes/teams.js +570 -0
- package/dist/server/routes/teams.js.map +1 -0
- package/dist/server/routes/usage.d.ts +4 -0
- package/dist/server/routes/usage.d.ts.map +1 -0
- package/dist/server/routes/usage.js +80 -0
- package/dist/server/routes/usage.js.map +1 -0
- package/dist/server/schema.sql +267 -0
- package/dist/server/services/cc-query.d.ts +20 -0
- package/dist/server/services/cc-query.d.ts.map +1 -0
- package/dist/server/services/cc-query.js +352 -0
- package/dist/server/services/cc-query.js.map +1 -0
- package/dist/server/services/cleanup.d.ts +15 -0
- package/dist/server/services/cleanup.d.ts.map +1 -0
- package/dist/server/services/cleanup.js +232 -0
- package/dist/server/services/cleanup.js.map +1 -0
- package/dist/server/services/diagnostics-service.d.ts +85 -0
- package/dist/server/services/diagnostics-service.d.ts.map +1 -0
- package/dist/server/services/diagnostics-service.js +242 -0
- package/dist/server/services/diagnostics-service.js.map +1 -0
- package/dist/server/services/event-collector.d.ts +125 -0
- package/dist/server/services/event-collector.d.ts.map +1 -0
- package/dist/server/services/event-collector.js +299 -0
- package/dist/server/services/event-collector.js.map +1 -0
- package/dist/server/services/event-service.d.ts +22 -0
- package/dist/server/services/event-service.d.ts.map +1 -0
- package/dist/server/services/event-service.js +53 -0
- package/dist/server/services/event-service.js.map +1 -0
- package/dist/server/services/github-poller.d.ts +68 -0
- package/dist/server/services/github-poller.d.ts.map +1 -0
- package/dist/server/services/github-poller.js +563 -0
- package/dist/server/services/github-poller.js.map +1 -0
- package/dist/server/services/issue-fetcher.d.ts +231 -0
- package/dist/server/services/issue-fetcher.d.ts.map +1 -0
- package/dist/server/services/issue-fetcher.js +1053 -0
- package/dist/server/services/issue-fetcher.js.map +1 -0
- package/dist/server/services/issue-service.d.ts +102 -0
- package/dist/server/services/issue-service.d.ts.map +1 -0
- package/dist/server/services/issue-service.js +279 -0
- package/dist/server/services/issue-service.js.map +1 -0
- package/dist/server/services/message-template-service.d.ts +39 -0
- package/dist/server/services/message-template-service.d.ts.map +1 -0
- package/dist/server/services/message-template-service.js +87 -0
- package/dist/server/services/message-template-service.js.map +1 -0
- package/dist/server/services/pr-service.d.ts +73 -0
- package/dist/server/services/pr-service.d.ts.map +1 -0
- package/dist/server/services/pr-service.js +231 -0
- package/dist/server/services/pr-service.js.map +1 -0
- package/dist/server/services/project-group-service.d.ts +64 -0
- package/dist/server/services/project-group-service.d.ts.map +1 -0
- package/dist/server/services/project-group-service.js +149 -0
- package/dist/server/services/project-group-service.js.map +1 -0
- package/dist/server/services/project-service.d.ts +161 -0
- package/dist/server/services/project-service.d.ts.map +1 -0
- package/dist/server/services/project-service.js +623 -0
- package/dist/server/services/project-service.js.map +1 -0
- package/dist/server/services/service-error.d.ts +25 -0
- package/dist/server/services/service-error.d.ts.map +1 -0
- package/dist/server/services/service-error.js +49 -0
- package/dist/server/services/service-error.js.map +1 -0
- package/dist/server/services/sse-broker.d.ts +144 -0
- package/dist/server/services/sse-broker.d.ts.map +1 -0
- package/dist/server/services/sse-broker.js +111 -0
- package/dist/server/services/sse-broker.js.map +1 -0
- package/dist/server/services/startup-recovery.d.ts +10 -0
- package/dist/server/services/startup-recovery.d.ts.map +1 -0
- package/dist/server/services/startup-recovery.js +122 -0
- package/dist/server/services/startup-recovery.js.map +1 -0
- package/dist/server/services/stuck-detector.d.ts +20 -0
- package/dist/server/services/stuck-detector.d.ts.map +1 -0
- package/dist/server/services/stuck-detector.js +167 -0
- package/dist/server/services/stuck-detector.js.map +1 -0
- package/dist/server/services/stuck-detector.test.d.ts +2 -0
- package/dist/server/services/stuck-detector.test.d.ts.map +1 -0
- package/dist/server/services/stuck-detector.test.js +363 -0
- package/dist/server/services/stuck-detector.test.js.map +1 -0
- package/dist/server/services/team-manager.d.ts +188 -0
- package/dist/server/services/team-manager.d.ts.map +1 -0
- package/dist/server/services/team-manager.js +1869 -0
- package/dist/server/services/team-manager.js.map +1 -0
- package/dist/server/services/team-service.d.ts +251 -0
- package/dist/server/services/team-service.d.ts.map +1 -0
- package/dist/server/services/team-service.js +707 -0
- package/dist/server/services/team-service.js.map +1 -0
- package/dist/server/services/usage-service.d.ts +42 -0
- package/dist/server/services/usage-service.d.ts.map +1 -0
- package/dist/server/services/usage-service.js +101 -0
- package/dist/server/services/usage-service.js.map +1 -0
- package/dist/server/services/usage-tracker.d.ts +68 -0
- package/dist/server/services/usage-tracker.d.ts.map +1 -0
- package/dist/server/services/usage-tracker.js +220 -0
- package/dist/server/services/usage-tracker.js.map +1 -0
- package/dist/server/utils/build-timeline.d.ts +32 -0
- package/dist/server/utils/build-timeline.d.ts.map +1 -0
- package/dist/server/utils/build-timeline.js +142 -0
- package/dist/server/utils/build-timeline.js.map +1 -0
- package/dist/server/utils/find-git-bash.d.ts +10 -0
- package/dist/server/utils/find-git-bash.d.ts.map +1 -0
- package/dist/server/utils/find-git-bash.js +46 -0
- package/dist/server/utils/find-git-bash.js.map +1 -0
- package/dist/server/utils/hook-installer.d.ts +20 -0
- package/dist/server/utils/hook-installer.d.ts.map +1 -0
- package/dist/server/utils/hook-installer.js +90 -0
- package/dist/server/utils/hook-installer.js.map +1 -0
- package/dist/server/utils/process-utils.d.ts +10 -0
- package/dist/server/utils/process-utils.d.ts.map +1 -0
- package/dist/server/utils/process-utils.js +33 -0
- package/dist/server/utils/process-utils.js.map +1 -0
- package/dist/server/utils/resolve-claude-path.d.ts +4 -0
- package/dist/server/utils/resolve-claude-path.d.ts.map +1 -0
- package/dist/server/utils/resolve-claude-path.js +66 -0
- package/dist/server/utils/resolve-claude-path.js.map +1 -0
- package/dist/server/utils/resolve-message.d.ts +10 -0
- package/dist/server/utils/resolve-message.d.ts.map +1 -0
- package/dist/server/utils/resolve-message.js +27 -0
- package/dist/server/utils/resolve-message.js.map +1 -0
- package/dist/shared/message-templates.d.ts +9 -0
- package/dist/shared/message-templates.d.ts.map +1 -0
- package/dist/shared/message-templates.js +88 -0
- package/dist/shared/message-templates.js.map +1 -0
- package/dist/shared/state-machine.d.ts +28 -0
- package/dist/shared/state-machine.d.ts.map +1 -0
- package/dist/shared/state-machine.js +282 -0
- package/dist/shared/state-machine.js.map +1 -0
- package/dist/shared/types.d.ts +404 -0
- package/dist/shared/types.d.ts.map +1 -0
- package/dist/shared/types.js +5 -0
- package/dist/shared/types.js.map +1 -0
- package/hooks/DESIGN.md +562 -0
- package/hooks/on_notification.sh +9 -0
- package/hooks/on_post_tool_use.sh +9 -0
- package/hooks/on_pre_compact.sh +10 -0
- package/hooks/on_session_end.sh +8 -0
- package/hooks/on_session_start.sh +8 -0
- package/hooks/on_stop.sh +8 -0
- package/hooks/on_stop_failure.sh +8 -0
- package/hooks/on_subagent_start.sh +8 -0
- package/hooks/on_subagent_stop.sh +8 -0
- package/hooks/on_teammate_idle.sh +8 -0
- package/hooks/on_tool_error.sh +8 -0
- package/hooks/send_event.sh +101 -0
- package/hooks/settings.json.example +120 -0
- package/package.json +93 -0
- package/prompts/default-prompt.md +16 -0
- package/scripts/install.ps1 +22 -0
- package/scripts/install.sh +229 -0
- package/scripts/launch.js +64 -0
- package/scripts/uninstall.ps1 +22 -0
- package/scripts/uninstall.sh +123 -0
- package/templates/agents/fleet-dev.md +162 -0
- package/templates/agents/fleet-planner.md +263 -0
- package/templates/agents/fleet-reviewer.md +309 -0
- package/templates/archive/fleet-coordinator.md +128 -0
- package/templates/archive/fleet-dev-csharp.md +74 -0
- package/templates/archive/fleet-dev-devops.md +76 -0
- package/templates/archive/fleet-dev-fsharp.md +83 -0
- package/templates/archive/fleet-dev-generic.md +64 -0
- package/templates/archive/fleet-dev-python.md +75 -0
- package/templates/archive/fleet-dev-typescript.md +76 -0
- package/templates/guides/api-design.md +159 -0
- package/templates/guides/csharp-conventions.md +182 -0
- package/templates/guides/devops-conventions.md +192 -0
- package/templates/guides/fsharp-conventions.md +201 -0
- package/templates/guides/python-conventions.md +146 -0
- package/templates/guides/sql-database.md +125 -0
- package/templates/guides/testing-strategies.md +123 -0
- package/templates/guides/typescript-conventions.md +130 -0
- package/templates/workflow.md +513 -0
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import type { Writable } from 'stream';
|
|
2
|
+
import type { StreamEvent } from './sse-broker.js';
|
|
3
|
+
import type { Team } from '../../shared/types.js';
|
|
4
|
+
export declare class TeamManager {
|
|
5
|
+
private outputBuffers;
|
|
6
|
+
private childProcesses;
|
|
7
|
+
private stdinPipes;
|
|
8
|
+
private parsedEvents;
|
|
9
|
+
private tokenCounters;
|
|
10
|
+
private _processingQueue;
|
|
11
|
+
private shutdownTimers;
|
|
12
|
+
/**
|
|
13
|
+
* Per-team map of tool_use_id -> agent name.
|
|
14
|
+
* When the TL spawns a subagent via the "Agent" or "Task" tool, the tool_use
|
|
15
|
+
* content block's `id` becomes the `parent_tool_use_id` on subsequent
|
|
16
|
+
* assistant events from that subagent. We extract the agent name from the
|
|
17
|
+
* tool input (e.g. `input.name` = "dev") and store it here so every stream
|
|
18
|
+
* event can be tagged with the originating agent name.
|
|
19
|
+
*/
|
|
20
|
+
private agentMaps;
|
|
21
|
+
/** Teams currently in extended thinking — tracked in-memory only */
|
|
22
|
+
readonly thinkingTeams: Set<number>;
|
|
23
|
+
/** Timestamp when thinking started for each team (for duration tracking) */
|
|
24
|
+
private thinkingStartTimes;
|
|
25
|
+
/** Content block index of the active thinking block per team */
|
|
26
|
+
private thinkingBlockIndex;
|
|
27
|
+
/**
|
|
28
|
+
* Sync local repo with origin before creating a worktree.
|
|
29
|
+
* Returns the number of commits the local default branch was behind origin.
|
|
30
|
+
*/
|
|
31
|
+
private syncWithOrigin;
|
|
32
|
+
launch(projectId: number, issueNumber: number, issueTitle?: string, prompt?: string, headless?: boolean, force?: boolean): Promise<Team>;
|
|
33
|
+
stop(teamId: number): Promise<Team>;
|
|
34
|
+
resume(teamId: number): Promise<Team>;
|
|
35
|
+
restart(teamId: number, prompt?: string): Promise<Team>;
|
|
36
|
+
stopAll(): Promise<Team[]>;
|
|
37
|
+
private queueTeam;
|
|
38
|
+
forceLaunch(teamId: number): Promise<Team>;
|
|
39
|
+
processQueue(projectId: number): Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* Filter queued teams to only include those with no open dependencies.
|
|
42
|
+
* Teams with open dependencies are logged and tracked in the GitHubPoller
|
|
43
|
+
* for auto-launch when dependencies resolve.
|
|
44
|
+
*
|
|
45
|
+
* If a circular dependency is detected, the team is treated as unblocked
|
|
46
|
+
* to avoid deadlocking the queue.
|
|
47
|
+
*
|
|
48
|
+
* Uses the IssueFetcher's cached data when available, falling back to
|
|
49
|
+
* fresh API calls. If the dependency check fails entirely, the team is
|
|
50
|
+
* treated as unblocked (permissive fallback).
|
|
51
|
+
*/
|
|
52
|
+
private filterUnblockedTeams;
|
|
53
|
+
private launchQueued;
|
|
54
|
+
getOutput(teamId: number, lines?: number): string[];
|
|
55
|
+
getParsedEvents(teamId: number): StreamEvent[];
|
|
56
|
+
/**
|
|
57
|
+
* Persist the in-memory parsed events for a team to the database.
|
|
58
|
+
* Called before clearing the in-memory buffer on process exit/stop.
|
|
59
|
+
*/
|
|
60
|
+
private persistParsedEvents;
|
|
61
|
+
sendMessage(teamId: number, message: string, source?: 'user' | 'fc', subtype?: string): boolean;
|
|
62
|
+
getStdinPipe(teamId: number): Writable | undefined;
|
|
63
|
+
/**
|
|
64
|
+
* Gracefully shut down a team after its PR is merged.
|
|
65
|
+
* 1. Send pr_merged_shutdown message to TL via stdin
|
|
66
|
+
* 2. Wait graceMs for the process to exit on its own
|
|
67
|
+
* 3. If still alive: close stdin, wait 10s, then force kill
|
|
68
|
+
*
|
|
69
|
+
* Race-condition safe: the process exit handler already does cleanup,
|
|
70
|
+
* so all timer callbacks re-check childProcesses.has() before acting.
|
|
71
|
+
*/
|
|
72
|
+
gracefulShutdown(teamId: number, prNumber: number, graceMs: number): void;
|
|
73
|
+
/**
|
|
74
|
+
* Clear all active shutdown timers. Called during server shutdown
|
|
75
|
+
* to prevent dangling timers.
|
|
76
|
+
*/
|
|
77
|
+
clearShutdownTimers(): void;
|
|
78
|
+
private writeStdinMessage;
|
|
79
|
+
/**
|
|
80
|
+
* Read the project's prompt file and replace {{ISSUE_NUMBER}} placeholder.
|
|
81
|
+
* Fallback chain: project prompt file > prompts/default-prompt.md > hardcoded default.
|
|
82
|
+
*/
|
|
83
|
+
private resolvePromptFromFile;
|
|
84
|
+
launchBatch(projectId: number, issues: Array<{
|
|
85
|
+
number: number;
|
|
86
|
+
title?: string;
|
|
87
|
+
}>, prompt?: string, delayMs?: number, headless?: boolean): Promise<Team[]>;
|
|
88
|
+
/**
|
|
89
|
+
* Build the spawn environment for a Claude Code process.
|
|
90
|
+
* Inherits the server's env and adds fleet/git-bash vars.
|
|
91
|
+
* This is the SINGLE source of CC env vars for BOTH headless and interactive modes.
|
|
92
|
+
*/
|
|
93
|
+
private buildSpawnEnv;
|
|
94
|
+
/**
|
|
95
|
+
* Build the base Claude CLI args shared by BOTH headless and interactive modes.
|
|
96
|
+
* @param worktreeName — worktree name for --worktree flag
|
|
97
|
+
* @param options.resume — add --resume flag (for resume flow)
|
|
98
|
+
* @param options.model — optional model override from project
|
|
99
|
+
* @param options.prompt — positional prompt arg (interactive mode only)
|
|
100
|
+
*/
|
|
101
|
+
private buildBaseClaudeArgs;
|
|
102
|
+
/**
|
|
103
|
+
* Build Claude CLI args for headless (stream-json) mode.
|
|
104
|
+
* Calls buildBaseClaudeArgs() and appends stream-json + verbose flags.
|
|
105
|
+
*/
|
|
106
|
+
private buildHeadlessClaudeArgs;
|
|
107
|
+
/**
|
|
108
|
+
* Build the `set VAR=value` portion of the innerCommand for interactive
|
|
109
|
+
* mode on Windows. Iterates over buildSpawnEnv() output to generate
|
|
110
|
+
* set commands dynamically, ensuring all env vars are passed.
|
|
111
|
+
*
|
|
112
|
+
* Only includes fleet/CC-specific vars (prefixed FLEET_, CLAUDE_CODE_)
|
|
113
|
+
* to keep the command string manageable and avoid leaking unrelated env.
|
|
114
|
+
*/
|
|
115
|
+
private buildInteractiveEnvSetCommands;
|
|
116
|
+
/**
|
|
117
|
+
* Launch a Claude Code process in interactive mode (Windows terminal).
|
|
118
|
+
* Extracted from the duplicated logic in launch() and launchQueued().
|
|
119
|
+
*
|
|
120
|
+
* Opens a new terminal window (wt.exe or cmd.exe) with the Claude Code
|
|
121
|
+
* CLI and all required env vars from buildSpawnEnv().
|
|
122
|
+
*/
|
|
123
|
+
private launchInteractive;
|
|
124
|
+
/**
|
|
125
|
+
* Spawn a Claude Code process and validate it got a PID.
|
|
126
|
+
* On failure, transitions team to 'failed' and broadcasts snapshot.
|
|
127
|
+
* Returns the child process, or null if spawn failed.
|
|
128
|
+
*/
|
|
129
|
+
private spawnAndValidate;
|
|
130
|
+
/**
|
|
131
|
+
* Attach exit and error handlers to a child process.
|
|
132
|
+
* These handlers clean up maps, transition the team to done/failed,
|
|
133
|
+
* broadcast SSE events, and trigger queue processing.
|
|
134
|
+
*/
|
|
135
|
+
private attachProcessHandlers;
|
|
136
|
+
/**
|
|
137
|
+
* Store the stdin pipe, send the initial prompt (if provided), set up
|
|
138
|
+
* output capture, and broadcast the initial FC event in the session log.
|
|
139
|
+
*/
|
|
140
|
+
private setupStdinAndOutput;
|
|
141
|
+
/**
|
|
142
|
+
* Create a git worktree with -b fallback. On failure, transitions team
|
|
143
|
+
* to 'failed' and broadcasts snapshot.
|
|
144
|
+
* Returns true on success, false on failure.
|
|
145
|
+
*/
|
|
146
|
+
private createWorktree;
|
|
147
|
+
/**
|
|
148
|
+
* Copy hook scripts and generate settings.json into a worktree directory.
|
|
149
|
+
*/
|
|
150
|
+
private copyHooksAndSettings;
|
|
151
|
+
/**
|
|
152
|
+
* Derive worktree naming from a project and issue number.
|
|
153
|
+
*/
|
|
154
|
+
private deriveWorktreeNames;
|
|
155
|
+
/**
|
|
156
|
+
* Broadcast a full team dashboard snapshot to all SSE clients.
|
|
157
|
+
* Called after any team state change so the Fleet Grid refreshes.
|
|
158
|
+
*/
|
|
159
|
+
private broadcastSnapshot;
|
|
160
|
+
private initOutputBuffer;
|
|
161
|
+
private captureOutput;
|
|
162
|
+
/**
|
|
163
|
+
* Extract and accumulate token counts from stream events.
|
|
164
|
+
* - `assistant` events: increment token counters from usage.input_tokens, etc.
|
|
165
|
+
* - `result` events: replace totalCostUsd (it's cumulative) and flush to DB.
|
|
166
|
+
*/
|
|
167
|
+
private accumulateTokens;
|
|
168
|
+
/**
|
|
169
|
+
* Persist in-memory token counters to the database and broadcast SSE update.
|
|
170
|
+
*/
|
|
171
|
+
private flushTokenCounters;
|
|
172
|
+
/**
|
|
173
|
+
* Detect thinking start/stop from Claude Code stream-json events.
|
|
174
|
+
*
|
|
175
|
+
* content_block_start with content_block.type === "thinking" signals the
|
|
176
|
+
* start of an extended thinking block. content_block_stop (matched by
|
|
177
|
+
* index) signals the end.
|
|
178
|
+
*/
|
|
179
|
+
private detectThinking;
|
|
180
|
+
/**
|
|
181
|
+
* Clear thinking state for a team (e.g. on stop/cleanup).
|
|
182
|
+
*/
|
|
183
|
+
clearThinking(teamId: number): void;
|
|
184
|
+
private killProcess;
|
|
185
|
+
}
|
|
186
|
+
export declare function getTeamManager(): TeamManager;
|
|
187
|
+
export default TeamManager;
|
|
188
|
+
//# sourceMappingURL=team-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"team-manager.d.ts","sourceRoot":"","sources":["../../../src/server/services/team-manager.ts"],"names":[],"mappings":"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"}
|