Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
193 changes: 193 additions & 0 deletions src/commands/ignite.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import { MetadataManager } from '../lib/MetadataManager.js'
import { TelemetryService } from '../lib/TelemetryService.js'
import * as languageDetector from '../utils/language-detector.js'
import * as systemPromptWriter from '../utils/system-prompt-writer.js'

// Mock TelemetryService
vi.mock('../lib/TelemetryService.js', () => {
Expand Down Expand Up @@ -1306,6 +1307,7 @@
},
}),
formatForCli: vi.fn((agents) => agents),
renderAgentsToDisk: vi.fn().mockResolvedValue([]),
}

const originalCwd = process.cwd
Expand All @@ -1323,7 +1325,7 @@

// Verify agents were loaded and passed to launchClaude
expect(mockAgentManager.loadAgents).toHaveBeenCalled()
expect(mockAgentManager.formatForCli).toHaveBeenCalled()

Check failure on line 1328 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (20)

src/commands/ignite.test.ts > IgniteCommand > agent loading > should load agents for issue workflow

AssertionError: expected "spy" to be called at least once ❯ src/commands/ignite.test.ts:1328:43

Check failure on line 1328 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (18)

src/commands/ignite.test.ts > IgniteCommand > agent loading > should load agents for issue workflow

AssertionError: expected "spy" to be called at least once ❯ src/commands/ignite.test.ts:1328:43

Check failure on line 1328 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (22)

src/commands/ignite.test.ts > IgniteCommand > agent loading > should load agents for issue workflow

AssertionError: expected "spy" to be called at least once ❯ src/commands/ignite.test.ts:1328:43

Check failure on line 1328 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (22)

src/commands/ignite.test.ts > IgniteCommand > agent loading > should load agents for issue workflow

AssertionError: expected "spy" to be called at least once ❯ src/commands/ignite.test.ts:1328:43

Check failure on line 1328 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (20)

src/commands/ignite.test.ts > IgniteCommand > agent loading > should load agents for issue workflow

AssertionError: expected "spy" to be called at least once ❯ src/commands/ignite.test.ts:1328:43

Check failure on line 1328 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (18)

src/commands/ignite.test.ts > IgniteCommand > agent loading > should load agents for issue workflow

AssertionError: expected "spy" to be called at least once ❯ src/commands/ignite.test.ts:1328:43

const launchClaudeCall = launchClaudeSpy.mock.calls[0]
expect(launchClaudeCall[1]).toHaveProperty('agents')
Expand Down Expand Up @@ -1359,6 +1361,7 @@
},
}),
formatForCli: vi.fn((agents) => agents),
renderAgentsToDisk: vi.fn().mockResolvedValue([]),
}

const originalCwd = process.cwd
Expand All @@ -1374,7 +1377,7 @@
await commandWithAgents.execute()

expect(mockAgentManager.loadAgents).toHaveBeenCalled()
expect(mockAgentManager.formatForCli).toHaveBeenCalled()

Check failure on line 1380 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (20)

src/commands/ignite.test.ts > IgniteCommand > agent loading > should load agents for PR workflow

AssertionError: expected "spy" to be called at least once ❯ src/commands/ignite.test.ts:1380:43

Check failure on line 1380 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (18)

src/commands/ignite.test.ts > IgniteCommand > agent loading > should load agents for PR workflow

AssertionError: expected "spy" to be called at least once ❯ src/commands/ignite.test.ts:1380:43

Check failure on line 1380 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (22)

src/commands/ignite.test.ts > IgniteCommand > agent loading > should load agents for PR workflow

AssertionError: expected "spy" to be called at least once ❯ src/commands/ignite.test.ts:1380:43

Check failure on line 1380 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (22)

src/commands/ignite.test.ts > IgniteCommand > agent loading > should load agents for PR workflow

AssertionError: expected "spy" to be called at least once ❯ src/commands/ignite.test.ts:1380:43

Check failure on line 1380 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (20)

src/commands/ignite.test.ts > IgniteCommand > agent loading > should load agents for PR workflow

AssertionError: expected "spy" to be called at least once ❯ src/commands/ignite.test.ts:1380:43

Check failure on line 1380 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (18)

src/commands/ignite.test.ts > IgniteCommand > agent loading > should load agents for PR workflow

AssertionError: expected "spy" to be called at least once ❯ src/commands/ignite.test.ts:1380:43

const launchClaudeCall = launchClaudeSpy.mock.calls[0]
expect(launchClaudeCall[1]).toHaveProperty('agents')
Expand All @@ -1398,6 +1401,7 @@
},
}),
formatForCli: vi.fn((agents) => agents),
renderAgentsToDisk: vi.fn().mockResolvedValue([]),
}

const originalCwd = process.cwd
Expand All @@ -1413,7 +1417,7 @@
await commandWithAgents.execute()

expect(mockAgentManager.loadAgents).toHaveBeenCalled()
expect(mockAgentManager.formatForCli).toHaveBeenCalled()

Check failure on line 1420 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (20)

src/commands/ignite.test.ts > IgniteCommand > agent loading > should load agents for regular workflow

AssertionError: expected "spy" to be called at least once ❯ src/commands/ignite.test.ts:1420:43

Check failure on line 1420 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (18)

src/commands/ignite.test.ts > IgniteCommand > agent loading > should load agents for regular workflow

AssertionError: expected "spy" to be called at least once ❯ src/commands/ignite.test.ts:1420:43

Check failure on line 1420 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (22)

src/commands/ignite.test.ts > IgniteCommand > agent loading > should load agents for regular workflow

AssertionError: expected "spy" to be called at least once ❯ src/commands/ignite.test.ts:1420:43

Check failure on line 1420 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (22)

src/commands/ignite.test.ts > IgniteCommand > agent loading > should load agents for regular workflow

AssertionError: expected "spy" to be called at least once ❯ src/commands/ignite.test.ts:1420:43

Check failure on line 1420 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (20)

src/commands/ignite.test.ts > IgniteCommand > agent loading > should load agents for regular workflow

AssertionError: expected "spy" to be called at least once ❯ src/commands/ignite.test.ts:1420:43

Check failure on line 1420 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (18)

src/commands/ignite.test.ts > IgniteCommand > agent loading > should load agents for regular workflow

AssertionError: expected "spy" to be called at least once ❯ src/commands/ignite.test.ts:1420:43

const launchClaudeCall = launchClaudeSpy.mock.calls[0]
expect(launchClaudeCall[1]).toHaveProperty('agents')
Expand All @@ -1430,6 +1434,7 @@
const mockAgentManager = {
loadAgents: vi.fn().mockRejectedValue(new Error('Failed to load agents')),
formatForCli: vi.fn(),
renderAgentsToDisk: vi.fn().mockResolvedValue([]),
}

const originalCwd = process.cwd
Expand Down Expand Up @@ -1476,6 +1481,7 @@
},
}),
formatForCli: vi.fn((agents) => agents),
renderAgentsToDisk: vi.fn().mockResolvedValue([]),
}

const originalCwd = process.cwd
Expand All @@ -1495,7 +1501,7 @@
expect(launchClaudeCall[1]).toHaveProperty('mcpConfig')
expect(launchClaudeCall[1]).toHaveProperty('allowedTools')
expect(launchClaudeCall[1]).toHaveProperty('disallowedTools')
expect(launchClaudeCall[1]).toHaveProperty('agents')

Check failure on line 1504 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (20)

src/commands/ignite.test.ts > IgniteCommand > agent loading > should combine agents with existing MCP config and tool filtering

AssertionError: expected { headless: false, …(9) } to have property "agents" ❯ src/commands/ignite.test.ts:1504:33

Check failure on line 1504 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (18)

src/commands/ignite.test.ts > IgniteCommand > agent loading > should combine agents with existing MCP config and tool filtering

AssertionError: expected { headless: false, …(9) } to have property "agents" ❯ src/commands/ignite.test.ts:1504:33

Check failure on line 1504 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (22)

src/commands/ignite.test.ts > IgniteCommand > agent loading > should combine agents with existing MCP config and tool filtering

AssertionError: expected { headless: false, …(9) } to have property "agents" ❯ src/commands/ignite.test.ts:1504:33

Check failure on line 1504 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (22)

src/commands/ignite.test.ts > IgniteCommand > agent loading > should combine agents with existing MCP config and tool filtering

AssertionError: expected { headless: false, …(9) } to have property "agents" ❯ src/commands/ignite.test.ts:1504:33

Check failure on line 1504 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (20)

src/commands/ignite.test.ts > IgniteCommand > agent loading > should combine agents with existing MCP config and tool filtering

AssertionError: expected { headless: false, …(9) } to have property "agents" ❯ src/commands/ignite.test.ts:1504:33

Check failure on line 1504 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (18)

src/commands/ignite.test.ts > IgniteCommand > agent loading > should combine agents with existing MCP config and tool filtering

AssertionError: expected { headless: false, …(9) } to have property "agents" ❯ src/commands/ignite.test.ts:1504:33

expect(launchClaudeCall[1].agents).toEqual({
'combined-agent': {
Expand All @@ -1513,6 +1519,176 @@
})
})

describe('platform-specific agent and system prompt handling', () => {
it('should render agents to disk on Linux instead of passing to launchClaude', async () => {
const launchClaudeSpy = vi.spyOn(claudeUtils, 'launchClaude').mockResolvedValue(undefined)
const getRepoInfoSpy = vi.spyOn(githubUtils, 'getRepoInfo').mockResolvedValue({
owner: 'testowner',
name: 'testrepo',
})

const mockAgentManager = {
loadAgents: vi.fn().mockResolvedValue({
'test-agent': {
description: 'Test agent',
prompt: 'Test prompt',
tools: ['Read'],
model: 'sonnet',
},
}),
formatForCli: vi.fn((agents) => agents),
renderAgentsToDisk: vi.fn().mockResolvedValue(['test-agent.md']),
}

const originalCwd = process.cwd
process.cwd = vi.fn().mockReturnValue('/path/to/feat/issue-123__test')
const originalPlatform = process.platform

Object.defineProperty(process, 'platform', { value: 'linux', configurable: true })

const commandWithAgents = new IgniteCommand(
mockTemplateManager,
mockGitWorktreeManager,
mockAgentManager as never,
)

try {
await commandWithAgents.execute()

// Verify renderAgentsToDisk was called instead of formatForCli
expect(mockAgentManager.renderAgentsToDisk).toHaveBeenCalledWith(
expect.objectContaining({ 'test-agent': expect.any(Object) }),
'/path/to/feat/issue-123__test/.claude/agents',
)
expect(mockAgentManager.formatForCli).not.toHaveBeenCalled()

// Verify agents is NOT passed to launchClaude
const launchClaudeCall = launchClaudeSpy.mock.calls[0]
expect(launchClaudeCall[1].agents).toBeUndefined()

// Verify system prompt is still passed inline (Linux uses appendSystemPrompt)
expect(launchClaudeCall[1].appendSystemPrompt).toBeDefined()
} finally {
Object.defineProperty(process, 'platform', { value: originalPlatform, configurable: true })
process.cwd = originalCwd
launchClaudeSpy.mockRestore()
getRepoInfoSpy.mockRestore()
}
})

it('should use plugin-dir and /clear prompt on Windows', async () => {
const launchClaudeSpy = vi.spyOn(claudeUtils, 'launchClaude').mockResolvedValue(undefined)
const getRepoInfoSpy = vi.spyOn(githubUtils, 'getRepoInfo').mockResolvedValue({
owner: 'testowner',
name: 'testrepo',
})

// Mock prepareSystemPromptForPlatform to return Windows-style config
const prepareSystemPromptSpy = vi.spyOn(systemPromptWriter, 'prepareSystemPromptForPlatform').mockResolvedValue({
pluginDir: '/path/to/feat/issue-123__test/.claude/iloom-plugin',
initialPromptOverride: '/clear',
})

const mockAgentManager = {
loadAgents: vi.fn().mockResolvedValue({
'test-agent': {
description: 'Test agent',
prompt: 'Test prompt',
tools: ['Read'],
model: 'sonnet',
},
}),
formatForCli: vi.fn((agents) => agents),
renderAgentsToDisk: vi.fn().mockResolvedValue(['test-agent.md']),
}

const originalCwd = process.cwd
process.cwd = vi.fn().mockReturnValue('/path/to/feat/issue-123__test')
const originalPlatform = process.platform

Object.defineProperty(process, 'platform', { value: 'win32', configurable: true })

const commandWithAgents = new IgniteCommand(
mockTemplateManager,
mockGitWorktreeManager,
mockAgentManager as never,
)

try {
await commandWithAgents.execute()

// Verify renderAgentsToDisk was called (non-darwin platform)
expect(mockAgentManager.renderAgentsToDisk).toHaveBeenCalled()
expect(mockAgentManager.formatForCli).not.toHaveBeenCalled()

// Verify launchClaude uses plugin-dir and /clear prompt
const launchClaudeCall = launchClaudeSpy.mock.calls[0]
expect(launchClaudeCall[0]).toBe('/clear') // initial prompt override
expect(launchClaudeCall[1].pluginDir).toBe('/path/to/feat/issue-123__test/.claude/iloom-plugin')
expect(launchClaudeCall[1].appendSystemPrompt).toBeUndefined()
expect(launchClaudeCall[1].agents).toBeUndefined()
} finally {
Object.defineProperty(process, 'platform', { value: originalPlatform, configurable: true })
process.cwd = originalCwd
launchClaudeSpy.mockRestore()
getRepoInfoSpy.mockRestore()
prepareSystemPromptSpy.mockRestore()
}
})

it('should use formatForCli and inline agents on macOS (unchanged behavior)', async () => {
const launchClaudeSpy = vi.spyOn(claudeUtils, 'launchClaude').mockResolvedValue(undefined)
const getRepoInfoSpy = vi.spyOn(githubUtils, 'getRepoInfo').mockResolvedValue({
owner: 'testowner',
name: 'testrepo',
})

const mockAgentManager = {
loadAgents: vi.fn().mockResolvedValue({
'test-agent': {
description: 'Test agent',
prompt: 'Test prompt',
tools: ['Read'],
model: 'sonnet',
},
}),
formatForCli: vi.fn((agents) => agents),
renderAgentsToDisk: vi.fn().mockResolvedValue([]),
}

const originalCwd = process.cwd
process.cwd = vi.fn().mockReturnValue('/path/to/feat/issue-123__test')

// Ensure we're on darwin (tests run on macOS)
const originalPlatform = process.platform
Object.defineProperty(process, 'platform', { value: 'darwin', configurable: true })

const commandWithAgents = new IgniteCommand(
mockTemplateManager,
mockGitWorktreeManager,
mockAgentManager as never,
)

try {
await commandWithAgents.execute()

// Verify formatForCli was called (darwin path)
expect(mockAgentManager.formatForCli).toHaveBeenCalled()
expect(mockAgentManager.renderAgentsToDisk).not.toHaveBeenCalled()

// Verify agents ARE passed to launchClaude
const launchClaudeCall = launchClaudeSpy.mock.calls[0]
expect(launchClaudeCall[1].agents).toBeDefined()
expect(launchClaudeCall[1].appendSystemPrompt).toBeDefined()
} finally {
Object.defineProperty(process, 'platform', { value: originalPlatform, configurable: true })
process.cwd = originalCwd
launchClaudeSpy.mockRestore()
getRepoInfoSpy.mockRestore()
}
})
})

describe('settings integration', () => {
it('should load settings and pass to AgentManager', async () => {
const launchClaudeSpy = vi.spyOn(claudeUtils, 'launchClaude').mockResolvedValue(undefined)
Expand Down Expand Up @@ -1544,6 +1720,7 @@
},
}),
formatForCli: vi.fn((agents) => agents),
renderAgentsToDisk: vi.fn().mockResolvedValue([]),
}

const originalCwd = process.cwd
Expand Down Expand Up @@ -1600,6 +1777,7 @@
},
}),
formatForCli: vi.fn((agents) => agents),
renderAgentsToDisk: vi.fn().mockResolvedValue([]),
}

const originalCwd = process.cwd
Expand Down Expand Up @@ -1655,6 +1833,7 @@
},
}),
formatForCli: vi.fn((agents) => agents),
renderAgentsToDisk: vi.fn().mockResolvedValue([]),
}

const originalCwd = process.cwd
Expand Down Expand Up @@ -1712,6 +1891,7 @@
},
}),
formatForCli: vi.fn((agents) => agents),
renderAgentsToDisk: vi.fn().mockResolvedValue([]),
}

const originalCwd = process.cwd
Expand All @@ -1728,7 +1908,7 @@
await commandWithSettings.execute()

const launchClaudeCall = launchClaudeSpy.mock.calls[0]
expect(launchClaudeCall[1]).toHaveProperty('agents')

Check failure on line 1911 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (20)

src/commands/ignite.test.ts > IgniteCommand > settings integration > should pass merged agent configs to Claude CLI

AssertionError: expected { headless: false, …(9) } to have property "agents" ❯ src/commands/ignite.test.ts:1911:33

Check failure on line 1911 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (18)

src/commands/ignite.test.ts > IgniteCommand > settings integration > should pass merged agent configs to Claude CLI

AssertionError: expected { headless: false, …(9) } to have property "agents" ❯ src/commands/ignite.test.ts:1911:33

Check failure on line 1911 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (22)

src/commands/ignite.test.ts > IgniteCommand > settings integration > should pass merged agent configs to Claude CLI

AssertionError: expected { headless: false, …(9) } to have property "agents" ❯ src/commands/ignite.test.ts:1911:33

Check failure on line 1911 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (22)

src/commands/ignite.test.ts > IgniteCommand > settings integration > should pass merged agent configs to Claude CLI

AssertionError: expected { headless: false, …(9) } to have property "agents" ❯ src/commands/ignite.test.ts:1911:33

Check failure on line 1911 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (20)

src/commands/ignite.test.ts > IgniteCommand > settings integration > should pass merged agent configs to Claude CLI

AssertionError: expected { headless: false, …(9) } to have property "agents" ❯ src/commands/ignite.test.ts:1911:33

Check failure on line 1911 in src/commands/ignite.test.ts

View workflow job for this annotation

GitHub Actions / Test Suite (18)

src/commands/ignite.test.ts > IgniteCommand > settings integration > should pass merged agent configs to Claude CLI

AssertionError: expected { headless: false, …(9) } to have property "agents" ❯ src/commands/ignite.test.ts:1911:33
expect(launchClaudeCall[1].agents).toEqual({
'test-agent': {
description: 'Test agent',
Expand Down Expand Up @@ -1773,6 +1953,7 @@
const mockAgentManager = {
loadAgents: vi.fn().mockResolvedValue({}),
formatForCli: vi.fn((agents) => agents),
renderAgentsToDisk: vi.fn().mockResolvedValue([]),
}

const originalCwd = process.cwd
Expand Down Expand Up @@ -2568,6 +2749,7 @@
const mockAgentManager = {
loadAgents: vi.fn().mockResolvedValue({}),
formatForCli: vi.fn((agents) => agents),
renderAgentsToDisk: vi.fn().mockResolvedValue([]),
}

const commandWithDraftPr = new IgniteCommand(
Expand Down Expand Up @@ -2631,6 +2813,7 @@
const mockAgentManager = {
loadAgents: vi.fn().mockResolvedValue({}),
formatForCli: vi.fn((agents) => agents),
renderAgentsToDisk: vi.fn().mockResolvedValue([]),
}

const commandWithDraftPr = new IgniteCommand(
Expand Down Expand Up @@ -2694,6 +2877,7 @@
const mockAgentManager = {
loadAgents: vi.fn().mockResolvedValue({}),
formatForCli: vi.fn((agents) => agents),
renderAgentsToDisk: vi.fn().mockResolvedValue([]),
}

const commandStandard = new IgniteCommand(
Expand Down Expand Up @@ -2754,6 +2938,7 @@
const mockAgentManager = {
loadAgents: vi.fn().mockResolvedValue({}),
formatForCli: vi.fn((agents) => agents),
renderAgentsToDisk: vi.fn().mockResolvedValue([]),
}

const commandWithValidRemote = new IgniteCommand(
Expand Down Expand Up @@ -2814,6 +2999,7 @@
const mockAgentManager = {
loadAgents: vi.fn().mockResolvedValue({}),
formatForCli: vi.fn((agents) => agents),
renderAgentsToDisk: vi.fn().mockResolvedValue([]),
}

const commandWithInvalidRemote = new IgniteCommand(
Expand Down Expand Up @@ -2871,6 +3057,7 @@
const mockAgentManager = {
loadAgents: vi.fn().mockResolvedValue({}),
formatForCli: vi.fn((agents) => agents),
renderAgentsToDisk: vi.fn().mockResolvedValue([]),
}

const commandWithSpaceRemote = new IgniteCommand(
Expand Down Expand Up @@ -2928,6 +3115,7 @@
const mockAgentManager = {
loadAgents: vi.fn().mockResolvedValue({}),
formatForCli: vi.fn((agents) => agents),
renderAgentsToDisk: vi.fn().mockResolvedValue([]),
}

const commandWithDefaultRemote = new IgniteCommand(
Expand Down Expand Up @@ -3174,6 +3362,7 @@
{
loadAgents: vi.fn().mockResolvedValue([]),
formatForCli: vi.fn().mockReturnValue({}),
renderAgentsToDisk: vi.fn().mockResolvedValue([]),
} as never,
{
loadSettings: vi.fn().mockResolvedValue({
Expand Down Expand Up @@ -3280,6 +3469,7 @@
{
loadAgents: vi.fn().mockResolvedValue([]),
formatForCli: vi.fn().mockReturnValue({}),
renderAgentsToDisk: vi.fn().mockResolvedValue([]),
} as never,
{
loadSettings: vi.fn().mockResolvedValue({
Expand Down Expand Up @@ -3533,6 +3723,7 @@
const mockAgentManager = {
loadAgents: vi.fn().mockResolvedValue([]),
formatForCli: vi.fn().mockReturnValue({}),
renderAgentsToDisk: vi.fn().mockResolvedValue([]),
}

return new IgniteCommand(
Expand Down Expand Up @@ -3977,6 +4168,7 @@
{
loadAgents: vi.fn().mockResolvedValue([]),
formatForCli: vi.fn().mockReturnValue({}),
renderAgentsToDisk: vi.fn().mockResolvedValue([]),
} as never,
{
loadSettings: vi.fn().mockResolvedValue({
Expand Down Expand Up @@ -4089,6 +4281,7 @@
const mockAgentManager = {
loadAgents: vi.fn().mockResolvedValue({}),
formatForCli: vi.fn().mockReturnValue({}),
renderAgentsToDisk: vi.fn().mockResolvedValue([]),
}

const mockFirstRunManager = {
Expand Down
Loading
Loading