makecc 0.2.16 → 0.2.17
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/dist/client/assets/{index-Dlx6ST3a.css → index-1V3GQ_8q.css} +1 -1
- package/dist/client/assets/index-CzDuVmB7.js +67 -0
- package/dist/client/index.html +2 -2
- package/dist/server/index.js +1 -1
- package/dist/server/services/claudeCliService.js +1 -1
- package/dist/server/services/claudeService.js +1 -1
- package/dist/server/services/configLoaderService.js +7 -7
- package/dist/server/services/nodeSyncService.js +18 -41
- package/dist/server/services/terminalService.js +1 -1
- package/dist/server/services/workflowAIService.js +5 -5
- package/dist/server/services/workflowExecutionService.js +2 -2
- package/package.json +1 -1
- package/server/index.ts +1 -1
- package/server/services/claudeCliService.ts +1 -1
- package/server/services/claudeService.ts +1 -1
- package/server/services/configLoaderService.ts +9 -9
- package/server/services/nodeSyncService.ts +20 -50
- package/server/services/terminalService.ts +1 -1
- package/server/services/workflowAIService.ts +7 -7
- package/server/services/workflowExecutionService.ts +2 -2
- package/server/types.ts +1 -1
- package/dist/client/assets/index-Bir6nP2a.js +0 -150
|
@@ -16,14 +16,14 @@ export interface AIWorkflowResult {
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
export interface AIGeneratedNode {
|
|
19
|
-
type: 'input' | '
|
|
19
|
+
type: 'input' | 'agent' | 'skill' | 'mcp' | 'output';
|
|
20
20
|
label: string;
|
|
21
21
|
description: string;
|
|
22
22
|
config: {
|
|
23
23
|
// input
|
|
24
24
|
inputType?: 'text' | 'file' | 'select';
|
|
25
25
|
placeholder?: string;
|
|
26
|
-
//
|
|
26
|
+
// agent
|
|
27
27
|
role?: string;
|
|
28
28
|
tools?: string[];
|
|
29
29
|
model?: string;
|
|
@@ -62,7 +62,7 @@ const SYSTEM_PROMPT = `당신은 Claude Code 워크플로우 설계 전문가입
|
|
|
62
62
|
## 사용 가능한 공식 스킬
|
|
63
63
|
${AVAILABLE_SKILLS.map(s => `- ${s.id}: ${s.description}`).join('\n')}
|
|
64
64
|
|
|
65
|
-
## 사용 가능한 도구 (
|
|
65
|
+
## 사용 가능한 도구 (agent의 tools에 사용)
|
|
66
66
|
${AVAILABLE_TOOLS.join(', ')}
|
|
67
67
|
|
|
68
68
|
## 응답 형식 (JSON)
|
|
@@ -82,7 +82,7 @@ ${AVAILABLE_TOOLS.join(', ')}
|
|
|
82
82
|
}
|
|
83
83
|
},
|
|
84
84
|
{
|
|
85
|
-
"type": "
|
|
85
|
+
"type": "agent",
|
|
86
86
|
"label": "에이전트 이름",
|
|
87
87
|
"description": "에이전트 역할 설명",
|
|
88
88
|
"config": {
|
|
@@ -130,7 +130,7 @@ ${AVAILABLE_TOOLS.join(', ')}
|
|
|
130
130
|
1. 항상 input 노드로 시작하고 output 노드로 종료
|
|
131
131
|
2. 기존 공식 스킬로 가능하면 official 스킬 사용
|
|
132
132
|
3. 새로운 기능이 필요하면 custom 스킬 생성 (skillContent에 SKILL.md 형식)
|
|
133
|
-
4.
|
|
133
|
+
4. agent는 복잡한 추론이나 다단계 작업에 사용
|
|
134
134
|
5. edges의 from/to는 nodes 배열의 인덱스 (0부터 시작)
|
|
135
135
|
6. 순차적으로 연결되지 않아도 됨 (병렬 처리, 합류 가능)
|
|
136
136
|
7. systemPrompt는 구체적이고 실행 가능한 지시사항으로 작성
|
|
@@ -155,8 +155,8 @@ ${AVAILABLE_TOOLS.join(', ')}
|
|
|
155
155
|
"description": "데이터를 분석하고 보고서를 작성하는 워크플로우",
|
|
156
156
|
"nodes": [
|
|
157
157
|
{ "type": "input", "label": "데이터 파일", "description": "분석할 데이터 파일", "config": { "inputType": "file" } },
|
|
158
|
-
{ "type": "
|
|
159
|
-
{ "type": "
|
|
158
|
+
{ "type": "agent", "label": "데이터 분석가", "description": "데이터를 분석하고 인사이트 도출", "config": { "role": "analyst", "tools": ["Read", "Grep", "Glob"], "model": "sonnet", "systemPrompt": "주어진 데이터를 분석하여 핵심 인사이트를 도출하세요. 통계적 요약, 트렌드, 이상치를 파악하세요." } },
|
|
159
|
+
{ "type": "agent", "label": "보고서 작성자", "description": "분석 결과로 보고서 작성", "config": { "role": "writer", "tools": ["Read", "Write"], "model": "opus", "systemPrompt": "분석 결과를 바탕으로 경영진을 위한 간결하고 명확한 보고서를 작성하세요." } },
|
|
160
160
|
{ "type": "output", "label": "분석 보고서", "description": "최종 분석 보고서", "config": { "outputType": "document" } }
|
|
161
161
|
],
|
|
162
162
|
"edges": [{ "from": 0, "to": 1 }, { "from": 1, "to": 2 }, { "from": 2, "to": 3 }]
|
|
@@ -112,7 +112,7 @@ export class WorkflowExecutionService {
|
|
|
112
112
|
case 'input':
|
|
113
113
|
return this.executeInputNode(node, context.inputs);
|
|
114
114
|
|
|
115
|
-
case '
|
|
115
|
+
case 'agent':
|
|
116
116
|
return this.executeSubagentNode(node, previousResults, onProgress, onLog);
|
|
117
117
|
|
|
118
118
|
case 'skill':
|
|
@@ -161,7 +161,7 @@ export class WorkflowExecutionService {
|
|
|
161
161
|
onLog?.('info', `claude -c 실행 중: ${data.label} (${data.role})`);
|
|
162
162
|
|
|
163
163
|
// 프롬프트 생성
|
|
164
|
-
const prompt = buildNodePrompt('
|
|
164
|
+
const prompt = buildNodePrompt('agent', data as unknown as Record<string, unknown>, previousResults);
|
|
165
165
|
|
|
166
166
|
try {
|
|
167
167
|
onProgress?.({ nodeId: node.id, status: 'running', progress: 40 });
|
package/server/types.ts
CHANGED
|
@@ -74,7 +74,7 @@ export type WorkflowNodeData =
|
|
|
74
74
|
// Node structure for execution
|
|
75
75
|
export interface ExecutionNode {
|
|
76
76
|
id: string;
|
|
77
|
-
type: 'input' | '
|
|
77
|
+
type: 'input' | 'agent' | 'skill' | 'mcp' | 'output';
|
|
78
78
|
data: WorkflowNodeData;
|
|
79
79
|
position: { x: number; y: number };
|
|
80
80
|
}
|