@bradygaster/squad-cli 0.8.25 → 0.9.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/README.md +329 -77
- package/dist/cli/commands/aspire.d.ts.map +1 -1
- package/dist/cli/commands/aspire.js +3 -0
- package/dist/cli/commands/aspire.js.map +1 -1
- package/dist/cli/commands/build.js +3 -3
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/cast.d.ts +13 -0
- package/dist/cli/commands/cast.d.ts.map +1 -0
- package/dist/cli/commands/cast.js +77 -0
- package/dist/cli/commands/cast.js.map +1 -0
- package/dist/cli/commands/cost.d.ts +2 -0
- package/dist/cli/commands/cost.d.ts.map +1 -0
- package/dist/cli/commands/cost.js +170 -0
- package/dist/cli/commands/cost.js.map +1 -0
- package/dist/cli/commands/cross-squad.d.ts +12 -0
- package/dist/cli/commands/cross-squad.d.ts.map +1 -0
- package/dist/cli/commands/cross-squad.js +80 -0
- package/dist/cli/commands/cross-squad.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +5 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +156 -0
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/economy.d.ts +10 -0
- package/dist/cli/commands/economy.d.ts.map +1 -0
- package/dist/cli/commands/economy.js +64 -0
- package/dist/cli/commands/economy.js.map +1 -0
- package/dist/cli/commands/export.d.ts.map +1 -1
- package/dist/cli/commands/export.js +11 -4
- package/dist/cli/commands/export.js.map +1 -1
- package/dist/cli/commands/import.js +2 -2
- package/dist/cli/commands/import.js.map +1 -1
- package/dist/cli/commands/personal.d.ts +16 -0
- package/dist/cli/commands/personal.d.ts.map +1 -0
- package/dist/cli/commands/personal.js +213 -0
- package/dist/cli/commands/personal.js.map +1 -0
- package/dist/cli/commands/roles.d.ts +2 -0
- package/dist/cli/commands/roles.d.ts.map +1 -0
- package/dist/cli/commands/roles.js +54 -0
- package/dist/cli/commands/roles.js.map +1 -0
- package/dist/cli/commands/schedule.d.ts +14 -0
- package/dist/cli/commands/schedule.d.ts.map +1 -0
- package/dist/cli/commands/schedule.js +208 -0
- package/dist/cli/commands/schedule.js.map +1 -0
- package/dist/cli/commands/watch.d.ts.map +1 -1
- package/dist/cli/commands/watch.js +17 -5
- package/dist/cli/commands/watch.js.map +1 -1
- package/dist/cli/core/cast.d.ts +9 -0
- package/dist/cli/core/cast.d.ts.map +1 -1
- package/dist/cli/core/cast.js +170 -60
- package/dist/cli/core/cast.js.map +1 -1
- package/dist/cli/core/detect-squad-dir.d.ts +10 -0
- package/dist/cli/core/detect-squad-dir.d.ts.map +1 -1
- package/dist/cli/core/detect-squad-dir.js +47 -0
- package/dist/cli/core/detect-squad-dir.js.map +1 -1
- package/dist/cli/core/init.d.ts +8 -0
- package/dist/cli/core/init.d.ts.map +1 -1
- package/dist/cli/core/init.js +115 -2
- package/dist/cli/core/init.js.map +1 -1
- package/dist/cli/core/migrations.d.ts.map +1 -1
- package/dist/cli/core/migrations.js +21 -0
- package/dist/cli/core/migrations.js.map +1 -1
- package/dist/cli/core/team-md.js +34 -34
- package/dist/cli/core/templates.d.ts.map +1 -1
- package/dist/cli/core/templates.js +8 -1
- package/dist/cli/core/templates.js.map +1 -1
- package/dist/cli/core/upgrade.d.ts +14 -0
- package/dist/cli/core/upgrade.d.ts.map +1 -1
- package/dist/cli/core/upgrade.js +182 -48
- package/dist/cli/core/upgrade.js.map +1 -1
- package/dist/cli/core/version.js +2 -2
- package/dist/cli/core/version.js.map +1 -1
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/self-update.d.ts +21 -0
- package/dist/cli/self-update.d.ts.map +1 -0
- package/dist/cli/self-update.js +113 -0
- package/dist/cli/self-update.js.map +1 -0
- package/dist/cli/shell/autocomplete.d.ts.map +1 -1
- package/dist/cli/shell/autocomplete.js +5 -0
- package/dist/cli/shell/autocomplete.js.map +1 -1
- package/dist/cli/shell/commands.d.ts.map +1 -1
- package/dist/cli/shell/commands.js +55 -24
- package/dist/cli/shell/commands.js.map +1 -1
- package/dist/cli/shell/components/AgentPanel.d.ts.map +1 -1
- package/dist/cli/shell/components/AgentPanel.js +21 -6
- package/dist/cli/shell/components/AgentPanel.js.map +1 -1
- package/dist/cli/shell/components/App.d.ts.map +1 -1
- package/dist/cli/shell/components/App.js +33 -15
- package/dist/cli/shell/components/App.js.map +1 -1
- package/dist/cli/shell/components/InputPrompt.js +1 -1
- package/dist/cli/shell/components/InputPrompt.js.map +1 -1
- package/dist/cli/shell/components/MessageStream.d.ts +2 -0
- package/dist/cli/shell/components/MessageStream.d.ts.map +1 -1
- package/dist/cli/shell/components/MessageStream.js +20 -20
- package/dist/cli/shell/components/MessageStream.js.map +1 -1
- package/dist/cli/shell/components/ThinkingIndicator.d.ts +4 -0
- package/dist/cli/shell/components/ThinkingIndicator.d.ts.map +1 -1
- package/dist/cli/shell/components/ThinkingIndicator.js +23 -4
- package/dist/cli/shell/components/ThinkingIndicator.js.map +1 -1
- package/dist/cli/shell/coordinator.d.ts +7 -0
- package/dist/cli/shell/coordinator.d.ts.map +1 -1
- package/dist/cli/shell/coordinator.js +206 -88
- package/dist/cli/shell/coordinator.js.map +1 -1
- package/dist/cli/shell/error-messages.d.ts +14 -0
- package/dist/cli/shell/error-messages.d.ts.map +1 -1
- package/dist/cli/shell/error-messages.js +65 -1
- package/dist/cli/shell/error-messages.js.map +1 -1
- package/dist/cli/shell/index.d.ts +1 -1
- package/dist/cli/shell/index.d.ts.map +1 -1
- package/dist/cli/shell/index.js +83 -12
- package/dist/cli/shell/index.js.map +1 -1
- package/dist/cli/shell/router.d.ts.map +1 -1
- package/dist/cli/shell/router.js +21 -2
- package/dist/cli/shell/router.js.map +1 -1
- package/dist/cli/shell/stream-bridge.d.ts +2 -0
- package/dist/cli/shell/stream-bridge.d.ts.map +1 -1
- package/dist/cli/shell/stream-bridge.js +11 -2
- package/dist/cli/shell/stream-bridge.js.map +1 -1
- package/dist/cli/shell/terminal.d.ts +5 -5
- package/dist/cli/shell/terminal.d.ts.map +1 -1
- package/dist/cli/shell/terminal.js +35 -26
- package/dist/cli/shell/terminal.js.map +1 -1
- package/dist/cli-entry.js +124 -42
- package/dist/cli-entry.js.map +1 -1
- package/package.json +20 -4
- package/scripts/patch-esm-imports.mjs +106 -77
- package/scripts/patch-ink-rendering.mjs +115 -0
- package/templates/casting/Futurama.json +10 -0
- package/templates/casting-history.json +4 -4
- package/templates/casting-policy.json +37 -35
- package/templates/casting-reference.md +104 -0
- package/templates/casting-registry.json +3 -3
- package/templates/ceremonies.md +41 -41
- package/templates/charter.md +53 -53
- package/templates/constraint-tracking.md +38 -38
- package/templates/cooperative-rate-limiting.md +229 -0
- package/templates/copilot-instructions.md +46 -46
- package/templates/history.md +10 -10
- package/templates/identity/now.md +9 -9
- package/templates/identity/wisdom.md +15 -15
- package/templates/issue-lifecycle.md +412 -0
- package/templates/keda-scaler.md +164 -0
- package/templates/machine-capabilities.md +75 -0
- package/templates/mcp-config.md +90 -90
- package/templates/multi-agent-format.md +28 -28
- package/templates/orchestration-log.md +27 -27
- package/templates/plugin-marketplace.md +49 -49
- package/templates/ralph-circuit-breaker.md +313 -0
- package/templates/raw-agent-output.md +37 -37
- package/templates/roster.md +60 -60
- package/templates/routing.md +39 -54
- package/templates/run-output.md +50 -50
- package/templates/scribe-charter.md +119 -119
- package/templates/skill.md +24 -24
- package/templates/skills/agent-collaboration/SKILL.md +42 -0
- package/templates/skills/agent-conduct/SKILL.md +24 -0
- package/templates/skills/architectural-proposals/SKILL.md +151 -0
- package/templates/skills/ci-validation-gates/SKILL.md +84 -0
- package/templates/skills/cli-wiring/SKILL.md +47 -0
- package/templates/skills/client-compatibility/SKILL.md +89 -0
- package/templates/skills/cross-squad/SKILL.md +114 -0
- package/templates/skills/distributed-mesh/SKILL.md +287 -0
- package/templates/skills/distributed-mesh/mesh.json.example +30 -0
- package/templates/skills/distributed-mesh/sync-mesh.ps1 +111 -0
- package/templates/skills/distributed-mesh/sync-mesh.sh +104 -0
- package/templates/skills/docs-standards/SKILL.md +71 -0
- package/templates/skills/economy-mode/SKILL.md +114 -0
- package/templates/skills/external-comms/SKILL.md +329 -0
- package/templates/skills/gh-auth-isolation/SKILL.md +183 -0
- package/templates/skills/git-workflow/SKILL.md +204 -0
- package/templates/skills/github-multi-account/SKILL.md +95 -0
- package/templates/skills/history-hygiene/SKILL.md +36 -0
- package/templates/skills/humanizer/SKILL.md +105 -0
- package/templates/skills/init-mode/SKILL.md +102 -0
- package/templates/skills/model-selection/SKILL.md +117 -0
- package/templates/skills/nap/SKILL.md +24 -0
- package/templates/skills/personal-squad/SKILL.md +57 -0
- package/templates/skills/release-process/SKILL.md +423 -0
- package/templates/skills/reskill/SKILL.md +92 -0
- package/templates/skills/reviewer-protocol/SKILL.md +79 -0
- package/templates/skills/secret-handling/SKILL.md +200 -0
- package/templates/skills/session-recovery/SKILL.md +155 -0
- package/templates/skills/squad-conventions/SKILL.md +69 -69
- package/templates/skills/test-discipline/SKILL.md +37 -0
- package/templates/skills/windows-compatibility/SKILL.md +74 -0
- package/templates/squad.agent.md +1287 -1146
- package/templates/workflows/squad-ci.yml +24 -24
- package/templates/workflows/squad-docs.yml +54 -50
- package/templates/workflows/squad-heartbeat.yml +3 -4
- package/templates/workflows/squad-insider-release.yml +61 -61
- package/templates/workflows/squad-issue-assign.yml +161 -161
- package/templates/workflows/squad-label-enforce.yml +181 -181
- package/templates/workflows/squad-preview.yml +55 -55
- package/templates/workflows/squad-promote.yml +120 -120
- package/templates/workflows/squad-release.yml +77 -77
- package/templates/workflows/squad-triage.yml +260 -260
- package/templates/workflows/sync-squad-labels.yml +169 -169
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import React, { useState, useEffect, useRef } from 'react';
|
|
2
|
+
import React, { useState, useEffect, useRef, useMemo } from 'react';
|
|
3
3
|
import { Box, Text } from 'ink';
|
|
4
4
|
import { getRoleEmoji } from '../lifecycle.js';
|
|
5
5
|
import { isNoColor, useTerminalWidth, useLayoutTier } from '../terminal.js';
|
|
@@ -167,40 +167,40 @@ export function wrapTableContent(content, maxWidth, tier) {
|
|
|
167
167
|
}
|
|
168
168
|
return result.join('\n');
|
|
169
169
|
}
|
|
170
|
-
export const MessageStream = ({ messages, agents, streamingContent, processing = false, activityHint, agentActivities, thinkingPhase, maxVisible = 50, }) => {
|
|
170
|
+
export const MessageStream = ({ messages, agents, streamingContent, processing = false, activityHint, agentActivities, thinkingPhase, maxVisible = 50, hasConversation = false, }) => {
|
|
171
171
|
const visible = messages.slice(-maxVisible);
|
|
172
|
-
const
|
|
172
|
+
const visibleOffset = Math.max(0, messages.length - maxVisible);
|
|
173
|
+
const roleMap = useMemo(() => new Map((agents ?? []).map(a => [a.name, a.role])), [agents]);
|
|
173
174
|
// Message fade-in: new messages start dim for 200ms
|
|
174
175
|
const fadingCount = useMessageFade(messages.length);
|
|
175
|
-
// Elapsed time tracking for the ThinkingIndicator
|
|
176
|
+
// Elapsed time tracking for the ThinkingIndicator.
|
|
177
|
+
// Only update state when the rounded seconds value changes to avoid
|
|
178
|
+
// unnecessary re-renders that cause terminal scroll flicker.
|
|
176
179
|
const [elapsedMs, setElapsedMs] = useState(0);
|
|
177
180
|
const processingStartRef = useRef(Date.now());
|
|
181
|
+
const lastElapsedSecRef = useRef(0);
|
|
178
182
|
useEffect(() => {
|
|
179
183
|
if (processing) {
|
|
180
184
|
processingStartRef.current = Date.now();
|
|
185
|
+
lastElapsedSecRef.current = 0;
|
|
181
186
|
setElapsedMs(0);
|
|
182
|
-
// Update once per second — reduces re-renders that cause flicker (#206)
|
|
183
187
|
const timer = setInterval(() => {
|
|
184
|
-
|
|
188
|
+
const now = Date.now() - processingStartRef.current;
|
|
189
|
+
const sec = Math.floor(now / 1000);
|
|
190
|
+
if (sec !== lastElapsedSecRef.current) {
|
|
191
|
+
lastElapsedSecRef.current = sec;
|
|
192
|
+
setElapsedMs(now);
|
|
193
|
+
}
|
|
185
194
|
}, 1000);
|
|
186
195
|
return () => clearInterval(timer);
|
|
187
196
|
}
|
|
188
197
|
else {
|
|
189
198
|
setElapsedMs(0);
|
|
199
|
+
lastElapsedSecRef.current = 0;
|
|
190
200
|
}
|
|
191
201
|
}, [processing]);
|
|
192
|
-
//
|
|
193
|
-
|
|
194
|
-
if (activityHint)
|
|
195
|
-
return activityHint;
|
|
196
|
-
const lastUser = [...messages].reverse().find(m => m.role === 'user');
|
|
197
|
-
if (lastUser) {
|
|
198
|
-
const atMatch = lastUser.content.match(/^@(\w+)/);
|
|
199
|
-
if (atMatch?.[1])
|
|
200
|
-
return `${atMatch[1]} is thinking...`;
|
|
201
|
-
}
|
|
202
|
-
return undefined;
|
|
203
|
-
})();
|
|
202
|
+
// Activity hint comes from the parent (App.tsx derives @mention hints
|
|
203
|
+
// via `mentionHint` and passes them through `activityHint`).
|
|
204
204
|
// Compute response duration: time from previous user message to this agent message
|
|
205
205
|
const getResponseDuration = (index) => {
|
|
206
206
|
const msg = visible[index];
|
|
@@ -224,9 +224,9 @@ export const MessageStream = ({ messages, agents, streamingContent, processing =
|
|
|
224
224
|
const emoji = agentRole ? getRoleEmoji(agentRole) : '';
|
|
225
225
|
const duration = getResponseDuration(i);
|
|
226
226
|
const isFading = fadingCount > 0 && i >= visible.length - fadingCount;
|
|
227
|
-
return (_jsxs(React.Fragment, { children: [isNewTurn && _jsx(Separator, { marginTop: 1 }), _jsx(Box, { gap: 1, children: msg.role === 'user' ? (_jsxs(_Fragment, { children: [_jsx(Text, { color: noColor ? undefined : 'cyan', bold: true, dimColor: isFading, children: "\u276F" }), _jsx(Text, { color: noColor ? undefined : 'cyan', wrap: "wrap", dimColor: isFading, children: msg.content })] })) :
|
|
227
|
+
return (_jsxs(React.Fragment, { children: [isNewTurn && _jsx(Separator, { marginTop: 1 }), msg.role === 'system' ? (_jsx(Box, { flexDirection: "column", paddingLeft: 2, children: _jsx(Text, { color: "gray", wrap: "wrap", children: msg.content }) })) : (_jsx(Box, { gap: 1, paddingLeft: msg.role === 'user' ? 0 : 2, children: msg.role === 'user' ? (_jsxs(_Fragment, { children: [_jsx(Text, { color: noColor ? undefined : 'cyan', bold: true, dimColor: isFading, children: "\u276F" }), _jsx(Text, { color: noColor ? undefined : 'cyan', wrap: "wrap", dimColor: isFading, children: msg.content })] })) : (_jsxs(_Fragment, { children: [_jsxs(Text, { color: noColor ? undefined : 'green', bold: true, dimColor: isFading, children: [emoji ? `${emoji} ` : '', (msg.agentName === 'coordinator' ? 'Squad' : msg.agentName) ?? 'agent', ":"] }), _jsx(Text, { wrap: "wrap", dimColor: isFading, children: renderMarkdownInline(wrapTableContent(msg.content, contentWidth, tier)) }), duration && _jsxs(Text, { color: "gray", children: ["(", duration, ")"] })] })) }))] }, `msg-${visibleOffset + i}`));
|
|
228
228
|
}), streamingContent && streamingContent.size > 0 && (_jsx(_Fragment, { children: Array.from(streamingContent.entries()).map(([agentName, content]) => (content ? (_jsxs(Box, { gap: 1, children: [_jsxs(Text, { color: noColor ? undefined : 'green', bold: true, children: [roleMap.has(agentName)
|
|
229
229
|
? `${getRoleEmoji(roleMap.get(agentName))} `
|
|
230
|
-
: '', agentName === 'coordinator' ? 'Squad' : agentName, ":"] }), _jsx(Text, { wrap: "wrap", children: renderMarkdownInline(wrapTableContent(content, contentWidth, tier)) }), _jsx(Text, { color: noColor ? undefined : 'cyan', children: "\u258C" })] }, agentName)) : null)) })), agentActivities && agentActivities.size > 0 && (_jsx(Box, { flexDirection: "column", children: Array.from(agentActivities.entries()).map(([name, activity]) => (_jsxs(Text, { color: "gray", children: ["\u25B8 ", name, " is ", activity] }, name))) })), processing && (!streamingContent || streamingContent.size === 0) && (_jsx(ThinkingIndicator, { isThinking: true, elapsedMs: elapsedMs, activityHint:
|
|
230
|
+
: '', agentName === 'coordinator' ? 'Squad' : agentName, ":"] }), _jsx(Text, { wrap: "wrap", children: renderMarkdownInline(wrapTableContent(content, contentWidth, tier)) }), _jsx(Text, { color: noColor ? undefined : 'cyan', children: "\u258C" })] }, agentName)) : null)) })), agentActivities && agentActivities.size > 0 && (_jsx(Box, { flexDirection: "column", children: Array.from(agentActivities.entries()).map(([name, activity]) => (_jsxs(Text, { color: "gray", children: ["\u25B8 ", name, " is ", activity] }, name))) })), processing && (!streamingContent || streamingContent.size === 0) && (_jsx(ThinkingIndicator, { isThinking: true, elapsedMs: elapsedMs, activityHint: activityHint, phase: thinkingPhase, hasConversation: hasConversation })), processing && streamingContent && streamingContent.size > 0 && (_jsx(ThinkingIndicator, { isThinking: true, elapsedMs: elapsedMs, activityHint: `${Array.from(streamingContent.keys()).join(', ')} streaming` }))] }));
|
|
231
231
|
};
|
|
232
232
|
//# sourceMappingURL=MessageStream.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageStream.js","sourceRoot":"","sources":["../../../../src/cli/shell/components/MessageStream.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MessageStream.js","sourceRoot":"","sources":["../../../../src/cli/shell/components/MessageStream.tsx"],"names":[],"mappings":"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"}
|
|
@@ -14,8 +14,12 @@ export interface ThinkingIndicatorProps {
|
|
|
14
14
|
elapsedMs: number;
|
|
15
15
|
activityHint?: string;
|
|
16
16
|
phase?: ThinkingPhase;
|
|
17
|
+
/** When true, cycles conversation-aware phrases instead of generic ones. */
|
|
18
|
+
hasConversation?: boolean;
|
|
17
19
|
}
|
|
18
20
|
/** Rotating thinking phrases — cycled every few seconds to keep the UI alive. */
|
|
19
21
|
export declare const THINKING_PHRASES: string[];
|
|
22
|
+
/** Context-aware phrases shown when conversation history exists. */
|
|
23
|
+
export declare const CONVERSATION_PHRASES: string[];
|
|
20
24
|
export declare const ThinkingIndicator: React.FC<ThinkingIndicatorProps>;
|
|
21
25
|
//# sourceMappingURL=ThinkingIndicator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThinkingIndicator.d.ts","sourceRoot":"","sources":["../../../../src/cli/shell/components/ThinkingIndicator.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAA8B,MAAM,OAAO,CAAC;AAInD,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,SAAS,GAAG,UAAU,CAAC;AAElE,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ThinkingIndicator.d.ts","sourceRoot":"","sources":["../../../../src/cli/shell/components/ThinkingIndicator.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAA8B,MAAM,OAAO,CAAC;AAInD,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,SAAS,GAAG,UAAU,CAAC;AAElE,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,4EAA4E;IAC5E,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,UAgB5B,CAAC;AAEF,oEAAoE;AACpE,eAAO,MAAM,oBAAoB,UAgBhC,CAAC;AA6BF,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAmE9D,CAAC"}
|
|
@@ -29,6 +29,24 @@ export const THINKING_PHRASES = [
|
|
|
29
29
|
'Connecting the dots',
|
|
30
30
|
'Exploring possibilities',
|
|
31
31
|
];
|
|
32
|
+
/** Context-aware phrases shown when conversation history exists. */
|
|
33
|
+
export const CONVERSATION_PHRASES = [
|
|
34
|
+
'Reviewing conversation context',
|
|
35
|
+
'Connecting to previous work',
|
|
36
|
+
'Analyzing how this relates',
|
|
37
|
+
'Checking conversation thread',
|
|
38
|
+
'Considering prior context',
|
|
39
|
+
'Building on earlier discussion',
|
|
40
|
+
'Mapping to your session',
|
|
41
|
+
'Evaluating options',
|
|
42
|
+
'Consulting the team',
|
|
43
|
+
'Synthesizing a response',
|
|
44
|
+
'Weighing trade-offs',
|
|
45
|
+
'Gathering context',
|
|
46
|
+
'Crafting a plan',
|
|
47
|
+
'Connecting the dots',
|
|
48
|
+
'Reading the codebase',
|
|
49
|
+
];
|
|
32
50
|
/** Map phase to its default label. */
|
|
33
51
|
function phaseLabel(phase) {
|
|
34
52
|
switch (phase) {
|
|
@@ -54,7 +72,7 @@ function formatElapsed(ms) {
|
|
|
54
72
|
}
|
|
55
73
|
/** Static dots for NO_COLOR mode (no animation). */
|
|
56
74
|
const STATIC_SPINNER = '...';
|
|
57
|
-
export const ThinkingIndicator = ({ isThinking, elapsedMs, activityHint, phase = 'routing', }) => {
|
|
75
|
+
export const ThinkingIndicator = ({ isThinking, elapsedMs, activityHint, phase = 'routing', hasConversation = false, }) => {
|
|
58
76
|
const noColor = isNoColor();
|
|
59
77
|
const [frame, setFrame] = useState(0);
|
|
60
78
|
const [phraseIndex, setPhraseIndex] = useState(0);
|
|
@@ -67,6 +85,7 @@ export const ThinkingIndicator = ({ isThinking, elapsedMs, activityHint, phase =
|
|
|
67
85
|
}, 120);
|
|
68
86
|
return () => clearInterval(timer);
|
|
69
87
|
}, [isThinking, noColor]);
|
|
88
|
+
const phrases = hasConversation ? CONVERSATION_PHRASES : THINKING_PHRASES;
|
|
70
89
|
// Rotate thinking phrases every 3 seconds
|
|
71
90
|
useEffect(() => {
|
|
72
91
|
if (!isThinking) {
|
|
@@ -74,10 +93,10 @@ export const ThinkingIndicator = ({ isThinking, elapsedMs, activityHint, phase =
|
|
|
74
93
|
return;
|
|
75
94
|
}
|
|
76
95
|
const timer = setInterval(() => {
|
|
77
|
-
setPhraseIndex(i => (i + 1) %
|
|
96
|
+
setPhraseIndex(i => (i + 1) % phrases.length);
|
|
78
97
|
}, 3000);
|
|
79
98
|
return () => clearInterval(timer);
|
|
80
|
-
}, [isThinking]);
|
|
99
|
+
}, [isThinking, phrases]);
|
|
81
100
|
// Reset frame when thinking starts
|
|
82
101
|
useEffect(() => {
|
|
83
102
|
if (isThinking) {
|
|
@@ -91,7 +110,7 @@ export const ThinkingIndicator = ({ isThinking, elapsedMs, activityHint, phase =
|
|
|
91
110
|
const elapsedStr = formatElapsed(elapsedMs);
|
|
92
111
|
const spinnerChar = noColor ? STATIC_SPINNER : (SPINNER_FRAMES[frame] ?? '⠋');
|
|
93
112
|
// Resolve the display label: activity hint > rotating phrase > phase label
|
|
94
|
-
const displayLabel = activityHint ?? (phase === 'connecting' ? phaseLabel(phase) : `${
|
|
113
|
+
const displayLabel = activityHint ?? (phase === 'connecting' ? phaseLabel(phase) : `${phrases[phraseIndex]}...`);
|
|
95
114
|
// NO_COLOR: no color props, use text labels
|
|
96
115
|
if (noColor) {
|
|
97
116
|
return (_jsxs(Box, { gap: 1, children: [_jsx(Text, { children: spinnerChar }), _jsx(Text, { children: displayLabel }), elapsedStr ? _jsxs(Text, { children: ["(", elapsedStr, ")"] }) : null] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThinkingIndicator.js","sourceRoot":"","sources":["../../../../src/cli/shell/components/ThinkingIndicator.tsx"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;AAEH,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"ThinkingIndicator.js","sourceRoot":"","sources":["../../../../src/cli/shell/components/ThinkingIndicator.tsx"],"names":[],"mappings":"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"}
|
|
@@ -10,10 +10,17 @@ export interface CoordinatorConfig {
|
|
|
10
10
|
routingPath?: string;
|
|
11
11
|
/** Path to team.md */
|
|
12
12
|
teamPath?: string;
|
|
13
|
+
/** When true, include the base roles catalog in the init prompt. Default: false (fictional universe casting). */
|
|
14
|
+
useBaseRoles?: boolean;
|
|
13
15
|
}
|
|
14
16
|
/**
|
|
15
17
|
* Build an Init Mode system prompt for team casting.
|
|
16
18
|
* Used when team.md exists but has no roster entries.
|
|
19
|
+
*
|
|
20
|
+
* When `config.useBaseRoles` is true (opt-in via `--roles`), the prompt
|
|
21
|
+
* includes the built-in base roles catalog so the LLM maps agents to
|
|
22
|
+
* curated role IDs. Otherwise (default), the LLM casts from a fictional
|
|
23
|
+
* universe with free-form role names — the beloved casting experience.
|
|
17
24
|
*/
|
|
18
25
|
export declare function buildInitModePrompt(config: CoordinatorConfig): string;
|
|
19
26
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../../src/cli/shell/coordinator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../../src/cli/shell/coordinator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAS/C;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAW7D;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iHAAiH;IACjH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAKrE;AA+JD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAyExE;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnE;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CA8C1E;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,YAAY,EAAE,EACxB,WAAW,GAAE,MAAW,GACvB,MAAM,CAQR"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { readFileSync } from 'node:fs';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
|
+
import { listRoles, searchRoles } from '@bradygaster/squad-sdk';
|
|
3
4
|
/** Debug logger — writes to stderr only when SQUAD_DEBUG=1. */
|
|
4
5
|
function debugLog(...args) {
|
|
5
6
|
if (process.env['SQUAD_DEBUG'] === '1') {
|
|
@@ -26,50 +27,167 @@ export function hasRosterEntries(teamContent) {
|
|
|
26
27
|
/**
|
|
27
28
|
* Build an Init Mode system prompt for team casting.
|
|
28
29
|
* Used when team.md exists but has no roster entries.
|
|
30
|
+
*
|
|
31
|
+
* When `config.useBaseRoles` is true (opt-in via `--roles`), the prompt
|
|
32
|
+
* includes the built-in base roles catalog so the LLM maps agents to
|
|
33
|
+
* curated role IDs. Otherwise (default), the LLM casts from a fictional
|
|
34
|
+
* universe with free-form role names — the beloved casting experience.
|
|
29
35
|
*/
|
|
30
36
|
export function buildInitModePrompt(config) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
-
|
|
61
|
-
-
|
|
62
|
-
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
-
|
|
37
|
+
if (config.useBaseRoles) {
|
|
38
|
+
return buildBaseRolesInitPrompt();
|
|
39
|
+
}
|
|
40
|
+
return buildUniverseCastingInitPrompt();
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Default init prompt — fictional universe casting (no base roles catalog).
|
|
44
|
+
*/
|
|
45
|
+
function buildUniverseCastingInitPrompt() {
|
|
46
|
+
return `You are the Squad Coordinator in Init Mode.
|
|
47
|
+
|
|
48
|
+
This project has a Squad scaffold (.squad/ directory) but no team has been cast yet.
|
|
49
|
+
The user's message describes what they want to build or work on.
|
|
50
|
+
|
|
51
|
+
Your job: Propose a team of 4-5 AI agents based on what the user wants to do.
|
|
52
|
+
|
|
53
|
+
## Rules
|
|
54
|
+
1. Analyze the user's message to understand the project (language, stack, scope)
|
|
55
|
+
2. Pick a fictional universe for character names. **Strongly prefer:**
|
|
56
|
+
- **The Usual Suspects** (8 characters: Keyser, McManus, Fenster, Verbal, Hockney, Redfoot, Edie, Kobayashi)
|
|
57
|
+
- **Ocean's Eleven** (10 characters: Danny, Rusty, Linus, Basher, Livingston, Saul, Yen, Virgil, Turk, Reuben)
|
|
58
|
+
|
|
59
|
+
You may also choose other film universes (Alien, The Matrix, Heat, Star Wars, Blade Runner, etc.) but the two above are preferred.
|
|
60
|
+
3. Propose 4-5 agents with roles that match the project needs
|
|
61
|
+
4. Scribe and Ralph are always included automatically — do NOT include them in your proposal
|
|
62
|
+
|
|
63
|
+
## Response Format — you MUST use this EXACT format:
|
|
64
|
+
|
|
65
|
+
INIT_TEAM:
|
|
66
|
+
- {Name} | {Role} | {scope: 2-4 words describing expertise}
|
|
67
|
+
- {Name} | {Role} | {scope}
|
|
68
|
+
- {Name} | {Role} | {scope}
|
|
69
|
+
- {Name} | {Role} | {scope}
|
|
70
|
+
UNIVERSE: {universe name}
|
|
71
|
+
PROJECT: {1-sentence project description}
|
|
72
|
+
|
|
73
|
+
## Example
|
|
74
|
+
|
|
75
|
+
If user says "Build a React app with a Node backend":
|
|
76
|
+
|
|
77
|
+
INIT_TEAM:
|
|
78
|
+
- Ripley | Lead | Architecture, code review, decisions
|
|
79
|
+
- Dallas | Frontend Dev | React, components, styling
|
|
80
|
+
- Kane | Backend Dev | Node.js, APIs, database
|
|
81
|
+
- Lambert | Tester | Tests, quality, edge cases
|
|
82
|
+
UNIVERSE: Alien
|
|
83
|
+
PROJECT: A React and Node.js web application
|
|
84
|
+
|
|
85
|
+
## Important
|
|
86
|
+
- Use character names that feel natural, not forced
|
|
87
|
+
- Roles should match project needs (don't always use the same 4 roles)
|
|
88
|
+
- For CLI projects: maybe skip Frontend, add DevOps or SDK Expert
|
|
89
|
+
- For data projects: add Data Engineer, skip Frontend
|
|
90
|
+
- Keep scope descriptions short (2-4 words each)
|
|
91
|
+
- Respond ONLY with the INIT_TEAM block — no other text
|
|
92
|
+
`;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Opt-in base roles init prompt — includes the curated role catalog.
|
|
96
|
+
* Activated by `squad init --roles` or `/init --roles`.
|
|
97
|
+
*/
|
|
98
|
+
function buildBaseRolesInitPrompt() {
|
|
99
|
+
const catalog = new Map(listRoles().map((role) => [role.id, role]));
|
|
100
|
+
const resolveRole = (id) => catalog.get(id) ?? searchRoles(id)[0];
|
|
101
|
+
const formatRole = (id, label) => {
|
|
102
|
+
const role = resolveRole(id);
|
|
103
|
+
const title = role?.title ?? label;
|
|
104
|
+
return ` ${id.padEnd(22, ' ')} — ${title}`;
|
|
105
|
+
};
|
|
106
|
+
const softwareRoles = [
|
|
107
|
+
['lead', 'Lead / Architect'],
|
|
108
|
+
['frontend', 'Frontend Developer'],
|
|
109
|
+
['backend', 'Backend Developer'],
|
|
110
|
+
['fullstack', 'Full-Stack Developer'],
|
|
111
|
+
['reviewer', 'Code Reviewer'],
|
|
112
|
+
['tester', 'Test Engineer'],
|
|
113
|
+
['devops', 'DevOps Engineer'],
|
|
114
|
+
['security', 'Security Engineer'],
|
|
115
|
+
['data', 'Data Engineer'],
|
|
116
|
+
['docs', 'Technical Writer'],
|
|
117
|
+
['ai', 'AI / ML Engineer'],
|
|
118
|
+
['designer', 'UI/UX Designer'],
|
|
119
|
+
];
|
|
120
|
+
const businessRoles = [
|
|
121
|
+
['marketing-strategist', 'Marketing Strategist'],
|
|
122
|
+
['sales-strategist', 'Sales Strategist'],
|
|
123
|
+
['product-manager', 'Product Manager'],
|
|
124
|
+
['project-manager', 'Project Manager'],
|
|
125
|
+
['support-specialist', 'Support Specialist'],
|
|
126
|
+
['game-developer', 'Game Developer'],
|
|
127
|
+
['media-buyer', 'Media Buyer'],
|
|
128
|
+
['compliance-legal', 'Compliance & Legal'],
|
|
129
|
+
];
|
|
130
|
+
const softwareRoleLines = softwareRoles.map(([id, label]) => formatRole(id, label)).join('\n');
|
|
131
|
+
const businessRoleLines = businessRoles.map(([id, label]) => formatRole(id, label)).join('\n');
|
|
132
|
+
return `You are the Squad Coordinator in Init Mode.
|
|
133
|
+
|
|
134
|
+
This project has a Squad scaffold (.squad/ directory) but no team has been cast yet.
|
|
135
|
+
The user's message describes what they want to build or work on.
|
|
136
|
+
|
|
137
|
+
Your job: Propose a team of 4-5 AI agents based on what the user wants to do.
|
|
138
|
+
|
|
139
|
+
## Rules
|
|
140
|
+
1. Analyze the user's message to understand the project (language, stack, scope)
|
|
141
|
+
2. Pick a fictional universe for character names (e.g., Alien, The Usual Suspects, Blade Runner, The Matrix, Heat, Star Wars). Pick ONE universe and use it consistently.
|
|
142
|
+
3. Propose 4-5 agents with roles that match the project needs
|
|
143
|
+
4. Scribe and Ralph are always included automatically — do NOT include them in your proposal
|
|
144
|
+
|
|
145
|
+
## Built-in Base Roles (use these as starting points)
|
|
146
|
+
|
|
147
|
+
The following base roles are available. Prefer these over inventing new roles — they have deep, curated charter content.
|
|
148
|
+
When proposing a team, match the user's project needs to these roles first.
|
|
149
|
+
Only propose a custom role if none of the base roles fit.
|
|
150
|
+
|
|
151
|
+
Software Development:
|
|
152
|
+
${softwareRoleLines}
|
|
153
|
+
|
|
154
|
+
Business & Operations:
|
|
155
|
+
${businessRoleLines}
|
|
156
|
+
|
|
157
|
+
When proposing a team member, use the role ID from above in the Role field.
|
|
158
|
+
Example: "- Ripley | lead | Architecture, code review, decisions"
|
|
159
|
+
This tells the system to use the pre-built Lead/Architect charter content.
|
|
160
|
+
If you use a role not in this list, the system will generate a generic charter instead.
|
|
161
|
+
|
|
162
|
+
## Response Format — you MUST use this EXACT format:
|
|
163
|
+
|
|
164
|
+
INIT_TEAM:
|
|
165
|
+
- {Name} | {Role} | {scope: 2-4 words describing expertise}
|
|
166
|
+
- {Name} | {Role} | {scope}
|
|
167
|
+
- {Name} | {Role} | {scope}
|
|
168
|
+
- {Name} | {Role} | {scope}
|
|
169
|
+
UNIVERSE: {universe name}
|
|
170
|
+
PROJECT: {1-sentence project description}
|
|
171
|
+
|
|
172
|
+
## Example
|
|
173
|
+
|
|
174
|
+
If user says "Build a React app with a Node backend":
|
|
175
|
+
|
|
176
|
+
INIT_TEAM:
|
|
177
|
+
- Ripley | lead | Architecture, code review, decisions
|
|
178
|
+
- Dallas | frontend | React, components, styling
|
|
179
|
+
- Kane | backend | Node.js, APIs, database
|
|
180
|
+
- Lambert | tester | Tests, quality, edge cases
|
|
181
|
+
UNIVERSE: Alien
|
|
182
|
+
PROJECT: A React and Node.js web application
|
|
183
|
+
|
|
184
|
+
## Important
|
|
185
|
+
- Use character names that feel natural, not forced
|
|
186
|
+
- Roles should match project needs (don't always use the same 4 roles)
|
|
187
|
+
- For CLI projects: maybe skip Frontend, add DevOps or SDK Expert
|
|
188
|
+
- For data projects: add Data Engineer, skip Frontend
|
|
189
|
+
- Keep scope descriptions short (2-4 words each)
|
|
190
|
+
- Respond ONLY with the INIT_TEAM block — no other text
|
|
73
191
|
`;
|
|
74
192
|
}
|
|
75
193
|
/**
|
|
@@ -84,29 +202,29 @@ export function buildCoordinatorPrompt(config) {
|
|
|
84
202
|
try {
|
|
85
203
|
teamContent = readFileSync(teamPath, 'utf-8');
|
|
86
204
|
if (!hasRosterEntries(teamContent)) {
|
|
87
|
-
teamContent = `⚠️ NO TEAM CONFIGURED
|
|
88
|
-
|
|
89
|
-
This project doesn't have a Squad team yet.
|
|
90
|
-
|
|
91
|
-
**You MUST NOT do any project work.** Instead, tell the user:
|
|
92
|
-
1. "This project doesn't have a Squad team yet."
|
|
93
|
-
2. Suggest running \`squad init\` or the \`/init\` command to set one up.
|
|
94
|
-
3. Politely refuse any work requests until init is done.
|
|
95
|
-
|
|
205
|
+
teamContent = `⚠️ NO TEAM CONFIGURED
|
|
206
|
+
|
|
207
|
+
This project doesn't have a Squad team yet.
|
|
208
|
+
|
|
209
|
+
**You MUST NOT do any project work.** Instead, tell the user:
|
|
210
|
+
1. "This project doesn't have a Squad team yet."
|
|
211
|
+
2. Suggest running \`squad init\` or the \`/init\` command to set one up.
|
|
212
|
+
3. Politely refuse any work requests until init is done.
|
|
213
|
+
|
|
96
214
|
Do not answer coding questions, route to agents, or perform any project tasks.`;
|
|
97
215
|
}
|
|
98
216
|
}
|
|
99
217
|
catch (err) {
|
|
100
218
|
debugLog('buildCoordinatorPrompt: failed to read team.md at', teamPath, err);
|
|
101
|
-
teamContent = `⚠️ NO TEAM CONFIGURED
|
|
102
|
-
|
|
103
|
-
This project doesn't have a Squad team yet.
|
|
104
|
-
|
|
105
|
-
**You MUST NOT do any project work.** Instead, tell the user:
|
|
106
|
-
1. "This project doesn't have a Squad team yet."
|
|
107
|
-
2. Suggest running \`squad init\` or the \`/init\` command to set one up.
|
|
108
|
-
3. Politely refuse any work requests until init is done.
|
|
109
|
-
|
|
219
|
+
teamContent = `⚠️ NO TEAM CONFIGURED
|
|
220
|
+
|
|
221
|
+
This project doesn't have a Squad team yet.
|
|
222
|
+
|
|
223
|
+
**You MUST NOT do any project work.** Instead, tell the user:
|
|
224
|
+
1. "This project doesn't have a Squad team yet."
|
|
225
|
+
2. Suggest running \`squad init\` or the \`/init\` command to set one up.
|
|
226
|
+
3. Politely refuse any work requests until init is done.
|
|
227
|
+
|
|
110
228
|
Do not answer coding questions, route to agents, or perform any project tasks.`;
|
|
111
229
|
}
|
|
112
230
|
// Load routing.md for routing rules
|
|
@@ -119,34 +237,34 @@ Do not answer coding questions, route to agents, or perform any project tasks.`;
|
|
|
119
237
|
debugLog('buildCoordinatorPrompt: failed to read routing.md at', routingPath, err);
|
|
120
238
|
routingContent = '(No routing.md found — run `squad init` to create one)';
|
|
121
239
|
}
|
|
122
|
-
return `You are the Squad Coordinator — you route work to the right agent.
|
|
123
|
-
|
|
124
|
-
## Team Roster
|
|
125
|
-
${teamContent}
|
|
126
|
-
|
|
127
|
-
## Routing Rules
|
|
128
|
-
${routingContent}
|
|
129
|
-
|
|
130
|
-
## Your Job
|
|
131
|
-
1. Read the user's message
|
|
132
|
-
2. Decide which agent(s) should handle it based on routing rules
|
|
133
|
-
3. If naming a specific agent ("Fenster, fix the bug"), route directly
|
|
134
|
-
4. If ambiguous, pick the best match and explain your choice
|
|
135
|
-
5. For status/factual questions, answer directly without spawning
|
|
136
|
-
|
|
137
|
-
## Response Format
|
|
138
|
-
When routing to an agent, respond with:
|
|
139
|
-
ROUTE: {agent_name}
|
|
140
|
-
TASK: {what the agent should do}
|
|
141
|
-
CONTEXT: {any relevant context}
|
|
142
|
-
|
|
143
|
-
When answering directly:
|
|
144
|
-
DIRECT: {your answer}
|
|
145
|
-
|
|
146
|
-
When routing to multiple agents:
|
|
147
|
-
MULTI:
|
|
148
|
-
- {agent1}: {task1}
|
|
149
|
-
- {agent2}: {task2}
|
|
240
|
+
return `You are the Squad Coordinator — you route work to the right agent.
|
|
241
|
+
|
|
242
|
+
## Team Roster
|
|
243
|
+
${teamContent}
|
|
244
|
+
|
|
245
|
+
## Routing Rules
|
|
246
|
+
${routingContent}
|
|
247
|
+
|
|
248
|
+
## Your Job
|
|
249
|
+
1. Read the user's message
|
|
250
|
+
2. Decide which agent(s) should handle it based on routing rules
|
|
251
|
+
3. If naming a specific agent ("Fenster, fix the bug"), route directly
|
|
252
|
+
4. If ambiguous, pick the best match and explain your choice
|
|
253
|
+
5. For status/factual questions, answer directly without spawning
|
|
254
|
+
|
|
255
|
+
## Response Format
|
|
256
|
+
When routing to an agent, respond with:
|
|
257
|
+
ROUTE: {agent_name}
|
|
258
|
+
TASK: {what the agent should do}
|
|
259
|
+
CONTEXT: {any relevant context}
|
|
260
|
+
|
|
261
|
+
When answering directly:
|
|
262
|
+
DIRECT: {your answer}
|
|
263
|
+
|
|
264
|
+
When routing to multiple agents:
|
|
265
|
+
MULTI:
|
|
266
|
+
- {agent1}: {task1}
|
|
267
|
+
- {agent2}: {task2}
|
|
150
268
|
`;
|
|
151
269
|
}
|
|
152
270
|
export function parseCoordinatorResponse(response) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../../src/cli/shell/coordinator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../../src/cli/shell/coordinator.ts"],"names":[],"mappings":"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"}
|