@dilipod/ui 0.4.8 → 0.4.10

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.
@@ -103,6 +103,48 @@ export interface WorkflowViewerProps {
103
103
  reason?: string;
104
104
  };
105
105
  }>;
106
+ /** Export workflow from Sim Studio (backup) */
107
+ exportFromSim?: (workflowDefId: string) => Promise<{
108
+ success: boolean;
109
+ error?: string;
110
+ backup?: {
111
+ id: string;
112
+ version: number;
113
+ exportedAt: string;
114
+ };
115
+ workflow?: {
116
+ blocksCount: number;
117
+ edgesCount: number;
118
+ };
119
+ }>;
120
+ /** Get backup history for Sim workflow */
121
+ getSimBackups?: (workflowDefId: string) => Promise<{
122
+ success: boolean;
123
+ error?: string;
124
+ backups?: Array<{
125
+ id: string;
126
+ version: number;
127
+ versionLabel?: string;
128
+ workflowName: string;
129
+ isDeployed: boolean;
130
+ exportedAt: string;
131
+ }>;
132
+ }>;
133
+ /** Push workflow to Sim Studio */
134
+ pushToSim?: (workflowDefId: string) => Promise<{
135
+ success: boolean;
136
+ error?: string;
137
+ workflowId?: string;
138
+ }>;
139
+ /** Pull workflow from Sim Studio */
140
+ pullFromSim?: (workflowDefId: string) => Promise<{
141
+ success: boolean;
142
+ error?: string;
143
+ descriptionSync?: {
144
+ needsUpdate: boolean;
145
+ reason?: string;
146
+ };
147
+ }>;
106
148
  /** Create new workflow */
107
149
  createWorkflow?: (data: {
108
150
  agent_id: string;
@@ -125,7 +167,17 @@ export interface WorkflowViewerProps {
125
167
  error?: string;
126
168
  workflow?: N8nWorkflow | SimWorkflow;
127
169
  }>;
170
+ /** Switch workflow platform (e.g., n8n to Sim) */
171
+ switchPlatform?: (workflowDefId: string, targetPlatform: 'n8n' | 'sim') => Promise<{
172
+ success: boolean;
173
+ error?: string;
174
+ simWorkflowId?: string;
175
+ }>;
128
176
  };
177
+ /** Sim workflow ID (for Sim Studio integration) */
178
+ simWorkflowId?: string | null;
179
+ /** Sim Studio base URL for external links */
180
+ simStudioUrl?: string;
129
181
  /** Custom loading component */
130
182
  loadingComponent?: ReactNode;
131
183
  /** Format distance function for timestamps */
@@ -133,6 +185,6 @@ export interface WorkflowViewerProps {
133
185
  addSuffix?: boolean;
134
186
  }) => string;
135
187
  }
136
- export declare function WorkflowViewer({ workflow, platform, title, webhookUrl, workflowId, workflowDefinitionId, workerId, workerName, internalWorkerType, lastSynced, isActive, syncError, className, editable, allowCreate, allowPlatformChange, allowStatusChange, onWorkflowUpdate, onWorkflowCreated, onPlatformChange, onStatusChange, apiHandlers, loadingComponent, formatDistance, }: WorkflowViewerProps): import("react/jsx-runtime").JSX.Element;
188
+ export declare function WorkflowViewer({ workflow, platform, title, webhookUrl, workflowId, workflowDefinitionId, workerId, workerName, internalWorkerType, lastSynced, isActive, syncError, className, editable, allowCreate, allowPlatformChange, allowStatusChange, onWorkflowUpdate, onWorkflowCreated, onPlatformChange, onStatusChange, apiHandlers, loadingComponent, formatDistance, simWorkflowId, simStudioUrl, }: WorkflowViewerProps): import("react/jsx-runtime").JSX.Element;
137
189
  export default WorkflowViewer;
138
190
  //# sourceMappingURL=workflow-viewer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-viewer.d.ts","sourceRoot":"","sources":["../../src/components/workflow-viewer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-viewer.d.ts","sourceRoot":"","sources":["../../src/components/workflow-viewer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA4B,SAAS,EAAE,MAAM,OAAO,CAAA;AAmC3D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,KAAK,CAAC;QACX,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACrC,CAAC,CAAA;IACF,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,IAAI,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACjC,CAAA;IACD,KAAK,EAAE,KAAK,CAAC;QACX,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACjC,CAAC,CAAA;IACF,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,EAAE,EAAE,MAAM,CAAA;KACX,CAAC,CAAA;CACH;AAED,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,kBAAkB,GAAG,uBAAuB,GAAG,mBAAmB,GAAG,gBAAgB,GAAG,QAAQ,CAAA;AAEzI,MAAM,WAAW,mBAAmB;IAClC,yCAAyC;IACzC,QAAQ,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI,CAAA;IAC1C,yCAAyC;IACzC,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAA;IACvB,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,sCAAsC;IACtC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,mCAAmC;IACnC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,yCAAyC;IACzC,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,0BAA0B;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,mCAAmC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,kCAAkC;IAClC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,uCAAuC;IACvC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,GAAG,WAAW,KAAK,IAAI,CAAA;IAChE,wCAAwC;IACxC,iBAAiB,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAA;IACnD,qCAAqC;IACrC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,KAAK,IAAI,CAAA;IACpD,mCAAmC;IACnC,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAA;IAC5C,mDAAmD;IACnD,WAAW,CAAC,EAAE;QACZ,gCAAgC;QAChC,YAAY,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,WAAW,EAAE,QAAQ,EAAE,KAAK,GAAG,KAAK,KAAK,OAAO,CAAC;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;QACrJ,uCAAuC;QACvC,YAAY,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE;YAAE,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;YAAC,SAAS,CAAC,EAAE,OAAO,CAAA;SAAE,KAAK,OAAO,CAAC;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;QACpJ,2BAA2B;QAC3B,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;QAC/E,6BAA6B;QAC7B,WAAW,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,eAAe,CAAC,EAAE;gBAAE,WAAW,EAAE,OAAO,CAAC;gBAAC,MAAM,CAAC,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC,CAAA;QACnJ,+CAA+C;QAC/C,aAAa,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAC;gBAAC,OAAO,EAAE,MAAM,CAAC;gBAAC,UAAU,EAAE,MAAM,CAAA;aAAE,CAAC;YAAC,QAAQ,CAAC,EAAE;gBAAE,WAAW,EAAE,MAAM,CAAC;gBAAC,UAAU,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC,CAAA;QAC9M,0CAA0C;QAC1C,aAAa,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,KAAK,CAAC;gBAAE,EAAE,EAAE,MAAM,CAAC;gBAAC,OAAO,EAAE,MAAM,CAAC;gBAAC,YAAY,CAAC,EAAE,MAAM,CAAC;gBAAC,YAAY,EAAE,MAAM,CAAC;gBAAC,UAAU,EAAE,OAAO,CAAC;gBAAC,UAAU,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;SAAE,CAAC,CAAA;QAChO,kCAAkC;QAClC,SAAS,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;QACzG,oCAAoC;QACpC,WAAW,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,eAAe,CAAC,EAAE;gBAAE,WAAW,EAAE,OAAO,CAAC;gBAAC,MAAM,CAAC,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC,CAAA;QACnJ,0BAA0B;QAC1B,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAC;YAAC,YAAY,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;YAAC,YAAY,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;YAAC,SAAS,EAAE,OAAO,CAAC;YAAC,SAAS,EAAE,OAAO,CAAA;SAAE,KAAK,OAAO,CAAC;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC,CAAA;QAC9Q,6BAA6B;QAC7B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,WAAW,CAAA;SAAE,CAAC,CAAA;QACtI,kDAAkD;QAClD,cAAc,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,GAAG,KAAK,KAAK,OAAO,CAAC;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,aAAa,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KACjJ,CAAA;IACD,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,+BAA+B;IAC/B,gBAAgB,CAAC,EAAE,SAAS,CAAA;IAC5B,8CAA8C;IAC9C,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,MAAM,CAAA;CAC3E;AAuRD,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,QAAQ,EACR,KAAkB,EAClB,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,QAAQ,EACR,UAAU,EACV,kBAAkB,EAClB,UAAU,EACV,QAAQ,EACR,SAAS,EACT,SAAc,EACd,QAAgB,EAChB,WAAmB,EACnB,mBAA2B,EAC3B,iBAAyB,EACzB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,cAAsC,EACtC,aAAa,EACb,YAAY,GACb,EAAE,mBAAmB,2CA63BrB;AAED,eAAe,cAAc,CAAA"}
package/dist/icons.d.ts CHANGED
@@ -8,4 +8,5 @@
8
8
  * import { ArrowRight, Brain, CheckCircle } from '@dilipod/ui'
9
9
  */
10
10
  export * from '@phosphor-icons/react';
11
+ export type { Icon } from '@phosphor-icons/react';
11
12
  //# sourceMappingURL=icons.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../src/icons.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,cAAc,uBAAuB,CAAA"}
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../src/icons.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,cAAc,uBAAuB,CAAA;AAGrC,YAAY,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA"}
package/dist/index.js CHANGED
@@ -4948,7 +4948,9 @@ function WorkflowViewer({
4948
4948
  onStatusChange,
4949
4949
  apiHandlers,
4950
4950
  loadingComponent,
4951
- formatDistance = defaultFormatDistance
4951
+ formatDistance = defaultFormatDistance,
4952
+ simWorkflowId,
4953
+ simStudioUrl
4952
4954
  }) {
4953
4955
  const [viewMode, setViewMode] = React50.useState("summary");
4954
4956
  const [editedJson, setEditedJson] = React50.useState("");
@@ -4959,6 +4961,12 @@ function WorkflowViewer({
4959
4961
  const [pulling, setPulling] = React50.useState(false);
4960
4962
  const [creating, setCreating] = React50.useState(false);
4961
4963
  const [selectedTemplate, setSelectedTemplate] = React50.useState("blank");
4964
+ const [exporting, setExporting] = React50.useState(false);
4965
+ const [backups, setBackups] = React50.useState([]);
4966
+ const [loadingBackups, setLoadingBackups] = React50.useState(false);
4967
+ const [pushingToSim, setPushingToSim] = React50.useState(false);
4968
+ const [pullingFromSim, setPullingFromSim] = React50.useState(false);
4969
+ const [switchingPlatform, setSwitchingPlatform] = React50.useState(false);
4962
4970
  const [localPlatform, setLocalPlatform] = React50.useState(platform);
4963
4971
  const [localIsActive, setLocalIsActive] = React50.useState(isActive ?? true);
4964
4972
  const hasUnsavedChanges = localPlatform !== platform || localIsActive !== (isActive ?? true);
@@ -5113,6 +5121,111 @@ function WorkflowViewer({
5113
5121
  setPulling(false);
5114
5122
  }
5115
5123
  }
5124
+ async function exportFromSim() {
5125
+ if (!workflowDefinitionId || !simWorkflowId || !apiHandlers?.exportFromSim) {
5126
+ setMessage({ type: "error", text: "Cannot export - no Sim workflow ID or API handler" });
5127
+ return;
5128
+ }
5129
+ setExporting(true);
5130
+ setMessage(null);
5131
+ try {
5132
+ const result = await apiHandlers.exportFromSim(workflowDefinitionId);
5133
+ if (result.success) {
5134
+ const blocksCount = result.workflow?.blocksCount || 0;
5135
+ const edgesCount = result.workflow?.edgesCount || 0;
5136
+ setMessage({
5137
+ type: "success",
5138
+ text: `Exported from Sim Studio (v${result.backup?.version || 1}, ${blocksCount} blocks, ${edgesCount} edges)`
5139
+ });
5140
+ if (viewMode === "backups") {
5141
+ loadBackups();
5142
+ }
5143
+ } else {
5144
+ setMessage({ type: "error", text: result.error || "Failed to export from Sim Studio" });
5145
+ }
5146
+ } catch {
5147
+ setMessage({ type: "error", text: "Failed to export from Sim Studio" });
5148
+ } finally {
5149
+ setExporting(false);
5150
+ }
5151
+ }
5152
+ async function loadBackups() {
5153
+ if (!workflowDefinitionId || !apiHandlers?.getSimBackups) {
5154
+ return;
5155
+ }
5156
+ setLoadingBackups(true);
5157
+ try {
5158
+ const result = await apiHandlers.getSimBackups(workflowDefinitionId);
5159
+ if (result.success && result.backups) {
5160
+ setBackups(result.backups);
5161
+ }
5162
+ } catch {
5163
+ console.error("Failed to load backups");
5164
+ } finally {
5165
+ setLoadingBackups(false);
5166
+ }
5167
+ }
5168
+ function showBackups() {
5169
+ setViewMode("backups");
5170
+ loadBackups();
5171
+ }
5172
+ function openInSimStudio() {
5173
+ if (simStudioUrl && simWorkflowId) {
5174
+ window.open(`${simStudioUrl}/w/${simWorkflowId}`, "_blank");
5175
+ }
5176
+ }
5177
+ async function pushToSim() {
5178
+ if (!workflowDefinitionId || !apiHandlers?.pushToSim) {
5179
+ setMessage({ type: "error", text: "Cannot push - no workflow definition ID or API handler" });
5180
+ return;
5181
+ }
5182
+ setPushingToSim(true);
5183
+ setMessage(null);
5184
+ try {
5185
+ const result = await apiHandlers.pushToSim(workflowDefinitionId);
5186
+ if (result.success) {
5187
+ setMessage({
5188
+ type: "success",
5189
+ text: result.workflowId ? `Pushed to Sim Studio (workflow: ${result.workflowId})` : "Pushed to Sim Studio successfully"
5190
+ });
5191
+ setTimeout(() => window.location.reload(), 1500);
5192
+ } else {
5193
+ setMessage({ type: "error", text: result.error || "Failed to push to Sim Studio" });
5194
+ }
5195
+ } catch {
5196
+ setMessage({ type: "error", text: "Failed to push to Sim Studio" });
5197
+ } finally {
5198
+ setPushingToSim(false);
5199
+ }
5200
+ }
5201
+ async function pullFromSim() {
5202
+ if (!workflowDefinitionId || !simWorkflowId || !apiHandlers?.pullFromSim) {
5203
+ setMessage({ type: "error", text: "Cannot pull - no Sim workflow ID or API handler" });
5204
+ return;
5205
+ }
5206
+ setPullingFromSim(true);
5207
+ setMessage(null);
5208
+ try {
5209
+ const result = await apiHandlers.pullFromSim(workflowDefinitionId);
5210
+ if (result.success) {
5211
+ if (result.descriptionSync?.needsUpdate) {
5212
+ setMessage({
5213
+ type: "success",
5214
+ text: `Pulled from Sim Studio. Note: ${result.descriptionSync.reason || "Worker description may need updating."}`
5215
+ });
5216
+ } else {
5217
+ setMessage({ type: "success", text: "Pulled from Sim Studio successfully" });
5218
+ }
5219
+ setTimeout(() => window.location.reload(), 1500);
5220
+ } else {
5221
+ setMessage({ type: "error", text: result.error || "Failed to pull from Sim Studio" });
5222
+ }
5223
+ } catch {
5224
+ setMessage({ type: "error", text: "Failed to pull from Sim Studio" });
5225
+ } finally {
5226
+ setPullingFromSim(false);
5227
+ }
5228
+ }
5116
5229
  function startCreating() {
5117
5230
  if (internalWorkerType) {
5118
5231
  setSelectedTemplate(internalWorkerType);
@@ -5158,6 +5271,30 @@ function WorkflowViewer({
5158
5271
  setCreating(false);
5159
5272
  }
5160
5273
  }
5274
+ async function switchPlatform(targetPlatform) {
5275
+ if (!workflowDefinitionId || !apiHandlers?.switchPlatform) {
5276
+ setMessage({ type: "error", text: "Cannot switch platform - no workflow definition ID or API handler" });
5277
+ return;
5278
+ }
5279
+ setSwitchingPlatform(true);
5280
+ setMessage(null);
5281
+ try {
5282
+ const result = await apiHandlers.switchPlatform(workflowDefinitionId, targetPlatform);
5283
+ if (result.success) {
5284
+ setMessage({
5285
+ type: "success",
5286
+ text: targetPlatform === "sim" ? `Switched to Sim Studio${result.simWorkflowId ? ` (workflow: ${result.simWorkflowId})` : ""}` : "Switched to n8n"
5287
+ });
5288
+ setTimeout(() => window.location.reload(), 1500);
5289
+ } else {
5290
+ setMessage({ type: "error", text: result.error || "Failed to switch platform" });
5291
+ }
5292
+ } catch {
5293
+ setMessage({ type: "error", text: "Failed to switch platform" });
5294
+ } finally {
5295
+ setSwitchingPlatform(false);
5296
+ }
5297
+ }
5161
5298
  async function loadTemplate() {
5162
5299
  if (!workerId || !workerName || !apiHandlers?.loadTemplate) {
5163
5300
  setJsonError("Worker information or API handler required to generate template.");
@@ -5321,15 +5458,19 @@ function WorkflowViewer({
5321
5458
  lastSynced && /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
5322
5459
  "Synced ",
5323
5460
  formatDistance(new Date(lastSynced), { addSuffix: true })
5324
- ] }),
5325
- webhookUrl && /* @__PURE__ */ jsxRuntime.jsxs(
5461
+ ] })
5462
+ ] }),
5463
+ webhookUrl && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 p-2 bg-muted/50 rounded border border-border", children: [
5464
+ /* @__PURE__ */ jsxRuntime.jsx(react_star.WebhooksLogo, { size: 14, className: "text-muted-foreground flex-shrink-0" }),
5465
+ /* @__PURE__ */ jsxRuntime.jsx("code", { className: "text-xs font-mono text-foreground truncate flex-1", children: webhookUrl }),
5466
+ /* @__PURE__ */ jsxRuntime.jsxs(
5326
5467
  "button",
5327
5468
  {
5328
5469
  onClick: () => copyToClipboard(webhookUrl, "Webhook URL copied"),
5329
- className: "flex items-center gap-1 hover:text-foreground",
5470
+ className: "flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground flex-shrink-0",
5330
5471
  children: [
5331
5472
  /* @__PURE__ */ jsxRuntime.jsx(react_star.Copy, { size: 12 }),
5332
- "Copy webhook"
5473
+ "Copy"
5333
5474
  ]
5334
5475
  }
5335
5476
  )
@@ -5380,9 +5521,76 @@ function WorkflowViewer({
5380
5521
  " ",
5381
5522
  syncError
5382
5523
  ] }),
5383
- editable && workerId && platform === "n8n" && viewMode !== "edit" && apiHandlers?.pushToN8n && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
5524
+ editable && workerId && platform === "n8n" && viewMode !== "edit" && apiHandlers?.pushToN8n && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-2", children: [
5384
5525
  /* @__PURE__ */ jsxRuntime.jsx(Button, { onClick: pushToN8n, disabled: syncing, variant: "primary", size: "sm", icon: /* @__PURE__ */ jsxRuntime.jsx(react_star.CloudArrowUp, { size: 16 }), children: syncing ? "Pushing..." : "Push to n8n" }),
5385
- workflowId && apiHandlers?.pullFromN8n && /* @__PURE__ */ jsxRuntime.jsx(Button, { onClick: pullFromN8n, disabled: pulling, variant: "outline", size: "sm", icon: /* @__PURE__ */ jsxRuntime.jsx(react_star.CloudArrowDown, { size: 16 }), children: pulling ? "Pulling..." : "Pull from n8n" })
5526
+ workflowId && apiHandlers?.pullFromN8n && /* @__PURE__ */ jsxRuntime.jsx(Button, { onClick: pullFromN8n, disabled: pulling, variant: "outline", size: "sm", icon: /* @__PURE__ */ jsxRuntime.jsx(react_star.CloudArrowDown, { size: 16 }), children: pulling ? "Pulling..." : "Pull from n8n" }),
5527
+ workflowDefinitionId && apiHandlers?.switchPlatform && /* @__PURE__ */ jsxRuntime.jsx(
5528
+ Button,
5529
+ {
5530
+ onClick: () => switchPlatform("sim"),
5531
+ disabled: switchingPlatform,
5532
+ variant: "outline",
5533
+ size: "sm",
5534
+ icon: /* @__PURE__ */ jsxRuntime.jsx(react_star.ArrowsClockwise, { size: 16 }),
5535
+ className: "border-purple-300 text-purple-700 hover:bg-purple-50 hover:border-purple-400",
5536
+ children: switchingPlatform ? "Switching..." : "Switch to Sim Studio"
5537
+ }
5538
+ )
5539
+ ] }),
5540
+ platform === "sim" && viewMode !== "edit" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-2", children: [
5541
+ editable && workflowDefinitionId && apiHandlers?.pushToSim && /* @__PURE__ */ jsxRuntime.jsx(
5542
+ Button,
5543
+ {
5544
+ onClick: pushToSim,
5545
+ disabled: pushingToSim,
5546
+ variant: "primary",
5547
+ size: "sm",
5548
+ icon: /* @__PURE__ */ jsxRuntime.jsx(react_star.CloudArrowUp, { size: 16 }),
5549
+ children: pushingToSim ? "Pushing..." : "Push to Sim"
5550
+ }
5551
+ ),
5552
+ simWorkflowId && apiHandlers?.pullFromSim && /* @__PURE__ */ jsxRuntime.jsx(
5553
+ Button,
5554
+ {
5555
+ onClick: pullFromSim,
5556
+ disabled: pullingFromSim,
5557
+ variant: "outline",
5558
+ size: "sm",
5559
+ icon: /* @__PURE__ */ jsxRuntime.jsx(react_star.CloudArrowDown, { size: 16 }),
5560
+ children: pullingFromSim ? "Pulling..." : "Pull from Sim"
5561
+ }
5562
+ ),
5563
+ simWorkflowId && apiHandlers?.exportFromSim && /* @__PURE__ */ jsxRuntime.jsx(
5564
+ Button,
5565
+ {
5566
+ onClick: exportFromSim,
5567
+ disabled: exporting,
5568
+ variant: "outline",
5569
+ size: "sm",
5570
+ icon: /* @__PURE__ */ jsxRuntime.jsx(react_star.DownloadSimple, { size: 16 }),
5571
+ children: exporting ? "Exporting..." : "Export Backup"
5572
+ }
5573
+ ),
5574
+ simWorkflowId && apiHandlers?.getSimBackups && /* @__PURE__ */ jsxRuntime.jsx(
5575
+ Button,
5576
+ {
5577
+ onClick: showBackups,
5578
+ variant: "outline",
5579
+ size: "sm",
5580
+ icon: /* @__PURE__ */ jsxRuntime.jsx(react_star.ClockCounterClockwise, { size: 16 }),
5581
+ children: "History"
5582
+ }
5583
+ ),
5584
+ simStudioUrl && simWorkflowId && /* @__PURE__ */ jsxRuntime.jsx(
5585
+ Button,
5586
+ {
5587
+ onClick: openInSimStudio,
5588
+ variant: "outline",
5589
+ size: "sm",
5590
+ icon: /* @__PURE__ */ jsxRuntime.jsx(react_star.ArrowSquareOut, { size: 16 }),
5591
+ children: "Open in Sim"
5592
+ }
5593
+ )
5386
5594
  ] }),
5387
5595
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pt-2", children: viewMode === "edit" ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
5388
5596
  jsonError && /* @__PURE__ */ jsxRuntime.jsx(Alert, { variant: "error", children: jsonError }),
@@ -5398,20 +5606,60 @@ function WorkflowViewer({
5398
5606
  }
5399
5607
  ),
5400
5608
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", children: 'Edit the workflow JSON above. Changes will be saved to the database. Use "Push to n8n" to sync.' })
5401
- ] }) : viewMode === "json" ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
5402
- /* @__PURE__ */ jsxRuntime.jsx(
5403
- Button,
5609
+ ] }) : viewMode === "json" ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative rounded-sm overflow-hidden border border-border", children: [
5610
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between px-4 py-2 bg-[var(--black)] border-b border-gray-800", children: [
5611
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-gray-400", children: "JSON" }),
5612
+ /* @__PURE__ */ jsxRuntime.jsx(
5613
+ Button,
5614
+ {
5615
+ onClick: () => copyToClipboard(JSON.stringify(workflow, null, 2), "JSON copied"),
5616
+ variant: "outline",
5617
+ size: "sm",
5618
+ className: "h-7 bg-transparent border-gray-600 text-gray-300 hover:bg-gray-800 hover:text-white hover:border-gray-500",
5619
+ icon: /* @__PURE__ */ jsxRuntime.jsx(react_star.Copy, { size: 12 }),
5620
+ children: "Copy"
5621
+ }
5622
+ )
5623
+ ] }),
5624
+ /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "p-4 bg-[var(--black)] text-gray-100 text-xs overflow-auto max-h-[500px] font-mono", children: JSON.stringify(workflow, null, 2) })
5625
+ ] }) : viewMode === "flow" ? platform === "n8n" && /* @__PURE__ */ jsxRuntime.jsx(React50.Suspense, { fallback: loadingComponent || DefaultLoading, children: /* @__PURE__ */ jsxRuntime.jsx(WorkflowFlow2, { workflow, height: 380 }) }) : viewMode === "backups" ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
5626
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
5627
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-sm font-medium", children: "Backup History" }),
5628
+ /* @__PURE__ */ jsxRuntime.jsx(
5629
+ Button,
5630
+ {
5631
+ onClick: () => setViewMode("summary"),
5632
+ variant: "outline",
5633
+ size: "sm",
5634
+ children: "Back to Summary"
5635
+ }
5636
+ )
5637
+ ] }),
5638
+ loadingBackups ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "py-8 text-center text-muted-foreground", children: "Loading backups..." }) : backups.length === 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "py-8 text-center text-muted-foreground", children: [
5639
+ /* @__PURE__ */ jsxRuntime.jsx(react_star.ClockCounterClockwise, { size: 32, className: "mx-auto mb-2 opacity-50" }),
5640
+ /* @__PURE__ */ jsxRuntime.jsx("p", { children: "No backups yet" }),
5641
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs mt-1", children: 'Click "Export from Sim" to create a backup' })
5642
+ ] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-2", children: backups.map((backup) => /* @__PURE__ */ jsxRuntime.jsx(
5643
+ "div",
5404
5644
  {
5405
- onClick: () => copyToClipboard(JSON.stringify(workflow, null, 2), "JSON copied"),
5406
- variant: "outline",
5407
- size: "sm",
5408
- className: "absolute top-2 right-2 z-10",
5409
- icon: /* @__PURE__ */ jsxRuntime.jsx(react_star.Copy, { size: 14 }),
5410
- children: "Copy"
5411
- }
5412
- ),
5413
- /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "p-4 bg-slate-900 text-slate-100 rounded-lg text-xs overflow-auto max-h-[500px] font-mono", children: JSON.stringify(workflow, null, 2) })
5414
- ] }) : viewMode === "flow" ? platform === "n8n" && /* @__PURE__ */ jsxRuntime.jsx(React50.Suspense, { fallback: loadingComponent || DefaultLoading, children: /* @__PURE__ */ jsxRuntime.jsx(WorkflowFlow2, { workflow, height: 380 }) }) : platform === "n8n" ? /* @__PURE__ */ jsxRuntime.jsx(N8nWorkflowSummary, { workflow, showFlow: false }) : /* @__PURE__ */ jsxRuntime.jsx(SimWorkflowSummary, { workflow }) })
5645
+ className: "flex items-center justify-between p-3 bg-muted/50 rounded border border-border",
5646
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
5647
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-center w-8 h-8 rounded bg-primary/10 text-primary text-sm font-semibold", children: [
5648
+ "v",
5649
+ backup.version
5650
+ ] }),
5651
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
5652
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium", children: backup.versionLabel || backup.workflowName }),
5653
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-xs text-muted-foreground", children: [
5654
+ formatDistance(new Date(backup.exportedAt), { addSuffix: true }),
5655
+ backup.isDeployed && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "success", size: "sm", className: "ml-2", children: "Deployed" })
5656
+ ] })
5657
+ ] })
5658
+ ] })
5659
+ },
5660
+ backup.id
5661
+ )) })
5662
+ ] }) : platform === "n8n" ? /* @__PURE__ */ jsxRuntime.jsx(N8nWorkflowSummary, { workflow, showFlow: false }) : /* @__PURE__ */ jsxRuntime.jsx(SimWorkflowSummary, { workflow }) })
5415
5663
  ] })
5416
5664
  ] });
5417
5665
  }