[agent-pipeline] pipe-20260329160157-3bqb round-1
This commit is contained in:
@@ -74,7 +74,7 @@ function detectDisconnectedNodes(nodes: FlowNode[], edges: FlowEdge[]): FlowVali
|
||||
nodeId: node.id,
|
||||
severity: "warning",
|
||||
type: "disconnected-node",
|
||||
message: `"${node.data.displayName || node.type}" 노드가 다른 노드와 연결되어 있지 않습니다. 이 노드는 실행되지 않습니다.`,
|
||||
message: `"${(node.data as any).displayName || node.type}" 노드가 다른 노드와 연결되어 있지 않습니다. 이 노드는 실행되지 않습니다.`,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -163,7 +163,7 @@ function detectParallelConflicts(nodes: FlowNode[], edges: FlowEdge[]): FlowVali
|
||||
const tableMap = new Map<string, FlowNode[]>();
|
||||
|
||||
for (const node of updateNodes) {
|
||||
const tableName = node.data.targetTable || node.data.externalTargetTable;
|
||||
const tableName = (node.data as any).targetTable || (node.data as any).externalTargetTable;
|
||||
if (tableName) {
|
||||
if (!tableMap.has(tableName)) {
|
||||
tableMap.set(tableName, []);
|
||||
@@ -179,7 +179,7 @@ function detectParallelConflicts(nodes: FlowNode[], edges: FlowEdge[]): FlowVali
|
||||
const fieldMap = new Map<string, FlowNode[]>();
|
||||
|
||||
for (const node of conflictNodes) {
|
||||
const fields = node.data.fieldMappings?.map((m: any) => m.targetField) || [];
|
||||
const fields = (node.data as any).fieldMappings?.map((m: any) => m.targetField) || [];
|
||||
for (const field of fields) {
|
||||
if (!fieldMap.has(field)) {
|
||||
fieldMap.set(field, []);
|
||||
@@ -226,7 +226,7 @@ function detectMissingWhereConditions(nodes: FlowNode[]): FlowValidation[] {
|
||||
|
||||
for (const node of nodes) {
|
||||
if (node.type === "updateAction" || node.type === "deleteAction") {
|
||||
const whereConditions = node.data.whereConditions;
|
||||
const whereConditions = (node.data as any).whereConditions;
|
||||
|
||||
if (!whereConditions || whereConditions.length === 0) {
|
||||
validations.push({
|
||||
@@ -293,7 +293,7 @@ function detectCircularReferences(nodes: FlowNode[], edges: FlowEdge[]): FlowVal
|
||||
const nodeNames = cycle
|
||||
.map((id) => {
|
||||
const node = nodes.find((n) => n.id === id);
|
||||
return node?.data.displayName || node?.type || id;
|
||||
return (node?.data as any)?.displayName || node?.type || id;
|
||||
})
|
||||
.join(" → ");
|
||||
|
||||
@@ -321,7 +321,7 @@ function detectDataSourceMismatch(nodes: FlowNode[], edges: FlowEdge[]): FlowVal
|
||||
// Source 노드들의 타입 수집
|
||||
for (const node of nodes) {
|
||||
if (node.type === "tableSource" || node.type === "externalDBSource") {
|
||||
const dataSourceType = node.data.dataSourceType || "context-data";
|
||||
const dataSourceType = (node.data as any).dataSourceType || "context-data";
|
||||
nodeDataSourceTypes.set(node.id, dataSourceType);
|
||||
}
|
||||
}
|
||||
@@ -341,7 +341,7 @@ function detectDataSourceMismatch(nodes: FlowNode[], edges: FlowEdge[]): FlowVal
|
||||
|
||||
// table-all 모드인데 WHERE에 특정 레코드 조건이 있는 경우
|
||||
if (dataSourceType === "table-all") {
|
||||
const whereConditions = node.data.whereConditions || [];
|
||||
const whereConditions = (node.data as any).whereConditions || [];
|
||||
const hasPrimaryKeyCondition = whereConditions.some((cond: any) => cond.field === "id");
|
||||
|
||||
if (hasPrimaryKeyCondition) {
|
||||
|
||||
Reference in New Issue
Block a user