@yiyi_zhang/reactflow-ui 0.4.0 → 1.0.0
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 +140 -101
- package/dist/AiWorkflowIDE.d.ts +219 -0
- package/dist/WorkflowIDE.d.ts +4 -4
- package/dist/ai.d.ts +34 -0
- package/dist/components/AICopilot/ParameterSuggester.d.ts +9 -0
- package/dist/components/AiNative/AgentTimeline.d.ts +23 -0
- package/dist/components/AiNative/AiCommandCenter.d.ts +40 -0
- package/dist/components/AiNative/AiConfigPanel.d.ts +9 -0
- package/dist/components/AiNative/BusinessCanvas.d.ts +15 -0
- package/dist/components/AiNative/CanvasPreview.d.ts +16 -0
- package/dist/components/AiNative/ClarificationCard.d.ts +9 -0
- package/dist/components/AiNative/FailureSummaryCard.d.ts +20 -0
- package/dist/components/AiNative/InlineCanvasCopilot.d.ts +7 -0
- package/dist/components/AiNative/LibraryPanel.d.ts +9 -0
- package/dist/components/AiNative/MermaidBlock.d.ts +6 -0
- package/dist/components/AiNative/PlanCard.d.ts +15 -0
- package/dist/components/AiNative/ProposalPreviewCard.d.ts +21 -0
- package/dist/components/AiNative/RecommendationCard.d.ts +10 -0
- package/dist/components/AiNative/RepairCard.d.ts +17 -0
- package/dist/components/AiNative/ReviewBar.d.ts +21 -0
- package/dist/components/AiNative/WorkflowRunCard.d.ts +14 -0
- package/dist/components/BrandLogo.d.ts +13 -0
- package/dist/components/Controls/ModeSlider.d.ts +2 -0
- package/dist/components/ExecutionWaterfallPanel.d.ts +3 -0
- package/dist/components/SandboxConfigModal.d.ts +7 -0
- package/dist/components/StructuredJsonViewer.d.ts +11 -0
- package/dist/components/nodes/NodeLayout.d.ts +3 -1
- package/dist/components/nodes/NodeWrapper.d.ts +2 -1
- package/dist/hooks/useNodeExecution.d.ts +5 -2
- package/dist/hooks/useNodeLayout.d.ts +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/logo.svg +37 -0
- package/dist/product-launch.html +1400 -0
- package/dist/reactflow-ui-ai.es.js +21433 -0
- package/dist/reactflow-ui.css +1 -1
- package/dist/reactflow-ui.es.js +12482 -8252
- package/dist/reactflow-ui.umd.js +38 -20
- package/dist/services/ai/agentRunner.d.ts +55 -0
- package/dist/services/ai/contextEngine.d.ts +83 -0
- package/dist/services/ai/draftPersistence.d.ts +23 -0
- package/dist/services/ai/errorMessages.d.ts +16 -0
- package/dist/services/ai/intentClassifier.d.ts +17 -0
- package/dist/services/ai/protocolAdapter.d.ts +114 -0
- package/dist/services/ai/ruleEngine.d.ts +57 -0
- package/dist/services/ai/schemaRegistry.d.ts +51 -0
- package/dist/services/ai/systemPrompt.d.ts +30 -0
- package/dist/services/ai/toolDefs.d.ts +9 -0
- package/dist/services/ai/toolExecutor.d.ts +96 -0
- package/dist/services/ai/toolRegistry.d.ts +38 -0
- package/dist/services/ai/transport.d.ts +58 -0
- package/dist/services/ai/workflowSynthesizer.d.ts +118 -0
- package/dist/services/aiService.d.ts +7 -5
- package/dist/services/wlsp/workflowLsp.d.ts +101 -0
- package/dist/store/aiStore.d.ts +230 -0
- package/dist/store/ideStoresContext.d.ts +39 -0
- package/dist/store/libraryStore.d.ts +25 -0
- package/dist/types/aiEvents.d.ts +40 -0
- package/dist/types/conductor.d.ts +6 -1
- package/dist/types/workflow.d.ts +43 -0
- package/dist/types/workflowLibrary.d.ts +27 -0
- package/dist/utils/localSandboxEngine.d.ts +49 -0
- package/dist/utils/nodeMeta.d.ts +6 -0
- package/dist/utils/proposalPreview.d.ts +19 -0
- package/dist/utils/taskTypeMeta.d.ts +18 -0
- package/dist/utils/workflowToMermaid.d.ts +7 -0
- package/package.json +19 -6
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AiCommandCenter — AI chat panel (left side of AiWorkflowIDE)
|
|
3
|
+
*
|
|
4
|
+
* Tabs: 对话 | 工作流库
|
|
5
|
+
* Features: welcome chips, API-key onboarding, pending-proposal guard,
|
|
6
|
+
* streaming messages, tool-call pipeline.
|
|
7
|
+
*/
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import type { WorkflowInstance } from '../../types/conductor';
|
|
10
|
+
import type { ExecutionActions } from '../../types/workflow';
|
|
11
|
+
import type { AiEvent } from '../../types/aiEvents';
|
|
12
|
+
interface AiCommandCenterProps {
|
|
13
|
+
systemPrompt?: string;
|
|
14
|
+
systemPromptExtra?: string;
|
|
15
|
+
showConfigButton?: boolean;
|
|
16
|
+
onShowConfig: () => void;
|
|
17
|
+
executionActions?: ExecutionActions;
|
|
18
|
+
onAiEvent?: (event: AiEvent) => void;
|
|
19
|
+
aiPermissions?: {
|
|
20
|
+
canEdit?: boolean;
|
|
21
|
+
canRepair?: boolean;
|
|
22
|
+
restrictionMessage?: string;
|
|
23
|
+
};
|
|
24
|
+
/** Whether the canvas drawer is currently open */
|
|
25
|
+
canvasOpen?: boolean;
|
|
26
|
+
onOpenCanvas?: () => void;
|
|
27
|
+
onCloseCanvas?: () => void;
|
|
28
|
+
/** Trigger execution of the current workflow. Signature matches WorkflowIDE's onTriggerExecution. */
|
|
29
|
+
onTriggerExecution?: (workflowName: string, version: number, input: Record<string, any>) => Promise<{
|
|
30
|
+
workflowId: string;
|
|
31
|
+
}>;
|
|
32
|
+
/** Poll execution status by workflowId. Signature matches WorkflowIDE's onPollExecution. */
|
|
33
|
+
onPollExecution?: (workflowId: string) => Promise<WorkflowInstance | null>;
|
|
34
|
+
/** Accept the pending proposal (full accept) */
|
|
35
|
+
onAccept?: () => void;
|
|
36
|
+
/** Reject the pending proposal */
|
|
37
|
+
onReject?: () => void;
|
|
38
|
+
}
|
|
39
|
+
declare const AiCommandCenter: React.FC<AiCommandCenterProps>;
|
|
40
|
+
export default AiCommandCenter;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BusinessCanvas — renders a WorkflowDef as business-friendly step cards
|
|
3
|
+
* for non-technical users (business view mode).
|
|
4
|
+
*/
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import type { WorkflowDef } from '../../types/conductor';
|
|
7
|
+
interface BusinessCanvasProps {
|
|
8
|
+
workflowDef: WorkflowDef | null;
|
|
9
|
+
/** Task statuses from execution (ref → status) */
|
|
10
|
+
executionStatus?: Record<string, string>;
|
|
11
|
+
/** Called when user clicks a step to ask AI about it */
|
|
12
|
+
onStepClick?: (taskRef: string, taskType: string) => void;
|
|
13
|
+
}
|
|
14
|
+
declare const BusinessCanvas: React.FC<BusinessCanvasProps>;
|
|
15
|
+
export default BusinessCanvas;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CanvasPreview — 画布预览组件
|
|
3
|
+
*
|
|
4
|
+
* 包裹现有的 WorkflowDesigner,作为右侧预览区。
|
|
5
|
+
* 后续会增加 Ghost 节点叠加层。
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import type { ExecutionActions } from '../../types/workflow';
|
|
9
|
+
import type { WorkflowDef } from '../../types/conductor';
|
|
10
|
+
interface CanvasPreviewProps {
|
|
11
|
+
onSave?: (def: WorkflowDef) => void;
|
|
12
|
+
onRequestImport?: () => void;
|
|
13
|
+
executionActions?: ExecutionActions;
|
|
14
|
+
}
|
|
15
|
+
declare const CanvasPreview: React.FC<CanvasPreviewProps>;
|
|
16
|
+
export default CanvasPreview;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { PendingClarification } from '../../store/aiStore';
|
|
3
|
+
interface ClarificationCardProps {
|
|
4
|
+
clarification: PendingClarification;
|
|
5
|
+
onSelect: (optionLabel: string) => void;
|
|
6
|
+
onCustom: () => void;
|
|
7
|
+
}
|
|
8
|
+
declare const ClarificationCard: React.FC<ClarificationCardProps>;
|
|
9
|
+
export default ClarificationCard;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FailureSummaryCard — proactive failure surface for run-mode (M4.1)
|
|
3
|
+
*
|
|
4
|
+
* The runtime banner + welcome-message chips only appear near the top of the
|
|
5
|
+
* conversation; if a workflow fails mid-conversation the user has to scroll back
|
|
6
|
+
* to find a "why did this fail" suggestion. This card appears wherever the user
|
|
7
|
+
* currently is the moment a failure is detected, with the failed task's own error
|
|
8
|
+
* reason and a one-click path straight into diagnosis (skips having to phrase the
|
|
9
|
+
* question themselves).
|
|
10
|
+
*/
|
|
11
|
+
import React from 'react';
|
|
12
|
+
interface FailureSummaryCardProps {
|
|
13
|
+
taskRef: string;
|
|
14
|
+
taskType: string;
|
|
15
|
+
reason?: string;
|
|
16
|
+
onDiagnose: () => void;
|
|
17
|
+
onDismiss: () => void;
|
|
18
|
+
}
|
|
19
|
+
declare const FailureSummaryCard: React.FC<FailureSummaryCardProps>;
|
|
20
|
+
export default FailureSummaryCard;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { AIServiceConfig } from '../../services/aiService';
|
|
3
|
+
interface InlineCanvasCopilotProps {
|
|
4
|
+
aiConfig?: Partial<AIServiceConfig>;
|
|
5
|
+
}
|
|
6
|
+
export declare const InlineCanvasCopilot: React.FC<InlineCanvasCopilotProps>;
|
|
7
|
+
export default InlineCanvasCopilot;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LibraryPanel — L1/L2/L3 sub-workflow catalog browser
|
|
3
|
+
*
|
|
4
|
+
* Allows users to search the workflow library and insert workflows
|
|
5
|
+
* as SUB_WORKFLOW tasks directly onto the canvas (creates a proposal).
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
declare const LibraryPanel: React.FC;
|
|
9
|
+
export default LibraryPanel;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PlanCard — displays an AI-proposed multi-step execution plan
|
|
3
|
+
*
|
|
4
|
+
* Shown in the chat when the AI calls propose_plan before executing a
|
|
5
|
+
* complex multi-step operation. The user can confirm or cancel.
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import type { PendingPlan } from '../../store/aiStore';
|
|
9
|
+
interface PlanCardProps {
|
|
10
|
+
plan: PendingPlan;
|
|
11
|
+
onExecute: () => void;
|
|
12
|
+
onCancel: () => void;
|
|
13
|
+
}
|
|
14
|
+
declare const PlanCard: React.FC<PlanCardProps>;
|
|
15
|
+
export default PlanCard;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ProposalPreviewCard — business step preview for AI proposals (UX Phase A / M2.2 + Semantic Verification Badge)
|
|
3
|
+
*
|
|
4
|
+
* Replaces the old "+N 新增 ~N 修改" number-chip summary with an actual preview of
|
|
5
|
+
* what the workflow will look like: every step in business language, added steps
|
|
6
|
+
* highlighted green, modified steps yellow with a one-line change description,
|
|
7
|
+
* removed steps struck through in place, plus a holistic semantic & data-flow
|
|
8
|
+
* verification badge.
|
|
9
|
+
*/
|
|
10
|
+
import React from 'react';
|
|
11
|
+
import type { ProposedChange } from '../../store/aiStore';
|
|
12
|
+
import type { WorkflowDef } from '../../types/conductor';
|
|
13
|
+
interface ProposalPreviewCardProps {
|
|
14
|
+
proposal: ProposedChange;
|
|
15
|
+
currentDef: WorkflowDef | null;
|
|
16
|
+
isStale: boolean;
|
|
17
|
+
onAccept: () => void;
|
|
18
|
+
onReject: () => void;
|
|
19
|
+
}
|
|
20
|
+
declare const ProposalPreviewCard: React.FC<ProposalPreviewCardProps>;
|
|
21
|
+
export default ProposalPreviewCard;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { PendingRecommendation } from '../../store/aiStore';
|
|
3
|
+
interface RecommendationCardProps {
|
|
4
|
+
recommendation: PendingRecommendation;
|
|
5
|
+
onUseWorkflow: (workflowName: string) => void;
|
|
6
|
+
onModifyWorkflow: (workflowName: string) => void;
|
|
7
|
+
onCreateNew: () => void;
|
|
8
|
+
}
|
|
9
|
+
declare const RecommendationCard: React.FC<RecommendationCardProps>;
|
|
10
|
+
export default RecommendationCard;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RepairCard — AI-generated repair proposal for run-mode failures
|
|
3
|
+
*
|
|
4
|
+
* Shown when the AI calls propose_repair in run mode.
|
|
5
|
+
* Displays a diagnosis and a list of executable repair actions.
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import type { RepairProposal, RepairAction } from '../../store/aiStore';
|
|
9
|
+
interface RepairCardProps {
|
|
10
|
+
repair: RepairProposal;
|
|
11
|
+
/** True when the corresponding execution actions are available */
|
|
12
|
+
canExecute: boolean;
|
|
13
|
+
onExecuteAction: (action: RepairAction) => void;
|
|
14
|
+
onDismiss: () => void;
|
|
15
|
+
}
|
|
16
|
+
declare const RepairCard: React.FC<RepairCardProps>;
|
|
17
|
+
export default RepairCard;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ReviewBar — canvas-side status bar for the pending AI proposal (M2.2 simplified)
|
|
3
|
+
*
|
|
4
|
+
* The chat-inline ProposalPreviewCard is the single decision point for AI proposals
|
|
5
|
+
* (business step preview, accept/reject). When the user opens the canvas drawer,
|
|
6
|
+
* ReviewBar just reflects that a proposal is pending and offers the same two
|
|
7
|
+
* actions — it doesn't duplicate the review UI or offer per-item selection
|
|
8
|
+
* (that granular-accept UI was engineering-facing and has been removed; the
|
|
9
|
+
* AI-native way to keep only part of a proposal is to say so in chat and let the
|
|
10
|
+
* model regenerate). `applyPartialProposal` remains exported from toolExecutor for
|
|
11
|
+
* integrators who want to build their own granular-accept UI.
|
|
12
|
+
*/
|
|
13
|
+
import React from 'react';
|
|
14
|
+
import type { ProposedChange } from '../../store/aiStore';
|
|
15
|
+
interface ReviewBarProps {
|
|
16
|
+
proposal: ProposedChange | null;
|
|
17
|
+
onAccept: () => void;
|
|
18
|
+
onReject: () => void;
|
|
19
|
+
}
|
|
20
|
+
declare const ReviewBar: React.FC<ReviewBarProps>;
|
|
21
|
+
export default ReviewBar;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { WorkflowDef, WorkflowInstance } from '../../types/conductor';
|
|
3
|
+
interface WorkflowRunCardProps {
|
|
4
|
+
workflowDef: WorkflowDef;
|
|
5
|
+
/** Signature matches WorkflowIDE's onTriggerExecution — one adapter serves both components. */
|
|
6
|
+
onTriggerExecution: (workflowName: string, version: number, input: Record<string, any>) => Promise<{
|
|
7
|
+
workflowId: string;
|
|
8
|
+
}>;
|
|
9
|
+
/** Signature matches WorkflowIDE's onPollExecution: null while pending, WorkflowInstance once available. */
|
|
10
|
+
onPollExecution: (workflowId: string) => Promise<WorkflowInstance | null>;
|
|
11
|
+
onClose: () => void;
|
|
12
|
+
}
|
|
13
|
+
declare const WorkflowRunCard: React.FC<WorkflowRunCardProps>;
|
|
14
|
+
export default WorkflowRunCard;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface BrandLogoProps {
|
|
3
|
+
size?: number;
|
|
4
|
+
className?: string;
|
|
5
|
+
style?: React.CSSProperties;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Conductor Workflow IDE 极简几何品牌 Logo
|
|
9
|
+
*
|
|
10
|
+
* 设计语言:深空圆角矩形底座 + 贝塞尔双分支编排流向 + 三色确定性拓扑节点(靛紫起点 → 青蓝分支 / 翠绿沙箱通过节点)
|
|
11
|
+
*/
|
|
12
|
+
export declare const BrandLogo: React.FC<BrandLogoProps>;
|
|
13
|
+
export default BrandLogo;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface StructuredJsonViewerProps {
|
|
3
|
+
data: any;
|
|
4
|
+
/** Optional taskReferenceName to generate `${taskRef.output.xxx}` expressions on hover */
|
|
5
|
+
taskReferenceName?: string;
|
|
6
|
+
/** Either 'output' or 'input' (or 'workflow.input') for expression path generation */
|
|
7
|
+
expressionScope?: 'output' | 'input' | 'workflow.input';
|
|
8
|
+
maxHeight?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare const StructuredJsonViewer: React.FC<StructuredJsonViewerProps>;
|
|
11
|
+
export default StructuredJsonViewer;
|
|
@@ -4,7 +4,9 @@ interface NodeLayoutProps {
|
|
|
4
4
|
icon: React.ElementType;
|
|
5
5
|
header: string;
|
|
6
6
|
title: string;
|
|
7
|
+
subTitle?: string;
|
|
7
8
|
meta?: string;
|
|
9
|
+
duration?: string;
|
|
8
10
|
color: string;
|
|
9
11
|
status?: ExecutionStatus;
|
|
10
12
|
isRunning?: boolean;
|
|
@@ -12,5 +14,5 @@ interface NodeLayoutProps {
|
|
|
12
14
|
width?: string | number;
|
|
13
15
|
border?: boolean;
|
|
14
16
|
}
|
|
15
|
-
declare const _default: React.MemoExoticComponent<({ icon: Icon, header, title, meta, color, status, isRunning, children, width,
|
|
17
|
+
declare const _default: React.MemoExoticComponent<({ icon: Icon, header, title, subTitle, meta, duration, color, status, isRunning, children, width, }: NodeLayoutProps) => import("react/jsx-runtime").JSX.Element>;
|
|
16
18
|
export default _default;
|
|
@@ -12,6 +12,7 @@ interface NodeWrapperProps {
|
|
|
12
12
|
executionStatus?: ExecutionStatus;
|
|
13
13
|
simRunning?: boolean;
|
|
14
14
|
simDone?: boolean;
|
|
15
|
+
proposalStatus?: 'added' | 'modified' | 'removed';
|
|
15
16
|
}
|
|
16
|
-
declare const NodeWrapper: ({ children, nodeId, selected, isStartOrEnd, isError, hasWarning, isDecision, isHighlighted, executionStatus, simRunning, simDone, }: NodeWrapperProps) => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
declare const NodeWrapper: ({ children, nodeId, selected, isStartOrEnd, isError, hasWarning, isDecision, isHighlighted, executionStatus, simRunning, simDone, proposalStatus, }: NodeWrapperProps) => import("react/jsx-runtime").JSX.Element;
|
|
17
18
|
export default NodeWrapper;
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import type { TaskExecutionData } from '../types/workflow';
|
|
1
2
|
/**
|
|
2
|
-
* 获取节点的运行态信息(mode、executionData、retryCount
|
|
3
|
+
* 获取节点的运行态信息(mode、executionData、retryCount),
|
|
4
|
+
* 支持 DO_WHILE 循环迭代轮次切换与 Time-Travel 时间旅行状态投影。
|
|
3
5
|
*/
|
|
4
6
|
export declare const useNodeExecution: (taskReferenceName: string) => {
|
|
5
7
|
mode: import("../types/workflow").EditorMode;
|
|
6
|
-
execution:
|
|
8
|
+
execution: TaskExecutionData | null;
|
|
7
9
|
isRunning: boolean;
|
|
8
10
|
retryCount: number;
|
|
11
|
+
durationText: string | undefined;
|
|
9
12
|
};
|
|
@@ -4,7 +4,7 @@ import { WorkflowNodeData } from '../types/workflow';
|
|
|
4
4
|
* 从节点数据中计算 Handle 的 source/target 位置
|
|
5
5
|
*/
|
|
6
6
|
export declare const useNodeLayout: (data: WorkflowNodeData) => {
|
|
7
|
-
layoutDirection: import("../
|
|
7
|
+
layoutDirection: import("../ai").LayoutDirection;
|
|
8
8
|
sourcePosition: Position;
|
|
9
9
|
targetPosition: Position;
|
|
10
10
|
};
|
package/dist/index.d.ts
CHANGED
|
@@ -3,4 +3,8 @@ export type { WorkflowIDEProps, WorkflowIDERef } from './WorkflowIDE';
|
|
|
3
3
|
export type { WorkflowDef, TaskDef, WorkflowInputParam, WorkflowInstance } from './types/conductor';
|
|
4
4
|
export { parseWorkflowInputParams } from './types/conductor';
|
|
5
5
|
export type { AIServiceConfig } from './services/aiService';
|
|
6
|
-
export type { ExecutionActions, RestartOptions, ViewMode, RunState } from './types/workflow';
|
|
6
|
+
export type { ExecutionActions, RestartOptions, ViewMode, RunState, WorkflowExecutionInput } from './types/workflow';
|
|
7
|
+
export { getCompletionItems, buildDataFlowGraph, refactorTaskReferenceName, getUpstreamAncestors, inferTaskOutputSchema, } from './services/wlsp/workflowLsp';
|
|
8
|
+
export type { WlspCompletionItem, DataFlowGraph, DataFlowEdge, InferredField, UpstreamTaskInfo, } from './services/wlsp/workflowLsp';
|
|
9
|
+
export { executeLocalSandboxDryRun, buildDefaultWorkflowMockInput, generateDefaultTaskOutputPreview, } from './utils/localSandboxEngine';
|
|
10
|
+
export type { SandboxDryRunOptions, TaskMockOverride, } from './utils/localSandboxEngine';
|
package/dist/logo.svg
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" fill="none">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="bg-grad" x1="0" y1="0" x2="32" y2="32" gradientUnits="userSpaceOnUse">
|
|
4
|
+
<stop offset="0%" stop-color="#11172B" />
|
|
5
|
+
<stop offset="100%" stop-color="#090D18" />
|
|
6
|
+
</linearGradient>
|
|
7
|
+
<linearGradient id="border-grad" x1="0" y1="0" x2="32" y2="32" gradientUnits="userSpaceOnUse">
|
|
8
|
+
<stop offset="0%" stop-color="#6366F1" stop-opacity="0.75" />
|
|
9
|
+
<stop offset="100%" stop-color="#06B6D4" stop-opacity="0.45" />
|
|
10
|
+
</linearGradient>
|
|
11
|
+
<linearGradient id="branch-top" x1="9" y1="16" x2="23" y2="10" gradientUnits="userSpaceOnUse">
|
|
12
|
+
<stop offset="0%" stop-color="#818CF8" />
|
|
13
|
+
<stop offset="100%" stop-color="#22D3EE" />
|
|
14
|
+
</linearGradient>
|
|
15
|
+
<linearGradient id="branch-bottom" x1="9" y1="16" x2="23" y2="22" gradientUnits="userSpaceOnUse">
|
|
16
|
+
<stop offset="0%" stop-color="#6366F1" />
|
|
17
|
+
<stop offset="100%" stop-color="#34D399" />
|
|
18
|
+
</linearGradient>
|
|
19
|
+
</defs>
|
|
20
|
+
|
|
21
|
+
<!-- Minimalist Squircle Base -->
|
|
22
|
+
<rect x="1.25" y="1.25" width="29.5" height="29.5" rx="8" fill="url(#bg-grad)" stroke="url(#border-grad)" stroke-width="1.5" />
|
|
23
|
+
|
|
24
|
+
<!-- Bifurcated DAG Flow Curves -->
|
|
25
|
+
<path d="M 9.5 16 C 15 16, 15.5 10, 22.5 10" stroke="url(#branch-top)" stroke-width="2.4" stroke-linecap="round" />
|
|
26
|
+
<path d="M 9.5 16 C 15 16, 15.5 22, 22.5 22" stroke="url(#branch-bottom)" stroke-width="2.4" stroke-linecap="round" />
|
|
27
|
+
|
|
28
|
+
<!-- Origin Root Node -->
|
|
29
|
+
<circle cx="9.5" cy="16" r="3.4" fill="#6366F1" />
|
|
30
|
+
<circle cx="9.5" cy="16" r="1.4" fill="#F8FAFC" />
|
|
31
|
+
|
|
32
|
+
<!-- Upper Branch Target Node -->
|
|
33
|
+
<circle cx="22.5" cy="10" r="2.7" fill="#22D3EE" />
|
|
34
|
+
|
|
35
|
+
<!-- Lower Branch Deterministic Pass Node -->
|
|
36
|
+
<circle cx="22.5" cy="22" r="2.7" fill="#34D399" />
|
|
37
|
+
</svg>
|