mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-01-31 20:03:37 +00:00
Merge v0.8.0rc into feat/cursor-cli
Resolved conflicts: - sdk-options.ts: kept HEAD (MCP & thinking level features) - auto-mode-service.ts: kept HEAD (MCP features + fallback code) - agent-output-modal.tsx: used v0.8.0rc (effectiveViewMode + pr-8 spacing) - feature-suggestions-dialog.tsx: accepted deletion - electron.ts: used v0.8.0rc (Ideation types) - package-lock.json: regenerated Fixed sdk-options.test.ts to expect 'default' permissionMode for read-only operations. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -27,6 +27,13 @@ import type {
|
||||
GitHubPR,
|
||||
IssueValidationInput,
|
||||
IssueValidationEvent,
|
||||
IdeationAPI,
|
||||
IdeaCategory,
|
||||
AnalysisSuggestion,
|
||||
StartSessionOptions,
|
||||
CreateIdeaInput,
|
||||
UpdateIdeaInput,
|
||||
ConvertToFeatureOptions,
|
||||
} from './electron';
|
||||
import type { Message, SessionListItem } from '@/types/electron';
|
||||
import type { Feature, ClaudeUsageResponse } from '@/store/app-store';
|
||||
@@ -371,7 +378,9 @@ type EventType =
|
||||
| 'suggestions:event'
|
||||
| 'spec-regeneration:event'
|
||||
| 'issue-validation:event'
|
||||
| 'backlog-plan:event';
|
||||
| 'backlog-plan:event'
|
||||
| 'ideation:stream'
|
||||
| 'ideation:analysis';
|
||||
|
||||
type EventCallback = (payload: unknown) => void;
|
||||
|
||||
@@ -1577,8 +1586,6 @@ export class HttpApiClient implements ElectronAPI {
|
||||
headers?: Record<string, string>;
|
||||
enabled?: boolean;
|
||||
}>;
|
||||
mcpAutoApproveTools?: boolean;
|
||||
mcpUnrestrictedTools?: boolean;
|
||||
};
|
||||
error?: string;
|
||||
}> => this.get('/api/settings/global'),
|
||||
@@ -1779,6 +1786,66 @@ export class HttpApiClient implements ElectronAPI {
|
||||
},
|
||||
};
|
||||
|
||||
// Ideation API - brainstorming and idea management
|
||||
ideation: IdeationAPI = {
|
||||
startSession: (projectPath: string, options?: StartSessionOptions) =>
|
||||
this.post('/api/ideation/session/start', { projectPath, options }),
|
||||
|
||||
getSession: (projectPath: string, sessionId: string) =>
|
||||
this.post('/api/ideation/session/get', { projectPath, sessionId }),
|
||||
|
||||
sendMessage: (
|
||||
sessionId: string,
|
||||
message: string,
|
||||
options?: { imagePaths?: string[]; model?: string }
|
||||
) => this.post('/api/ideation/session/message', { sessionId, message, options }),
|
||||
|
||||
stopSession: (sessionId: string) => this.post('/api/ideation/session/stop', { sessionId }),
|
||||
|
||||
listIdeas: (projectPath: string) => this.post('/api/ideation/ideas/list', { projectPath }),
|
||||
|
||||
createIdea: (projectPath: string, idea: CreateIdeaInput) =>
|
||||
this.post('/api/ideation/ideas/create', { projectPath, idea }),
|
||||
|
||||
getIdea: (projectPath: string, ideaId: string) =>
|
||||
this.post('/api/ideation/ideas/get', { projectPath, ideaId }),
|
||||
|
||||
updateIdea: (projectPath: string, ideaId: string, updates: UpdateIdeaInput) =>
|
||||
this.post('/api/ideation/ideas/update', { projectPath, ideaId, updates }),
|
||||
|
||||
deleteIdea: (projectPath: string, ideaId: string) =>
|
||||
this.post('/api/ideation/ideas/delete', { projectPath, ideaId }),
|
||||
|
||||
analyzeProject: (projectPath: string) => this.post('/api/ideation/analyze', { projectPath }),
|
||||
|
||||
generateSuggestions: (
|
||||
projectPath: string,
|
||||
promptId: string,
|
||||
category: IdeaCategory,
|
||||
count?: number
|
||||
) =>
|
||||
this.post('/api/ideation/suggestions/generate', { projectPath, promptId, category, count }),
|
||||
|
||||
convertToFeature: (projectPath: string, ideaId: string, options?: ConvertToFeatureOptions) =>
|
||||
this.post('/api/ideation/convert', { projectPath, ideaId, ...options }),
|
||||
|
||||
addSuggestionToBoard: (
|
||||
projectPath: string,
|
||||
suggestion: AnalysisSuggestion
|
||||
): Promise<{ success: boolean; featureId?: string; error?: string }> =>
|
||||
this.post('/api/ideation/add-suggestion', { projectPath, suggestion }),
|
||||
|
||||
getPrompts: () => this.get('/api/ideation/prompts'),
|
||||
|
||||
onStream: (callback: (event: any) => void): (() => void) => {
|
||||
return this.subscribeToEvent('ideation:stream', callback as EventCallback);
|
||||
},
|
||||
|
||||
onAnalysisEvent: (callback: (event: any) => void): (() => void) => {
|
||||
return this.subscribeToEvent('ideation:analysis', callback as EventCallback);
|
||||
},
|
||||
};
|
||||
|
||||
// MCP API - Test MCP server connections and list tools
|
||||
// SECURITY: Only accepts serverId, not arbitrary serverConfig, to prevent
|
||||
// drive-by command execution attacks. Servers must be saved first.
|
||||
|
||||
Reference in New Issue
Block a user