@loopstack/loopstack-studio 0.29.5 → 0.31.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.
Files changed (122) hide show
  1. package/dist/_virtual/rolldown_runtime.js +3 -1
  2. package/dist/api/config.js +5 -4
  3. package/dist/api/environments.js +5 -1
  4. package/dist/api/processor.js +4 -1
  5. package/dist/app/EnvironmentEmbedRoot.js +22 -30
  6. package/dist/components/ai-elements/code-block.js +4 -4
  7. package/dist/components/dynamic-form/CodeContent.js +1 -1
  8. package/dist/components/dynamic-form/FormBody.js +1 -1
  9. package/dist/components/layout/StudioSidebar.js +116 -131
  10. package/dist/components/lists/ListView.js +46 -46
  11. package/dist/components/motion/FadeIn.js +72 -0
  12. package/dist/components/motion/StreamingText.js +49 -0
  13. package/dist/components/ui/accordion.js +2 -2
  14. package/dist/components/ui-widgets/UiWidget.js +11 -10
  15. package/dist/components/ui-widgets/widgets/AiPromptInput.js +31 -28
  16. package/dist/events/sse-client-events.js +7 -1
  17. package/dist/features/code-explorer/components/FileContentViewer.js +2 -2
  18. package/dist/features/dashboard/AppLauncher.js +84 -0
  19. package/dist/features/debug/components/WorkflowFlowViewer.js +49 -51
  20. package/dist/features/documents/DocumentRenderer.js +18 -17
  21. package/dist/features/documents/components/DocumentItem.js +42 -20
  22. package/dist/features/documents/components/DocumentList.js +34 -36
  23. package/dist/features/documents/components/DocumentMetadataPills.js +102 -49
  24. package/dist/features/documents/document-details/DocumentDetails.js +577 -377
  25. package/dist/features/documents/document-details/PromptDetails.js +118 -130
  26. package/dist/features/documents/document-details/document-debug-utils.js +100 -0
  27. package/dist/features/documents/renderers/ChoicesRenderer.js +41 -38
  28. package/dist/features/documents/renderers/ConfirmPromptRenderer.js +31 -28
  29. package/dist/features/documents/renderers/DocumentFormRenderer.js +62 -70
  30. package/dist/features/documents/renderers/LlmMessage.js +52 -47
  31. package/dist/features/documents/renderers/TextPromptRenderer.js +32 -29
  32. package/dist/features/documents/renderers/useDocumentTransition.js +4 -4
  33. package/dist/features/feature-registry/FeatureRegistryProvider.js +32 -10
  34. package/dist/features/feature-registry/available-features.js +12 -0
  35. package/dist/features/feature-registry/index.js +2 -1
  36. package/dist/features/file-explorer/components/FileExplorerPanel.js +55 -51
  37. package/dist/features/git/components/GitBranchBadge.js +31 -0
  38. package/dist/features/git/components/GitCommitList.js +46 -0
  39. package/dist/features/git/components/GitRemoteStatus.js +84 -0
  40. package/dist/features/git/components/WorkbenchGitPanel.js +81 -0
  41. package/dist/features/git/git-feature.js +12 -0
  42. package/dist/features/git/hooks/useGit.js +78 -0
  43. package/dist/features/git/index.js +1 -0
  44. package/dist/features/oauth/OAuthPromptRenderer.js +137 -142
  45. package/dist/features/runs/Runs.js +73 -73
  46. package/dist/features/secrets/components/WorkbenchSecretsPanel.js +1 -1
  47. package/dist/features/secrets/renderers/SecretInputRenderer.js +30 -29
  48. package/dist/features/workbench/Workbench.js +25 -33
  49. package/dist/features/workbench/WorkflowItem.js +9 -9
  50. package/dist/features/workbench/WorkflowList.js +61 -62
  51. package/dist/features/workbench/components/NewRunDialog.js +237 -209
  52. package/dist/features/workbench/components/RecentRunItem.js +3 -3
  53. package/dist/features/workbench/components/WorkbenchEnvironmentPanel.js +8 -8
  54. package/dist/features/workbench/components/WorkbenchIconSidebar.js +74 -109
  55. package/dist/features/workbench/components/WorkbenchSidebarShell.js +3 -3
  56. package/dist/features/workbench/components/WorkflowForms.js +11 -10
  57. package/dist/features/workbench/components/WorkflowHistoryItem.js +16 -36
  58. package/dist/features/workbench/components/WorkflowHistoryList.js +19 -17
  59. package/dist/features/workbench/components/buttons/WorkflowButtons.js +3 -3
  60. package/dist/features/workbench/hooks/useLlmStreamingDocuments.js +159 -0
  61. package/dist/features/workbench/hooks/useWorkflowData.js +58 -31
  62. package/dist/features/workbench/index.js +2 -2
  63. package/dist/features/workbench/providers/WorkbenchLayoutProvider.js +53 -53
  64. package/dist/features/workspaces/Workspaces.js +166 -136
  65. package/dist/features/workspaces/components/CreateWorkspace.js +115 -107
  66. package/dist/features/workspaces/components/ExecutionTimeline.js +2 -2
  67. package/dist/features/workspaces/components/WorkflowRunForm.js +127 -104
  68. package/dist/features/workspaces/components/WorkspaceHomePage.js +6 -89
  69. package/dist/features/workspaces/components/workflow-form/ArgumentsView.js +1 -1
  70. package/dist/features/workspaces/components/workflow-form/SelectionView.js +15 -15
  71. package/dist/hooks/index.js +3 -2
  72. package/dist/hooks/query-keys.js +43 -30
  73. package/dist/hooks/useConfig.js +28 -22
  74. package/dist/hooks/useEnvironments.js +27 -2
  75. package/dist/hooks/useProcessor.js +14 -1
  76. package/dist/hooks/useWorkflows.js +4 -4
  77. package/dist/index.d.ts +119 -18
  78. package/dist/index.js +10 -9
  79. package/dist/node_modules/d3/src/index.js +13 -13
  80. package/dist/node_modules/d3-scale/src/continuous.js +16 -16
  81. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/architectureDiagram-3BPJPVTR.js +43 -43
  82. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/blockDiagram-GPEHLZMM.js +270 -270
  83. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/c4Diagram-AAUBKEIU.js +90 -90
  84. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-3OPIFGDE.js +458 -458
  85. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-55IACEB6.js +3 -3
  86. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-5ZQYHXKU.js +37 -37
  87. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-727SXJPM.js +208 -208
  88. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-KSCS5N6A.js +145 -145
  89. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-ND2GUHAM.js +7 -7
  90. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-O5CBEL6O.js +41 -41
  91. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-WU5MYG2G.js +3 -3
  92. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/cose-bilkent-S5V4N54A.js +6 -6
  93. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/diagram-KO2AKTUF.js +30 -30
  94. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/diagram-OG6HWLK6.js +82 -82
  95. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/erDiagram-TEJ5UH35.js +65 -65
  96. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/flowDiagram-I6XJVG4X.js +227 -227
  97. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/ganttDiagram-6RSMTGT7.js +104 -104
  98. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/gitGraphDiagram-PVQCEYII.js +104 -104
  99. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/journeyDiagram-JHISSGLW.js +49 -49
  100. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/quadrantDiagram-W4KKPZXB.js +101 -101
  101. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/sankeyDiagram-5OEKKPKP.js +20 -20
  102. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/sequenceDiagram-3UESZ5HK.js +354 -354
  103. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-AJRCARHV.js +53 -53
  104. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/timeline-definition-PNZ67QCA.js +113 -113
  105. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/vennDiagram-CIIHVFJN.js +90 -90
  106. package/dist/node_modules/mermaid/dist/mermaid.core.js +156 -156
  107. package/dist/node_modules/motion/dist/es/react.js +9 -2
  108. package/dist/pages/DashboardPage.js +20 -74
  109. package/dist/pages/DebugWorkflowDetailsPage.js +2 -2
  110. package/dist/pages/DebugWorkflowsPage.js +76 -106
  111. package/dist/pages/EmbedWorkbenchPage.js +1 -1
  112. package/dist/pages/PreviewWorkbenchPage.js +6 -6
  113. package/dist/pages/WorkbenchPage.js +43 -47
  114. package/dist/pages/WorkflowDebugPage.js +6 -12
  115. package/dist/pages/WorkspacePage.js +40 -66
  116. package/dist/pages/WorkspaceRunsPage.js +24 -31
  117. package/dist/routing/LocalRouter.js +1 -1
  118. package/package.json +2 -2
  119. package/dist/features/dashboard/Dashboard.js +0 -125
  120. package/dist/features/dashboard/RunItem.js +0 -78
  121. package/dist/features/dashboard/RunList.js +0 -32
  122. package/dist/hooks/useDashboard.js +0 -16
@@ -1,4 +1,5 @@
1
1
  import { useAvailableEnvironments } from "../../../hooks/useConfig.js";
2
+ import { useReplaceEnvironments, useWorkspaceEnvironments } from "../../../hooks/useEnvironments.js";
2
3
  import { useCreateWorkspace, useUpdateWorkspace } from "../../../hooks/useWorkspaces.js";
3
4
  import { Button } from "../../../components/ui/button.js";
4
5
  import { DialogHeader } from "../../../components/ui/dialog.js";
@@ -12,33 +13,33 @@ import { useCallback, useEffect, useMemo, useState } from "react";
12
13
  import { jsx, jsxs } from "react/jsx-runtime";
13
14
  import { Loader2, Star } from "lucide-react";
14
15
  import { DialogTitle } from "@radix-ui/react-dialog";
15
- var CreateWorkspace_default = (ye) => {
16
- let a = c(87), { types: o, workspace: s, onSuccess: l } = ye, u = useCreateWorkspace(), d = useUpdateWorkspace(), [f, be] = useState(o[0]?.className ?? ""), [p, xe] = useState(s?.isFavourite ?? !1), m;
17
- a[0] === Symbol.for("react.memo_cache_sentinel") ? (m = {}, a[0] = m) : m = a[0];
18
- let [h, g] = useState(m), _;
19
- a[1] === o[0]?.className ? _ = a[2] : (_ = () => {
20
- be(o[0]?.className ?? "");
21
- }, a[1] = o[0]?.className, a[2] = _);
22
- let v;
23
- a[3] === o ? v = a[4] : (v = [o], a[3] = o, a[4] = v), useEffect(_, v);
16
+ var CreateWorkspace_default = (xe) => {
17
+ let a = c(90), { types: o, workspace: s, onSuccess: l } = xe, u = useCreateWorkspace(), d = useUpdateWorkspace(), f = useReplaceEnvironments(), { data: p } = useWorkspaceEnvironments(s?.id), [m, Se] = useState(o[0]?.appName ?? ""), [h, Ce] = useState(s?.isFavourite ?? !1), g;
18
+ a[0] === Symbol.for("react.memo_cache_sentinel") ? (g = {}, a[0] = g) : g = a[0];
19
+ let [_, we] = useState(g), v;
20
+ a[1] === o[0]?.appName ? v = a[2] : (v = () => {
21
+ Se(o[0]?.appName ?? "");
22
+ }, a[1] = o[0]?.appName, a[2] = v);
24
23
  let y;
25
- if (a[5] !== o || a[6] !== f) {
24
+ a[3] === o ? y = a[4] : (y = [o], a[3] = o, a[4] = y), useEffect(v, y);
25
+ let b;
26
+ if (a[5] !== o || a[6] !== m) {
26
27
  let e;
27
- a[8] === f ? e = a[9] : (e = (e) => e.className === f, a[8] = f, a[9] = e), y = o.find(e), a[5] = o, a[6] = f, a[7] = y;
28
- } else y = a[7];
29
- let Se = y, b;
30
- a[10] === Se?.environments ? b = a[11] : (b = Se?.environments ?? [], a[10] = Se?.environments, a[11] = b);
31
- let x = b, S = x.length > 0, C;
32
- a[12] === S ? C = a[13] : (C = { enabled: S }, a[12] = S, a[13] = C);
28
+ a[8] === m ? e = a[9] : (e = (e) => e.appName === m, a[8] = m, a[9] = e), b = o.find(e), a[5] = o, a[6] = m, a[7] = b;
29
+ } else b = a[7];
30
+ let Te = b, x;
31
+ a[10] === Te?.environments ? x = a[11] : (x = Te?.environments ?? [], a[10] = Te?.environments, a[11] = x);
32
+ let S = x, Ee = S.length > 0, C;
33
+ a[12] === Ee ? C = a[13] : (C = { enabled: Ee }, a[12] = Ee, a[13] = C);
33
34
  let { data: w } = useAvailableEnvironments(C), T;
34
35
  a[14] === w ? T = a[15] : (T = w?.map(_temp) ?? [], a[14] = w, a[15] = T);
35
- let E = T, D = E.length > 0 && x.length > 0, O;
36
- a[16] !== E || a[17] !== x || a[18] !== s ? (O = () => {
37
- if (E.length === 0 || x.length === 0) return;
36
+ let E = T, D = E.length > 0 && S.length > 0, O, k;
37
+ a[16] !== E || a[17] !== p || a[18] !== S ? (k = () => {
38
+ if (E.length === 0 || S.length === 0) return;
38
39
  let e = {};
39
- for (let t of x) {
40
- if (s?.environments) {
41
- let n = s.environments.find((e) => e.slotId === t.id);
40
+ for (let t of S) {
41
+ if (p) {
42
+ let n = p.find((e) => e.slotId === t.id);
42
43
  if (n) {
43
44
  e[t.id] = n.remoteEnvironmentId;
44
45
  continue;
@@ -47,31 +48,29 @@ var CreateWorkspace_default = (ye) => {
47
48
  let n = E.find((e) => !t.type || e.type === t.type);
48
49
  n && (e[t.id] = n.id);
49
50
  }
50
- g(e);
51
- }, a[16] = E, a[17] = x, a[18] = s, a[19] = O) : O = a[19];
52
- let k = s?.environments, A;
53
- a[20] !== E || a[21] !== x || a[22] !== k ? (A = [
51
+ we(e);
52
+ }, O = [
54
53
  E,
55
- x,
56
- k
57
- ], a[20] = E, a[21] = x, a[22] = k, a[23] = A) : A = a[23], useEffect(O, A);
58
- let j;
59
- a[24] === Symbol.for("react.memo_cache_sentinel") ? (j = (e) => {
60
- be(e), g({});
61
- }, a[24] = j) : j = a[24];
62
- let Ce = j, M;
63
- a[25] === Symbol.for("react.memo_cache_sentinel") ? (M = (e, t) => {
64
- g((n) => ({
54
+ S,
55
+ p
56
+ ], a[16] = E, a[17] = p, a[18] = S, a[19] = O, a[20] = k) : (O = a[19], k = a[20]), useEffect(k, O);
57
+ let A;
58
+ a[21] === Symbol.for("react.memo_cache_sentinel") ? (A = (e) => {
59
+ Se(e), we({});
60
+ }, a[21] = A) : A = a[21];
61
+ let De = A, j;
62
+ a[22] === Symbol.for("react.memo_cache_sentinel") ? (j = (e, t) => {
63
+ we((n) => ({
65
64
  ...n,
66
65
  [e]: t
67
66
  }));
68
- }, a[25] = M) : M = a[25];
69
- let we = M, N;
70
- a[26] !== w || a[27] !== h || a[28] !== E || a[29] !== D || a[30] !== x ? (N = () => {
67
+ }, a[22] = j) : j = a[22];
68
+ let Oe = j, M;
69
+ a[23] !== w || a[24] !== _ || a[25] !== E || a[26] !== D || a[27] !== S ? (M = () => {
71
70
  if (!D) return;
72
71
  let e = [];
73
- for (let t of x) {
74
- let n = h[t.id];
72
+ for (let t of S) {
73
+ let n = _[t.id];
75
74
  if (n && n !== "__none__") {
76
75
  let r = E.find((e) => e.id === n), i = w?.find((e) => e.type === n);
77
76
  r && i && e.push({
@@ -87,115 +86,123 @@ var CreateWorkspace_default = (ye) => {
87
86
  }
88
87
  }
89
88
  return e.length > 0 ? e : void 0;
90
- }, a[26] = w, a[27] = h, a[28] = E, a[29] = D, a[30] = x, a[31] = N) : N = a[31];
89
+ }, a[23] = w, a[24] = _, a[25] = E, a[26] = D, a[27] = S, a[28] = M) : M = a[28];
90
+ let ke = M, N;
91
+ a[29] !== ke || a[30] !== f ? (N = async (e) => {
92
+ let t = ke();
93
+ t && t.length > 0 && await f.mutateAsync({
94
+ workspaceId: e,
95
+ environments: t
96
+ });
97
+ }, a[29] = ke, a[30] = f, a[31] = N) : N = a[31];
91
98
  let P = N, F;
92
- a[32] !== P || a[33] !== p || a[34] !== l || a[35] !== d || a[36] !== s ? (F = (e) => {
99
+ a[32] !== h || a[33] !== l || a[34] !== P || a[35] !== d || a[36] !== s ? (F = (e) => {
93
100
  e.preventDefault();
94
101
  let t = new FormData(e.currentTarget).get("name");
95
102
  !t || !s || d.mutate({
96
103
  id: s.id,
97
104
  workspaceUpdateDto: {
98
105
  title: t,
99
- isFavourite: p,
100
- environments: P()
106
+ isFavourite: h
101
107
  }
102
- }, { onSuccess: () => {
103
- l();
108
+ }, { onSuccess: async (e) => {
109
+ await P(e.id), l(e);
104
110
  } });
105
- }, a[32] = P, a[33] = p, a[34] = l, a[35] = d, a[36] = s, a[37] = F) : F = a[37];
106
- let Te = F, I;
107
- a[38] !== P || a[39] !== u || a[40] !== p || a[41] !== l || a[42] !== f ? (I = (e) => {
111
+ }, a[32] = h, a[33] = l, a[34] = P, a[35] = d, a[36] = s, a[37] = F) : F = a[37];
112
+ let Ae = F, I;
113
+ a[38] !== u || a[39] !== h || a[40] !== l || a[41] !== P || a[42] !== m ? (I = (e) => {
108
114
  e.preventDefault();
109
115
  let t = new FormData(e.currentTarget).get("name");
110
- f && u.mutate({ workspaceCreateDto: {
116
+ m && u.mutate({ workspaceCreateDto: {
111
117
  title: t || void 0,
112
- className: f,
113
- isFavourite: p || void 0,
114
- environments: P()
115
- } }, { onSuccess: () => {
116
- console.log("closing"), l();
118
+ appName: m,
119
+ isFavourite: h || void 0
120
+ } }, { onSuccess: async (e) => {
121
+ await P(e.id), l(e);
117
122
  } });
118
- }, a[38] = P, a[39] = u, a[40] = p, a[41] = l, a[42] = f, a[43] = I) : I = a[43];
119
- let Ee = I, L = u.isPending || d.isPending, R;
123
+ }, a[38] = u, a[39] = h, a[40] = l, a[41] = P, a[42] = m, a[43] = I) : I = a[43];
124
+ let je = I, L = u.isPending || d.isPending || f.isPending, R;
120
125
  a[44] === u.error ? R = a[45] : (R = /* @__PURE__ */ jsx(ErrorSnackbar_default, { error: u.error }), a[44] = u.error, a[45] = R);
121
126
  let z;
122
127
  a[46] === d.error ? z = a[47] : (z = /* @__PURE__ */ jsx(ErrorSnackbar_default, { error: d.error }), a[46] = d.error, a[47] = z);
123
- let De = s ? "Edit" : "Add", B;
124
- a[48] === De ? B = a[49] : (B = /* @__PURE__ */ jsx(DialogHeader, {
128
+ let B;
129
+ a[48] === f.error ? B = a[49] : (B = /* @__PURE__ */ jsx(ErrorSnackbar_default, { error: f.error }), a[48] = f.error, a[49] = B);
130
+ let Me = s ? "Edit" : "Add", V;
131
+ a[50] === Me ? V = a[51] : (V = /* @__PURE__ */ jsx(DialogHeader, {
125
132
  className: "space-y-1",
126
133
  children: /* @__PURE__ */ jsxs(DialogTitle, {
127
134
  className: "mb-4 text-lg leading-none font-semibold",
128
- children: [De, " Workspace"]
135
+ children: [Me, " Workspace"]
129
136
  })
130
- }), a[48] = De, a[49] = B);
131
- let Oe = s ? Te : Ee, V;
132
- a[50] === Symbol.for("react.memo_cache_sentinel") ? (V = /* @__PURE__ */ jsx(Label, {
137
+ }), a[50] = Me, a[51] = V);
138
+ let Ne = s ? Ae : je, H;
139
+ a[52] === Symbol.for("react.memo_cache_sentinel") ? (H = /* @__PURE__ */ jsx(Label, {
133
140
  htmlFor: "name",
134
141
  children: "Workspace Name"
135
- }), a[50] = V) : V = a[50];
136
- let ke = s?.title ?? "", H;
137
- a[51] === ke ? H = a[52] : (H = /* @__PURE__ */ jsx(Input, {
142
+ }), a[52] = H) : H = a[52];
143
+ let Pe = s?.title ?? "", U;
144
+ a[53] === Pe ? U = a[54] : (U = /* @__PURE__ */ jsx(Input, {
138
145
  id: "name",
139
146
  name: "name",
140
- defaultValue: ke,
147
+ defaultValue: Pe,
141
148
  placeholder: "Enter workspace name (optional)",
142
149
  autoFocus: !0
143
- }), a[51] = ke, a[52] = H);
144
- let U;
145
- a[53] === Symbol.for("react.memo_cache_sentinel") ? (U = () => xe(_temp2), a[53] = U) : U = a[53];
146
- let W = `h-4 w-4 ${p ? "fill-yellow-400 text-yellow-400" : "text-muted-foreground"}`, G;
147
- a[54] === W ? G = a[55] : (G = /* @__PURE__ */ jsx(Button, {
150
+ }), a[53] = Pe, a[54] = U);
151
+ let W;
152
+ a[55] === Symbol.for("react.memo_cache_sentinel") ? (W = () => Ce(_temp2), a[55] = W) : W = a[55];
153
+ let Fe = `h-4 w-4 ${h ? "fill-yellow-400 text-yellow-400" : "text-muted-foreground"}`, G;
154
+ a[56] === Fe ? G = a[57] : (G = /* @__PURE__ */ jsx(Button, {
148
155
  type: "button",
149
156
  variant: "ghost",
150
157
  size: "icon",
151
158
  className: "shrink-0",
152
- onClick: U,
153
- children: /* @__PURE__ */ jsx(Star, { className: W })
154
- }), a[54] = W, a[55] = G);
159
+ onClick: W,
160
+ children: /* @__PURE__ */ jsx(Star, { className: Fe })
161
+ }), a[56] = Fe, a[57] = G);
155
162
  let K;
156
- a[56] !== H || a[57] !== G ? (K = /* @__PURE__ */ jsxs("div", {
163
+ a[58] !== U || a[59] !== G ? (K = /* @__PURE__ */ jsxs("div", {
157
164
  className: "space-y-2",
158
- children: [V, /* @__PURE__ */ jsxs("div", {
165
+ children: [H, /* @__PURE__ */ jsxs("div", {
159
166
  className: "flex items-center gap-2",
160
- children: [H, G]
167
+ children: [U, G]
161
168
  })]
162
- }), a[56] = H, a[57] = G, a[58] = K) : K = a[58];
169
+ }), a[58] = U, a[59] = G, a[60] = K) : K = a[60];
163
170
  let q;
164
- a[59] !== o || a[60] !== s || a[61] !== f ? (q = !s && o.length > 1 && /* @__PURE__ */ jsxs("div", {
171
+ a[61] !== o || a[62] !== s || a[63] !== m ? (q = !s && o.length > 1 && /* @__PURE__ */ jsxs("div", {
165
172
  className: "space-y-2",
166
173
  children: [/* @__PURE__ */ jsx(Label, {
167
- htmlFor: "className",
174
+ htmlFor: "appName",
168
175
  children: "Type"
169
176
  }), /* @__PURE__ */ jsxs(Select, {
170
- name: "className",
171
- value: f,
172
- onValueChange: Ce,
177
+ name: "appName",
178
+ value: m,
179
+ onValueChange: De,
173
180
  children: [/* @__PURE__ */ jsx(SelectTrigger, {
174
- id: "className",
181
+ id: "appName",
175
182
  className: "w-full",
176
183
  children: /* @__PURE__ */ jsx(SelectValue, { placeholder: "Select a type" })
177
184
  }), /* @__PURE__ */ jsx(SelectContent, { children: o.map(_temp3) })]
178
185
  })]
179
- }), a[59] = o, a[60] = s, a[61] = f, a[62] = q) : q = a[62];
186
+ }), a[61] = o, a[62] = s, a[63] = m, a[64] = q) : q = a[64];
180
187
  let J;
181
- a[63] !== h || a[64] !== E || a[65] !== D || a[66] !== x ? (J = D && x.map((e) => /* @__PURE__ */ jsx(EnvironmentSlotSelector, {
188
+ a[65] !== _ || a[66] !== E || a[67] !== D || a[68] !== S ? (J = D && S.map((e) => /* @__PURE__ */ jsx(EnvironmentSlotSelector, {
182
189
  slot: e,
183
190
  environments: E,
184
- selectedEnvironmentId: h[e.id],
185
- onSelect: (t) => we(e.id, t)
186
- }, e.id)), a[63] = h, a[64] = E, a[65] = D, a[66] = x, a[67] = J) : J = a[67];
191
+ selectedEnvironmentId: _[e.id],
192
+ onSelect: (t) => Oe(e.id, t)
193
+ }, e.id)), a[65] = _, a[66] = E, a[67] = D, a[68] = S, a[69] = J) : J = a[69];
187
194
  let Y;
188
- a[68] === L ? Y = a[69] : (Y = L && /* @__PURE__ */ jsx(Loader2, { className: "mr-2 h-4 w-4 animate-spin" }), a[68] = L, a[69] = Y);
189
- let Ae = s ? "Save" : "Create", X;
190
- a[70] !== L || a[71] !== Y || a[72] !== Ae ? (X = /* @__PURE__ */ jsxs(Button, {
195
+ a[70] === L ? Y = a[71] : (Y = L && /* @__PURE__ */ jsx(Loader2, { className: "mr-2 h-4 w-4 animate-spin" }), a[70] = L, a[71] = Y);
196
+ let Ie = s ? "Save" : "Create", X;
197
+ a[72] !== L || a[73] !== Y || a[74] !== Ie ? (X = /* @__PURE__ */ jsxs(Button, {
191
198
  type: "submit",
192
199
  className: "w-full",
193
200
  disabled: L,
194
- children: [Y, Ae]
195
- }), a[70] = L, a[71] = Y, a[72] = Ae, a[73] = X) : X = a[73];
201
+ children: [Y, Ie]
202
+ }), a[72] = L, a[73] = Y, a[74] = Ie, a[75] = X) : X = a[75];
196
203
  let Z;
197
- a[74] !== Oe || a[75] !== K || a[76] !== q || a[77] !== J || a[78] !== X ? (Z = /* @__PURE__ */ jsxs("form", {
198
- onSubmit: Oe,
204
+ a[76] !== Ne || a[77] !== K || a[78] !== q || a[79] !== J || a[80] !== X ? (Z = /* @__PURE__ */ jsxs("form", {
205
+ onSubmit: Ne,
199
206
  className: "space-y-4",
200
207
  children: [
201
208
  K,
@@ -203,18 +210,19 @@ var CreateWorkspace_default = (ye) => {
203
210
  J,
204
211
  X
205
212
  ]
206
- }), a[74] = Oe, a[75] = K, a[76] = q, a[77] = J, a[78] = X, a[79] = Z) : Z = a[79];
213
+ }), a[76] = Ne, a[77] = K, a[78] = q, a[79] = J, a[80] = X, a[81] = Z) : Z = a[81];
207
214
  let Q;
208
- a[80] !== B || a[81] !== Z ? (Q = /* @__PURE__ */ jsxs("div", {
215
+ a[82] !== V || a[83] !== Z ? (Q = /* @__PURE__ */ jsxs("div", {
209
216
  className: "mb-4",
210
- children: [B, Z]
211
- }), a[80] = B, a[81] = Z, a[82] = Q) : Q = a[82];
217
+ children: [V, Z]
218
+ }), a[82] = V, a[83] = Z, a[84] = Q) : Q = a[84];
212
219
  let $;
213
- return a[83] !== R || a[84] !== z || a[85] !== Q ? ($ = /* @__PURE__ */ jsxs("div", { children: [
220
+ return a[85] !== R || a[86] !== z || a[87] !== B || a[88] !== Q ? ($ = /* @__PURE__ */ jsxs("div", { children: [
214
221
  R,
215
222
  z,
223
+ B,
216
224
  Q
217
- ] }), a[83] = R, a[84] = z, a[85] = Q, a[86] = $) : $ = a[86], $;
225
+ ] }), a[85] = R, a[86] = z, a[87] = B, a[88] = Q, a[89] = $) : $ = a[89], $;
218
226
  };
219
227
  function _temp(e) {
220
228
  return {
@@ -227,8 +235,8 @@ function _temp2(e) {
227
235
  }
228
236
  function _temp3(e) {
229
237
  return /* @__PURE__ */ jsx(SelectItem, {
230
- value: e.className,
231
- children: e.title ?? e.className
232
- }, e.className);
238
+ value: e.appName,
239
+ children: e.title ?? e.appName
240
+ }, e.appName);
233
241
  }
234
242
  export { CreateWorkspace_default as default };
@@ -51,7 +51,7 @@ var ChildWorkflowList = (e) => {
51
51
  }),
52
52
  /* @__PURE__ */ jsx("p", {
53
53
  className: "text-xs text-gray-500",
54
- children: e.alias
54
+ children: e.workflowName
55
55
  }),
56
56
  /* @__PURE__ */ jsx("p", {
57
57
  className: "text-xs text-gray-400",
@@ -121,7 +121,7 @@ var ChildWorkflowList = (e) => {
121
121
  }),
122
122
  /* @__PURE__ */ jsx("p", {
123
123
  className: "mt-1 text-sm text-gray-500",
124
- children: e.alias
124
+ children: e.workflowName
125
125
  }),
126
126
  e.hasChildren > 0 && /* @__PURE__ */ jsxs("button", {
127
127
  onClick: (n) => D(e.id, n),
@@ -1,152 +1,175 @@
1
1
  import { useStudio } from "../../../providers/StudioProvider.js";
2
- import { useWorkflowConfig } from "../../../hooks/useConfig.js";
3
- import { useCreateWorkflow } from "../../../hooks/useWorkflows.js";
2
+ import { useAppsConfig } from "../../../hooks/useConfig.js";
4
3
  import ErrorSnackbar_default from "../../../components/feedback/ErrorSnackbar.js";
4
+ import { useStartWorkflow } from "../../../hooks/useProcessor.js";
5
5
  import ArgumentsView_default from "./workflow-form/ArgumentsView.js";
6
6
  import SelectionView_default from "./workflow-form/SelectionView.js";
7
- import { useRunWorkflow } from "../../../hooks/useProcessor.js";
8
7
  import { c } from "react/compiler-runtime";
9
8
  import { useEffect, useMemo, useState } from "react";
10
9
  import { jsx, jsxs } from "react/jsx-runtime";
11
10
  import { Loader2 } from "lucide-react";
12
- var WorkflowRunForm_default = (l) => {
13
- let u = c(63), { title: d, workspace: f } = l, { router: p } = useStudio(), m = useCreateWorkflow(), h = useRunWorkflow(), g = useWorkflowConfig(f.className), [_, v] = useState("selection"), y;
14
- u[0] === Symbol.for("react.memo_cache_sentinel") ? (y = {
11
+ var WorkflowRunForm_default = (a) => {
12
+ let o = c(66), { title: s, workspace: l } = a, { router: u } = useStudio(), d = useAppsConfig(), f = useStartWorkflow(), [p, m] = useState("selection"), h;
13
+ o[0] === Symbol.for("react.memo_cache_sentinel") ? (h = {
15
14
  name: "",
16
- alias: "",
15
+ workflowName: "",
17
16
  properties: {}
18
- }, u[0] = y) : y = u[0];
19
- let [b, x] = useState(y), S;
20
- u[1] === Symbol.for("react.memo_cache_sentinel") ? (S = {
17
+ }, o[0] = h) : h = o[0];
18
+ let [g, _] = useState(h), v;
19
+ o[1] === Symbol.for("react.memo_cache_sentinel") ? (v = {
21
20
  name: "",
22
- alias: ""
23
- }, u[1] = S) : S = u[1];
24
- let [C, w] = useState(S), T;
21
+ workflowName: ""
22
+ }, o[1] = v) : v = o[1];
23
+ let [y, b] = useState(v), x;
25
24
  bb0: {
26
- if (!b.alias || !g.data) {
27
- T = void 0;
25
+ if (!d.data) {
26
+ x = void 0;
28
27
  break bb0;
29
28
  }
30
29
  let e;
31
- if (u[2] !== g.data || u[3] !== b.alias) {
32
- let o;
33
- u[5] === b.alias ? o = u[6] : (o = (e) => e.alias === b.alias, u[5] = b.alias, u[6] = o), e = g.data.find(o), u[2] = g.data, u[3] = b.alias, u[4] = e;
34
- } else e = u[4];
35
- T = e;
30
+ if (o[2] !== d.data || o[3] !== l.appName) {
31
+ let r;
32
+ o[5] === l.appName ? r = o[6] : (r = (e) => e.appName === l.appName, o[5] = l.appName, o[6] = r), e = d.data.find(r), o[2] = d.data, o[3] = l.appName, o[4] = e;
33
+ } else e = o[4];
34
+ x = e;
36
35
  }
37
- let E = T, D = !!E?.schema, O = m.isPending || h.isPending, k, A;
38
- u[7] !== g.data || u[8] !== b.alias ? (k = () => {
39
- !b.alias && g.data?.[0]?.alias && x((e) => ({
36
+ let S = x, C;
37
+ bb1: {
38
+ if (!S) {
39
+ let e;
40
+ o[7] === Symbol.for("react.memo_cache_sentinel") ? (e = [], o[7] = e) : e = o[7], C = e;
41
+ break bb1;
42
+ }
43
+ C = S.workflows;
44
+ }
45
+ let w = C, T;
46
+ o[8] === w ? T = o[9] : (T = w.map(_temp), o[8] = w, o[9] = T);
47
+ let E = T, D;
48
+ bb2: {
49
+ if (!g.workflowName) {
50
+ D = void 0;
51
+ break bb2;
52
+ }
53
+ let e;
54
+ if (o[10] !== w || o[11] !== g.workflowName) {
55
+ let r;
56
+ o[13] === g.workflowName ? r = o[14] : (r = (e) => e.workflowName === g.workflowName, o[13] = g.workflowName, o[14] = r), e = w.find(r), o[10] = w, o[11] = g.workflowName, o[12] = e;
57
+ } else e = o[12];
58
+ D = e;
59
+ }
60
+ let O = D, k;
61
+ bb3: {
62
+ if (!g.workflowName || !E.length) {
63
+ k = void 0;
64
+ break bb3;
65
+ }
66
+ let e;
67
+ if (o[15] !== g.workflowName || o[16] !== E) {
68
+ let r;
69
+ o[18] === g.workflowName ? r = o[19] : (r = (e) => e.workflowName === g.workflowName, o[18] = g.workflowName, o[19] = r), e = E.find(r), o[15] = g.workflowName, o[16] = E, o[17] = e;
70
+ } else e = o[17];
71
+ k = e;
72
+ }
73
+ let A = k, j = !!A?.schema, M = f.isPending, N, P;
74
+ o[20] !== g.workflowName || o[21] !== E ? (N = () => {
75
+ !g.workflowName && E[0]?.workflowName && _((e) => ({
40
76
  ...e,
41
- alias: g.data[0].alias
77
+ workflowName: E[0].workflowName
42
78
  }));
43
- }, A = [g.data, b.alias], u[7] = g.data, u[8] = b.alias, u[9] = k, u[10] = A) : (k = u[9], A = u[10]), useEffect(k, A);
44
- let j;
45
- u[11] === b.alias ? j = u[12] : (j = () => b.alias ? !0 : (w({
79
+ }, P = [E, g.workflowName], o[20] = g.workflowName, o[21] = E, o[22] = N, o[23] = P) : (N = o[22], P = o[23]), useEffect(N, P);
80
+ let F;
81
+ o[24] === g.workflowName ? F = o[25] : (F = () => g.workflowName ? !0 : (b({
46
82
  name: "",
47
- alias: "Please select an automation type"
48
- }), !1), u[11] = b.alias, u[12] = j);
49
- let M = j, N;
50
- u[13] === p ? N = u[14] : (N = (e) => {
51
- p.navigateToWorkflow(e);
52
- }, u[13] = p, u[14] = N);
53
- let P = N, F;
54
- u[15] !== m || u[16] !== b.alias || u[17] !== b.name || u[18] !== P || u[19] !== h || u[20] !== f.id ? (F = (e, o) => {
55
- m.mutate({ workflowCreateDto: {
56
- alias: b.alias,
57
- title: b.name || null,
58
- workspaceId: f.id,
59
- transition: e ?? null,
60
- args: o
61
- } }, { onSuccess: (e) => {
62
- h.mutate({
63
- workflowId: e.id,
64
- runWorkflowPayloadDto: {},
65
- force: !0
66
- }, { onSuccess: () => P(e.id) });
67
- } });
68
- }, u[15] = m, u[16] = b.alias, u[17] = b.name, u[18] = P, u[19] = h, u[20] = f.id, u[21] = F) : F = u[21];
83
+ workflowName: "Please select an automation type"
84
+ }), !1), o[24] = g.workflowName, o[25] = F);
69
85
  let I = F, L;
70
- u[22] !== I || u[23] !== D || u[24] !== M ? (L = () => {
71
- M() && (D ? v("arguments") : I());
72
- }, u[22] = I, u[23] = D, u[24] = M, u[25] = L) : L = u[25];
86
+ o[26] !== u || o[27] !== O || o[28] !== f || o[29] !== l.id ? (L = (e, r) => {
87
+ O && f.mutate({ payload: {
88
+ workflowName: O.workflowName,
89
+ workspaceId: l.id,
90
+ args: r ?? {}
91
+ } }, { onSuccess: (e) => void u.navigateToWorkflow(e.workflowId) });
92
+ }, o[26] = u, o[27] = O, o[28] = f, o[29] = l.id, o[30] = L) : L = o[30];
73
93
  let R = L, z;
74
- u[26] === Symbol.for("react.memo_cache_sentinel") ? (z = () => {
75
- v("selection");
76
- }, u[26] = z) : z = u[26];
94
+ o[31] !== j || o[32] !== R || o[33] !== I ? (z = () => {
95
+ I() && (j ? m("arguments") : R());
96
+ }, o[31] = j, o[32] = R, o[33] = I, o[34] = z) : z = o[34];
77
97
  let B = z, V;
78
- u[27] === I ? V = u[28] : (V = (e, o) => {
79
- I(e, o);
80
- }, u[27] = I, u[28] = V);
98
+ o[35] === Symbol.for("react.memo_cache_sentinel") ? (V = () => {
99
+ m("selection");
100
+ }, o[35] = V) : V = o[35];
81
101
  let H = V, U;
82
- u[29] === C ? U = u[30] : (U = (e, o) => {
83
- x((s) => ({
84
- ...s,
85
- [e]: o
86
- })), C[e] && w((o) => ({
87
- ...o,
102
+ o[36] === R ? U = o[37] : (U = (e, r) => {
103
+ R(e, r);
104
+ }, o[36] = R, o[37] = U);
105
+ let W = U, G;
106
+ o[38] === y ? G = o[39] : (G = (e, r) => {
107
+ _((i) => ({
108
+ ...i,
109
+ [e]: r
110
+ })), y[e] && b((r) => ({
111
+ ...r,
88
112
  [e]: ""
89
113
  }));
90
- }, u[29] = C, u[30] = U);
91
- let W = U;
92
- if (g.isLoading) {
114
+ }, o[38] = y, o[39] = G);
115
+ let K = G;
116
+ if (d.isLoading) {
93
117
  let e;
94
- return u[31] === Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ jsx("div", {
118
+ return o[40] === Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ jsx("div", {
95
119
  className: "flex min-h-50 items-center justify-center",
96
120
  children: /* @__PURE__ */ jsx(Loader2, { className: "text-primary h-8 w-8 animate-spin" })
97
- }), u[31] = e) : e = u[31], e;
121
+ }), o[40] = e) : e = o[40], e;
98
122
  }
99
- if (!g.data) return null;
100
- let G;
101
- u[32] === m.error ? G = u[33] : (G = /* @__PURE__ */ jsx(ErrorSnackbar_default, { error: m.error }), u[32] = m.error, u[33] = G);
102
- let K;
103
- u[34] === h.error ? K = u[35] : (K = /* @__PURE__ */ jsx(ErrorSnackbar_default, { error: h.error }), u[34] = h.error, u[35] = K);
123
+ if (!E.length) return null;
104
124
  let q;
105
- u[36] === g.error ? q = u[37] : (q = /* @__PURE__ */ jsx(ErrorSnackbar_default, { error: g.error }), u[36] = g.error, u[37] = q);
106
- let J = `translateX(-${_ === "arguments" ? 100 : 0}%)`, Y;
107
- u[38] === J ? Y = u[39] : (Y = { transform: J }, u[38] = J, u[39] = Y);
125
+ o[41] === f.error ? q = o[42] : (q = /* @__PURE__ */ jsx(ErrorSnackbar_default, { error: f.error }), o[41] = f.error, o[42] = q);
126
+ let J = `translateX(-${p === "arguments" ? 100 : 0}%)`, Y;
127
+ o[43] === J ? Y = o[44] : (Y = { transform: J }, o[43] = J, o[44] = Y);
108
128
  let X;
109
- u[40] !== C || u[41] !== g.data || u[42] !== b || u[43] !== W || u[44] !== R || u[45] !== O || u[46] !== d ? (X = /* @__PURE__ */ jsx("div", {
129
+ o[45] !== y || o[46] !== g || o[47] !== K || o[48] !== B || o[49] !== M || o[50] !== s || o[51] !== E ? (X = /* @__PURE__ */ jsx("div", {
110
130
  className: "w-full shrink-0 px-1",
111
131
  children: /* @__PURE__ */ jsx(SelectionView_default, {
112
- title: d,
113
- workflowTypes: g.data,
114
- formData: b,
115
- errors: C,
116
- isLoading: O,
117
- onInputChange: W,
118
- onNext: R
132
+ title: s,
133
+ workflowTypes: E,
134
+ formData: g,
135
+ errors: y,
136
+ isLoading: M,
137
+ onInputChange: K,
138
+ onNext: B
119
139
  })
120
- }), u[40] = C, u[41] = g.data, u[42] = b, u[43] = W, u[44] = R, u[45] = O, u[46] = d, u[47] = X) : X = u[47];
140
+ }), o[45] = y, o[46] = g, o[47] = K, o[48] = B, o[49] = M, o[50] = s, o[51] = E, o[52] = X) : X = o[52];
121
141
  let Z;
122
- u[48] !== b.alias || u[49] !== H || u[50] !== D || u[51] !== O || u[52] !== E ? (Z = /* @__PURE__ */ jsx("div", {
142
+ o[53] !== g.workflowName || o[54] !== W || o[55] !== j || o[56] !== M || o[57] !== A ? (Z = /* @__PURE__ */ jsx("div", {
123
143
  className: "w-full shrink-0 px-1",
124
144
  children: /* @__PURE__ */ jsx(ArgumentsView_default, {
125
- config: E,
126
- hasArguments: D,
127
- isLoading: O,
128
- onBack: B,
129
- onSubmit: H
130
- }, b.alias)
131
- }), u[48] = b.alias, u[49] = H, u[50] = D, u[51] = O, u[52] = E, u[53] = Z) : Z = u[53];
145
+ config: A,
146
+ hasArguments: j,
147
+ isLoading: M,
148
+ onBack: H,
149
+ onSubmit: W
150
+ }, g.workflowName)
151
+ }), o[53] = g.workflowName, o[54] = W, o[55] = j, o[56] = M, o[57] = A, o[58] = Z) : Z = o[58];
132
152
  let Q;
133
- u[54] !== Y || u[55] !== X || u[56] !== Z ? (Q = /* @__PURE__ */ jsx("div", {
153
+ o[59] !== Y || o[60] !== X || o[61] !== Z ? (Q = /* @__PURE__ */ jsx("div", {
134
154
  className: "relative overflow-hidden",
135
155
  children: /* @__PURE__ */ jsxs("div", {
136
156
  className: "flex transition-transform duration-300 ease-in-out",
137
157
  style: Y,
138
158
  children: [X, Z]
139
159
  })
140
- }), u[54] = Y, u[55] = X, u[56] = Z, u[57] = Q) : Q = u[57];
160
+ }), o[59] = Y, o[60] = X, o[61] = Z, o[62] = Q) : Q = o[62];
141
161
  let $;
142
- return u[58] !== G || u[59] !== K || u[60] !== q || u[61] !== Q ? ($ = /* @__PURE__ */ jsxs("div", {
162
+ return o[63] !== q || o[64] !== Q ? ($ = /* @__PURE__ */ jsxs("div", {
143
163
  className: "relative",
144
- children: [
145
- G,
146
- K,
147
- q,
148
- Q
149
- ]
150
- }), u[58] = G, u[59] = K, u[60] = q, u[61] = Q, u[62] = $) : $ = u[62], $;
164
+ children: [q, Q]
165
+ }), o[63] = q, o[64] = Q, o[65] = $) : $ = o[65], $;
151
166
  };
167
+ function _temp(e) {
168
+ return {
169
+ workflowName: e.workflowName,
170
+ title: e.title,
171
+ description: e.description,
172
+ schema: e.schema
173
+ };
174
+ }
152
175
  export { WorkflowRunForm_default as default };