@loopstack/loopstack-studio 0.29.4 → 0.30.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 (114) 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/Form.js +31 -51
  9. package/dist/components/dynamic-form/FormBody.js +1 -1
  10. package/dist/components/motion/FadeIn.js +72 -0
  11. package/dist/components/motion/StreamingText.js +49 -0
  12. package/dist/components/ui/accordion.js +2 -2
  13. package/dist/components/ui-widgets/UiWidget.js +11 -10
  14. package/dist/components/ui-widgets/widgets/AiPromptInput.js +31 -28
  15. package/dist/events/sse-client-events.js +7 -1
  16. package/dist/features/code-explorer/components/FileContentViewer.js +2 -2
  17. package/dist/features/debug/components/WorkflowFlowViewer.js +49 -51
  18. package/dist/features/documents/DocumentRenderer.js +18 -17
  19. package/dist/features/documents/components/DocumentItem.js +42 -20
  20. package/dist/features/documents/components/DocumentList.js +34 -36
  21. package/dist/features/documents/components/DocumentMetadataPills.js +102 -49
  22. package/dist/features/documents/document-details/DocumentDetails.js +577 -377
  23. package/dist/features/documents/document-details/PromptDetails.js +118 -130
  24. package/dist/features/documents/document-details/document-debug-utils.js +100 -0
  25. package/dist/features/documents/renderers/ChoicesRenderer.js +41 -38
  26. package/dist/features/documents/renderers/ConfirmPromptRenderer.js +31 -28
  27. package/dist/features/documents/renderers/DocumentFormRenderer.js +62 -70
  28. package/dist/features/documents/renderers/LlmMessage.js +52 -47
  29. package/dist/features/documents/renderers/TextPromptRenderer.js +32 -29
  30. package/dist/features/documents/renderers/useDocumentTransition.js +4 -4
  31. package/dist/features/feature-registry/FeatureRegistryProvider.js +32 -10
  32. package/dist/features/feature-registry/available-features.js +12 -0
  33. package/dist/features/feature-registry/index.js +2 -1
  34. package/dist/features/file-explorer/components/FileExplorerPanel.js +55 -51
  35. package/dist/features/git/components/GitBranchBadge.js +31 -0
  36. package/dist/features/git/components/GitCommitList.js +46 -0
  37. package/dist/features/git/components/GitRemoteStatus.js +84 -0
  38. package/dist/features/git/components/WorkbenchGitPanel.js +81 -0
  39. package/dist/features/git/git-feature.js +12 -0
  40. package/dist/features/git/hooks/useGit.js +78 -0
  41. package/dist/features/git/index.js +1 -0
  42. package/dist/features/oauth/OAuthPromptRenderer.js +137 -142
  43. package/dist/features/runs/Runs.js +4 -4
  44. package/dist/features/secrets/components/WorkbenchSecretsPanel.js +1 -1
  45. package/dist/features/secrets/renderers/SecretInputRenderer.js +30 -29
  46. package/dist/features/workbench/Workbench.js +25 -33
  47. package/dist/features/workbench/WorkflowItem.js +9 -9
  48. package/dist/features/workbench/WorkflowList.js +61 -62
  49. package/dist/features/workbench/components/NewRunDialog.js +237 -209
  50. package/dist/features/workbench/components/RecentRunItem.js +3 -3
  51. package/dist/features/workbench/components/WorkbenchEnvironmentPanel.js +8 -8
  52. package/dist/features/workbench/components/WorkbenchIconSidebar.js +1 -1
  53. package/dist/features/workbench/components/WorkbenchSidebarShell.js +3 -3
  54. package/dist/features/workbench/components/WorkflowForms.js +11 -10
  55. package/dist/features/workbench/components/WorkflowHistoryItem.js +16 -36
  56. package/dist/features/workbench/components/WorkflowHistoryList.js +19 -17
  57. package/dist/features/workbench/components/buttons/WorkflowButtons.js +3 -3
  58. package/dist/features/workbench/hooks/useLlmStreamingDocuments.js +159 -0
  59. package/dist/features/workbench/hooks/useWorkflowData.js +58 -31
  60. package/dist/features/workbench/index.js +2 -2
  61. package/dist/features/workbench/providers/WorkbenchLayoutProvider.js +53 -53
  62. package/dist/features/workspaces/Workspaces.js +134 -125
  63. package/dist/features/workspaces/components/CreateWorkspace.js +115 -107
  64. package/dist/features/workspaces/components/ExecutionTimeline.js +2 -2
  65. package/dist/features/workspaces/components/WorkflowRunForm.js +127 -104
  66. package/dist/features/workspaces/components/WorkspaceHomePage.js +6 -89
  67. package/dist/features/workspaces/components/workflow-form/ArgumentsView.js +1 -1
  68. package/dist/features/workspaces/components/workflow-form/SelectionView.js +15 -15
  69. package/dist/hooks/index.js +3 -2
  70. package/dist/hooks/query-keys.js +43 -30
  71. package/dist/hooks/useConfig.js +28 -22
  72. package/dist/hooks/useEnvironments.js +27 -2
  73. package/dist/hooks/useProcessor.js +14 -1
  74. package/dist/hooks/useWorkflows.js +4 -4
  75. package/dist/index.d.ts +116 -15
  76. package/dist/index.js +9 -8
  77. package/dist/node_modules/d3/src/index.js +13 -13
  78. package/dist/node_modules/d3-scale/src/continuous.js +16 -16
  79. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/architectureDiagram-3BPJPVTR.js +43 -43
  80. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/blockDiagram-GPEHLZMM.js +270 -270
  81. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/c4Diagram-AAUBKEIU.js +90 -90
  82. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-3OPIFGDE.js +458 -458
  83. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-55IACEB6.js +3 -3
  84. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-5ZQYHXKU.js +37 -37
  85. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-727SXJPM.js +208 -208
  86. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-KSCS5N6A.js +145 -145
  87. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-ND2GUHAM.js +7 -7
  88. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-O5CBEL6O.js +41 -41
  89. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-WU5MYG2G.js +3 -3
  90. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/cose-bilkent-S5V4N54A.js +6 -6
  91. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/diagram-KO2AKTUF.js +30 -30
  92. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/diagram-OG6HWLK6.js +82 -82
  93. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/erDiagram-TEJ5UH35.js +65 -65
  94. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/flowDiagram-I6XJVG4X.js +227 -227
  95. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/ganttDiagram-6RSMTGT7.js +104 -104
  96. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/gitGraphDiagram-PVQCEYII.js +104 -104
  97. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/journeyDiagram-JHISSGLW.js +49 -49
  98. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/quadrantDiagram-W4KKPZXB.js +101 -101
  99. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/sankeyDiagram-5OEKKPKP.js +20 -20
  100. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/sequenceDiagram-3UESZ5HK.js +354 -354
  101. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-AJRCARHV.js +53 -53
  102. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/timeline-definition-PNZ67QCA.js +113 -113
  103. package/dist/node_modules/mermaid/dist/chunks/mermaid.core/vennDiagram-CIIHVFJN.js +90 -90
  104. package/dist/node_modules/mermaid/dist/mermaid.core.js +156 -156
  105. package/dist/node_modules/motion/dist/es/react.js +9 -2
  106. package/dist/pages/DebugWorkflowDetailsPage.js +2 -2
  107. package/dist/pages/DebugWorkflowsPage.js +76 -106
  108. package/dist/pages/EmbedWorkbenchPage.js +1 -1
  109. package/dist/pages/PreviewWorkbenchPage.js +6 -6
  110. package/dist/pages/WorkbenchPage.js +43 -47
  111. package/dist/pages/WorkflowDebugPage.js +6 -12
  112. package/dist/pages/WorkspacePage.js +40 -66
  113. package/dist/pages/WorkspaceRunsPage.js +24 -31
  114. package/package.json +2 -2
@@ -1,188 +1,189 @@
1
+ import { useDocumentConfigs } from "../../hooks/useConfig.js";
1
2
  import CompletionMessagePaper_default from "../../components/messages/CompletionMessagePaper.js";
2
3
  import { useRunWorkflow } from "../../hooks/useProcessor.js";
3
4
  import { useOAuthPopup } from "./useOAuthPopup.js";
4
5
  import { c } from "react/compiler-runtime";
5
6
  import React, { useCallback, useEffect, useRef } from "react";
6
7
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
7
- var OAuthPromptRenderer = (p) => {
8
- let m = c(47), { parentWorkflow: _, workflow: v, document: y, isActive: b } = p, x = y.content, S = y.ui, C = S?.widgets, w;
9
- m[0] !== S?.actions || m[1] !== C?.[0]?.options?.transition ? (w = C?.[0]?.options?.transition ?? (S?.actions)?.map(_temp).find(_temp2), m[0] = S?.actions, m[1] = C?.[0]?.options?.transition, m[2] = w) : w = m[2];
10
- let T = w, E = useRunWorkflow(), { result: D, open: O, reset: k } = useOAuthPopup(), A = useRef(!1), j;
11
- m[3] === v.availableTransitions ? j = m[4] : (j = v.availableTransitions?.map(_temp3) ?? [], m[3] = v.availableTransitions, m[4] = j);
12
- let M = j, N;
13
- m[5] !== M || m[6] !== _.id || m[7] !== E || m[8] !== T || m[9] !== v.id ? (N = (t, u) => {
14
- !T || !M.includes(T) || E.mutate({
15
- workflowId: _.id,
8
+ var OAuthPromptRenderer = (f) => {
9
+ let p = c(47), { parentWorkflow: g, workflow: _, document: v, isActive: y } = f, b = v.content, x = useDocumentConfigs(), S;
10
+ p[0] !== v.documentName || p[1] !== x ? (S = x.get(v.documentName), p[0] = v.documentName, p[1] = x, p[2] = S) : S = p[2];
11
+ let C = (S?.ui?.widgets)?.[0]?.options?.transition, w = useRunWorkflow(), { result: T, open: E, reset: D } = useOAuthPopup(), O = useRef(!1), k;
12
+ p[3] === _.availableTransitions ? k = p[4] : (k = _.availableTransitions?.map(_temp) ?? [], p[3] = _.availableTransitions, p[4] = k);
13
+ let A = k, j;
14
+ p[5] !== A || p[6] !== g.id || p[7] !== w || p[8] !== C || p[9] !== _.id ? (j = (t, s) => {
15
+ !C || !A.includes(C) || w.mutate({
16
+ workflowId: g.id,
16
17
  runWorkflowPayloadDto: { transition: {
17
- id: T,
18
- workflowId: v.id,
18
+ id: C,
19
+ workflowId: _.id,
19
20
  payload: {
20
21
  code: t,
21
- state: u
22
+ state: s
22
23
  }
23
24
  } }
24
25
  });
25
- }, m[5] = M, m[6] = _.id, m[7] = E, m[8] = T, m[9] = v.id, m[10] = N) : N = m[10];
26
- let P = N, F;
27
- m[11] !== D.code || m[12] !== D.state || m[13] !== D.status || m[14] !== P ? (F = () => {
28
- D.status === "success" && !A.current && (A.current = !0, P(D.code, D.state));
29
- }, m[11] = D.code, m[12] = D.state, m[13] = D.status, m[14] = P, m[15] = F) : F = m[15];
30
- let I;
31
- m[16] !== D || m[17] !== P ? (I = [D, P], m[16] = D, m[17] = P, m[18] = I) : I = m[18], useEffect(F, I);
32
- let L;
33
- m[19] !== x.authUrl || m[20] !== x.state || m[21] !== O ? (L = () => {
34
- A.current = !1, O({
35
- authUrl: x.authUrl,
36
- state: x.state
26
+ }, p[5] = A, p[6] = g.id, p[7] = w, p[8] = C, p[9] = _.id, p[10] = j) : j = p[10];
27
+ let M = j, N;
28
+ p[11] !== T.code || p[12] !== T.state || p[13] !== T.status || p[14] !== M ? (N = () => {
29
+ T.status === "success" && !O.current && (O.current = !0, M(T.code, T.state));
30
+ }, p[11] = T.code, p[12] = T.state, p[13] = T.status, p[14] = M, p[15] = N) : N = p[15];
31
+ let P;
32
+ p[16] !== T || p[17] !== M ? (P = [T, M], p[16] = T, p[17] = M, p[18] = P) : P = p[18], useEffect(N, P);
33
+ let F;
34
+ p[19] !== b.authUrl || p[20] !== b.state || p[21] !== E ? (F = () => {
35
+ O.current = !1, E({
36
+ authUrl: b.authUrl,
37
+ state: b.state
37
38
  });
38
- }, m[19] = x.authUrl, m[20] = x.state, m[21] = O, m[22] = L) : L = m[22];
39
- let R = L, z;
40
- m[23] !== x.authUrl || m[24] !== x.state || m[25] !== O || m[26] !== k ? (z = () => {
41
- k(), A.current = !1, O({
42
- authUrl: x.authUrl,
43
- state: x.state
39
+ }, p[19] = b.authUrl, p[20] = b.state, p[21] = E, p[22] = F) : F = p[22];
40
+ let I = F, L;
41
+ p[23] !== b.authUrl || p[24] !== b.state || p[25] !== E || p[26] !== D ? (L = () => {
42
+ D(), O.current = !1, E({
43
+ authUrl: b.authUrl,
44
+ state: b.state
44
45
  });
45
- }, m[23] = x.authUrl, m[24] = x.state, m[25] = O, m[26] = k, m[27] = z) : z = m[27];
46
- let B = z;
47
- if (x.status === "success") {
48
- let u;
49
- return m[28] !== x.message || m[29] !== x.provider ? (u = /* @__PURE__ */ jsx(CompletionMessagePaper_default, { children: /* @__PURE__ */ jsx(StatusDisplay, {
46
+ }, p[23] = b.authUrl, p[24] = b.state, p[25] = E, p[26] = D, p[27] = L) : L = p[27];
47
+ let R = L;
48
+ if (b.status === "success") {
49
+ let t;
50
+ return p[28] !== b.message || p[29] !== b.provider ? (t = /* @__PURE__ */ jsx(CompletionMessagePaper_default, { children: /* @__PURE__ */ jsx(StatusDisplay, {
50
51
  status: "success",
51
- provider: x.provider,
52
- message: x.message
53
- }) }), m[28] = x.message, m[29] = x.provider, m[30] = u) : u = m[30], u;
52
+ provider: b.provider,
53
+ message: b.message
54
+ }) }), p[28] = b.message, p[29] = b.provider, p[30] = t) : t = p[30], t;
54
55
  }
55
- if (x.status === "error") {
56
- let u;
57
- m[31] !== x.message || m[32] !== x.provider ? (u = /* @__PURE__ */ jsx(StatusDisplay, {
56
+ if (b.status === "error") {
57
+ let t;
58
+ p[31] !== b.message || p[32] !== b.provider ? (t = /* @__PURE__ */ jsx(StatusDisplay, {
58
59
  status: "error",
59
- provider: x.provider,
60
- message: x.message
61
- }), m[31] = x.message, m[32] = x.provider, m[33] = u) : u = m[33];
62
- let d;
63
- m[34] !== B || m[35] !== b ? (d = b && /* @__PURE__ */ jsx(RetryButton, { onClick: B }), m[34] = B, m[35] = b, m[36] = d) : d = m[36];
64
- let f;
65
- return m[37] !== u || m[38] !== d ? (f = /* @__PURE__ */ jsxs(CompletionMessagePaper_default, { children: [u, d] }), m[37] = u, m[38] = d, m[39] = f) : f = m[39], f;
60
+ provider: b.provider,
61
+ message: b.message
62
+ }), p[31] = b.message, p[32] = b.provider, p[33] = t) : t = p[33];
63
+ let l;
64
+ p[34] !== R || p[35] !== y ? (l = y && /* @__PURE__ */ jsx(RetryButton, { onClick: R }), p[34] = R, p[35] = y, p[36] = l) : l = p[36];
65
+ let u;
66
+ return p[37] !== t || p[38] !== l ? (u = /* @__PURE__ */ jsxs(CompletionMessagePaper_default, { children: [t, l] }), p[37] = t, p[38] = l, p[39] = u) : u = p[39], u;
66
67
  }
67
- let V;
68
- return m[40] !== x.provider || m[41] !== B || m[42] !== R || m[43] !== b || m[44] !== D || m[45] !== E.isPending ? (V = /* @__PURE__ */ jsx(CompletionMessagePaper_default, { children: /* @__PURE__ */ jsx(PopupResultView, {
69
- result: D,
70
- provider: x.provider,
71
- isActive: b,
72
- isSubmitting: E.isPending,
73
- onSignIn: R,
74
- onRetry: B
75
- }) }), m[40] = x.provider, m[41] = B, m[42] = R, m[43] = b, m[44] = D, m[45] = E.isPending, m[46] = V) : V = m[46], V;
68
+ let z;
69
+ return p[40] !== b.provider || p[41] !== R || p[42] !== I || p[43] !== y || p[44] !== T || p[45] !== w.isPending ? (z = /* @__PURE__ */ jsx(CompletionMessagePaper_default, { children: /* @__PURE__ */ jsx(PopupResultView, {
70
+ result: T,
71
+ provider: b.provider,
72
+ isActive: y,
73
+ isSubmitting: w.isPending,
74
+ onSignIn: I,
75
+ onRetry: R
76
+ }) }), p[40] = b.provider, p[41] = R, p[42] = I, p[43] = y, p[44] = T, p[45] = w.isPending, p[46] = z) : z = p[46], z;
76
77
  }, ProviderLabel = (t) => {
77
- let u = c(4), { provider: d } = t, p;
78
- u[0] === d ? p = u[1] : (p = d.charAt(0).toUpperCase(), u[0] = d, u[1] = p);
79
- let m = p + d.slice(1), h;
80
- return u[2] === m ? h = u[3] : (h = /* @__PURE__ */ jsx(Fragment$1, { children: m }), u[2] = m, u[3] = h), h;
78
+ let s = c(4), { provider: l } = t, u;
79
+ s[0] === l ? u = s[1] : (u = l.charAt(0).toUpperCase(), s[0] = l, s[1] = u);
80
+ let f = u + l.slice(1), p;
81
+ return s[2] === f ? p = s[3] : (p = /* @__PURE__ */ jsx(Fragment$1, { children: f }), s[2] = f, s[3] = p), p;
81
82
  }, StatusDisplay = (t) => {
82
- let u = c(4), { status: d, provider: p, message: m } = t, h;
83
- return u[0] !== m || u[1] !== p || u[2] !== d ? (h = /* @__PURE__ */ jsx("div", {
83
+ let s = c(4), { status: l, provider: u, message: f } = t, p;
84
+ return s[0] !== f || s[1] !== u || s[2] !== l ? (p = /* @__PURE__ */ jsx("div", {
84
85
  className: "flex items-center gap-3 py-1",
85
- children: d === "success" ? /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("span", {
86
+ children: l === "success" ? /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("span", {
86
87
  className: "flex h-6 w-6 items-center justify-center rounded-full bg-green-100 text-green-600 text-sm",
87
88
  children: "✓"
88
89
  }), /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs("div", {
89
90
  className: "text-sm font-medium",
90
- children: ["Connected to ", /* @__PURE__ */ jsx(ProviderLabel, { provider: p })]
91
- }), m && /* @__PURE__ */ jsx("div", {
91
+ children: ["Connected to ", /* @__PURE__ */ jsx(ProviderLabel, { provider: u })]
92
+ }), f && /* @__PURE__ */ jsx("div", {
92
93
  className: "text-xs text-gray-500 mt-0.5",
93
- children: m
94
+ children: f
94
95
  })] })] }) : /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("span", {
95
96
  className: "flex h-6 w-6 items-center justify-center rounded-full bg-red-100 text-red-600 text-sm",
96
97
  children: "✗"
97
98
  }), /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
98
99
  className: "text-sm font-medium",
99
100
  children: "Authentication failed"
100
- }), m && /* @__PURE__ */ jsx("div", {
101
+ }), f && /* @__PURE__ */ jsx("div", {
101
102
  className: "text-xs text-red-500 mt-0.5",
102
- children: m
103
+ children: f
103
104
  })] })] })
104
- }), u[0] = m, u[1] = p, u[2] = d, u[3] = h) : h = u[3], h;
105
+ }), s[0] = f, s[1] = u, s[2] = l, s[3] = p) : p = s[3], p;
105
106
  }, RetryButton = (t) => {
106
- let u = c(2), { onClick: d } = t, p;
107
- return u[0] === d ? p = u[1] : (p = /* @__PURE__ */ jsx("button", {
108
- onClick: d,
107
+ let s = c(2), { onClick: l } = t, u;
108
+ return s[0] === l ? u = s[1] : (u = /* @__PURE__ */ jsx("button", {
109
+ onClick: l,
109
110
  className: "mt-3 rounded-md border border-gray-300 bg-white px-4 py-2 text-sm font-medium text-gray-700 shadow-sm hover:bg-gray-50",
110
111
  children: "Try again"
111
- }), u[0] = d, u[1] = p), p;
112
+ }), s[0] = l, s[1] = u), u;
112
113
  }, PopupResultView = (t) => {
113
- let u = c(47), { result: d, provider: p, isActive: m, isSubmitting: h, onSignIn: g, onRetry: _ } = t;
114
- switch (d.status) {
114
+ let s = c(47), { result: l, provider: u, isActive: f, isSubmitting: p, onSignIn: m, onRetry: h } = t;
115
+ switch (l.status) {
115
116
  case "idle": {
116
117
  let t;
117
- u[0] === p ? t = u[1] : (t = /* @__PURE__ */ jsxs("div", {
118
+ s[0] === u ? t = s[1] : (t = /* @__PURE__ */ jsxs("div", {
118
119
  className: "text-sm font-medium mb-1",
119
120
  children: [
120
121
  "Connect your ",
121
- /* @__PURE__ */ jsx(ProviderLabel, { provider: p }),
122
+ /* @__PURE__ */ jsx(ProviderLabel, { provider: u }),
122
123
  " account"
123
124
  ]
124
- }), u[0] = p, u[1] = t);
125
- let d;
126
- u[2] === p ? d = u[3] : (d = /* @__PURE__ */ jsxs("div", {
125
+ }), s[0] = u, s[1] = t);
126
+ let l;
127
+ s[2] === u ? l = s[3] : (l = /* @__PURE__ */ jsxs("div", {
127
128
  className: "text-xs text-gray-500 mb-3",
128
129
  children: [
129
130
  "This workflow needs access to your ",
130
- /* @__PURE__ */ jsx(ProviderLabel, { provider: p }),
131
+ /* @__PURE__ */ jsx(ProviderLabel, { provider: u }),
131
132
  " resources."
132
133
  ]
133
- }), u[2] = p, u[3] = d);
134
- let f;
135
- u[4] !== m || u[5] !== g || u[6] !== p ? (f = m && /* @__PURE__ */ jsxs("button", {
136
- onClick: g,
134
+ }), s[2] = u, s[3] = l);
135
+ let d;
136
+ s[4] !== f || s[5] !== m || s[6] !== u ? (d = f && /* @__PURE__ */ jsxs("button", {
137
+ onClick: m,
137
138
  className: "rounded-md border border-gray-300 bg-white px-4 py-2 text-sm font-medium text-gray-700 shadow-sm hover:bg-gray-50",
138
- children: ["Sign in with ", /* @__PURE__ */ jsx(ProviderLabel, { provider: p })]
139
- }), u[4] = m, u[5] = g, u[6] = p, u[7] = f) : f = u[7];
140
- let h;
141
- return u[8] !== t || u[9] !== d || u[10] !== f ? (h = /* @__PURE__ */ jsxs("div", {
139
+ children: ["Sign in with ", /* @__PURE__ */ jsx(ProviderLabel, { provider: u })]
140
+ }), s[4] = f, s[5] = m, s[6] = u, s[7] = d) : d = s[7];
141
+ let p;
142
+ return s[8] !== t || s[9] !== l || s[10] !== d ? (p = /* @__PURE__ */ jsxs("div", {
142
143
  className: "py-1",
143
144
  children: [
144
145
  t,
145
- d,
146
- f
146
+ l,
147
+ d
147
148
  ]
148
- }), u[8] = t, u[9] = d, u[10] = f, u[11] = h) : h = u[11], h;
149
+ }), s[8] = t, s[9] = l, s[10] = d, s[11] = p) : p = s[11], p;
149
150
  }
150
151
  case "pending": {
151
- let t, d;
152
- u[12] === Symbol.for("react.memo_cache_sentinel") ? (t = /* @__PURE__ */ jsxs("div", {
152
+ let t, l;
153
+ s[12] === Symbol.for("react.memo_cache_sentinel") ? (t = /* @__PURE__ */ jsxs("div", {
153
154
  className: "flex items-center gap-3",
154
155
  children: [/* @__PURE__ */ jsx("div", { className: "h-4 w-4 animate-spin rounded-full border-2 border-gray-300 border-t-gray-600" }), /* @__PURE__ */ jsx("div", {
155
156
  className: "text-sm font-medium",
156
157
  children: "Waiting for authentication..."
157
158
  })]
158
- }), d = /* @__PURE__ */ jsx("div", {
159
+ }), l = /* @__PURE__ */ jsx("div", {
159
160
  className: "text-xs text-gray-500 mt-2",
160
161
  children: "Complete the sign-in in the popup window."
161
- }), u[12] = t, u[13] = d) : (t = u[12], d = u[13]);
162
- let f;
163
- u[14] !== m || u[15] !== _ ? (f = m && /* @__PURE__ */ jsx("div", {
162
+ }), s[12] = t, s[13] = l) : (t = s[12], l = s[13]);
163
+ let u;
164
+ s[14] !== f || s[15] !== h ? (u = f && /* @__PURE__ */ jsx("div", {
164
165
  className: "mt-3 flex gap-2",
165
166
  children: /* @__PURE__ */ jsx("button", {
166
- onClick: _,
167
+ onClick: h,
167
168
  className: "rounded-md border border-gray-300 bg-white px-3 py-1.5 text-xs font-medium text-gray-600 hover:bg-gray-50",
168
169
  children: "Retry"
169
170
  })
170
- }), u[14] = m, u[15] = _, u[16] = f) : f = u[16];
171
- let p;
172
- return u[17] === f ? p = u[18] : (p = /* @__PURE__ */ jsxs("div", {
171
+ }), s[14] = f, s[15] = h, s[16] = u) : u = s[16];
172
+ let d;
173
+ return s[17] === u ? d = s[18] : (d = /* @__PURE__ */ jsxs("div", {
173
174
  className: "py-1",
174
175
  children: [
175
176
  t,
176
- d,
177
- f
177
+ l,
178
+ u
178
179
  ]
179
- }), u[17] = f, u[18] = p), p;
180
+ }), s[17] = u, s[18] = d), d;
180
181
  }
181
182
  case "success": {
182
183
  let t;
183
- return u[19] !== h || u[20] !== p ? (t = /* @__PURE__ */ jsx("div", {
184
+ return s[19] !== p || s[20] !== u ? (t = /* @__PURE__ */ jsx("div", {
184
185
  className: "py-1",
185
- children: h ? /* @__PURE__ */ jsxs("div", {
186
+ children: p ? /* @__PURE__ */ jsxs("div", {
186
187
  className: "flex items-center gap-3",
187
188
  children: [/* @__PURE__ */ jsx("div", { className: "h-4 w-4 animate-spin rounded-full border-2 border-gray-300 border-t-gray-600" }), /* @__PURE__ */ jsx("div", {
188
189
  className: "text-sm font-medium",
@@ -190,64 +191,58 @@ var OAuthPromptRenderer = (p) => {
190
191
  })]
191
192
  }) : /* @__PURE__ */ jsx(StatusDisplay, {
192
193
  status: "success",
193
- provider: p
194
+ provider: u
194
195
  })
195
- }), u[19] = h, u[20] = p, u[21] = t) : t = u[21], t;
196
+ }), s[19] = p, s[20] = u, s[21] = t) : t = s[21], t;
196
197
  }
197
198
  case "error": {
198
199
  let t;
199
- u[22] !== p || u[23] !== d.error ? (t = /* @__PURE__ */ jsx(StatusDisplay, {
200
+ s[22] !== u || s[23] !== l.error ? (t = /* @__PURE__ */ jsx(StatusDisplay, {
200
201
  status: "error",
201
- provider: p,
202
- message: d.error
203
- }), u[22] = p, u[23] = d.error, u[24] = t) : t = u[24];
204
- let f;
205
- u[25] !== m || u[26] !== _ ? (f = m && /* @__PURE__ */ jsx(RetryButton, { onClick: _ }), u[25] = m, u[26] = _, u[27] = f) : f = u[27];
206
- let h;
207
- return u[28] !== t || u[29] !== f ? (h = /* @__PURE__ */ jsxs("div", {
202
+ provider: u,
203
+ message: l.error
204
+ }), s[22] = u, s[23] = l.error, s[24] = t) : t = s[24];
205
+ let d;
206
+ s[25] !== f || s[26] !== h ? (d = f && /* @__PURE__ */ jsx(RetryButton, { onClick: h }), s[25] = f, s[26] = h, s[27] = d) : d = s[27];
207
+ let p;
208
+ return s[28] !== t || s[29] !== d ? (p = /* @__PURE__ */ jsxs("div", {
208
209
  className: "py-1",
209
- children: [t, f]
210
- }), u[28] = t, u[29] = f, u[30] = h) : h = u[30], h;
210
+ children: [t, d]
211
+ }), s[28] = t, s[29] = d, s[30] = p) : p = s[30], p;
211
212
  }
212
213
  case "timeout": {
213
214
  let t;
214
- u[31] === p ? t = u[32] : (t = /* @__PURE__ */ jsx(StatusDisplay, {
215
+ s[31] === u ? t = s[32] : (t = /* @__PURE__ */ jsx(StatusDisplay, {
215
216
  status: "error",
216
- provider: p,
217
+ provider: u,
217
218
  message: "Authentication timed out."
218
- }), u[31] = p, u[32] = t);
219
+ }), s[31] = u, s[32] = t);
220
+ let l;
221
+ s[33] !== f || s[34] !== h ? (l = f && /* @__PURE__ */ jsx(RetryButton, { onClick: h }), s[33] = f, s[34] = h, s[35] = l) : l = s[35];
219
222
  let d;
220
- u[33] !== m || u[34] !== _ ? (d = m && /* @__PURE__ */ jsx(RetryButton, { onClick: _ }), u[33] = m, u[34] = _, u[35] = d) : d = u[35];
221
- let f;
222
- return u[36] !== t || u[37] !== d ? (f = /* @__PURE__ */ jsxs("div", {
223
+ return s[36] !== t || s[37] !== l ? (d = /* @__PURE__ */ jsxs("div", {
223
224
  className: "py-1",
224
- children: [t, d]
225
- }), u[36] = t, u[37] = d, u[38] = f) : f = u[38], f;
225
+ children: [t, l]
226
+ }), s[36] = t, s[37] = l, s[38] = d) : d = s[38], d;
226
227
  }
227
228
  case "blocked": {
228
229
  let t;
229
- u[39] === p ? t = u[40] : (t = /* @__PURE__ */ jsx(StatusDisplay, {
230
+ s[39] === u ? t = s[40] : (t = /* @__PURE__ */ jsx(StatusDisplay, {
230
231
  status: "error",
231
- provider: p,
232
+ provider: u,
232
233
  message: "Popup was blocked by the browser. Please allow popups for this site and try again."
233
- }), u[39] = p, u[40] = t);
234
+ }), s[39] = u, s[40] = t);
235
+ let l;
236
+ s[41] !== f || s[42] !== h ? (l = f && /* @__PURE__ */ jsx(RetryButton, { onClick: h }), s[41] = f, s[42] = h, s[43] = l) : l = s[43];
234
237
  let d;
235
- u[41] !== m || u[42] !== _ ? (d = m && /* @__PURE__ */ jsx(RetryButton, { onClick: _ }), u[41] = m, u[42] = _, u[43] = d) : d = u[43];
236
- let f;
237
- return u[44] !== t || u[45] !== d ? (f = /* @__PURE__ */ jsxs("div", {
238
+ return s[44] !== t || s[45] !== l ? (d = /* @__PURE__ */ jsxs("div", {
238
239
  className: "py-1",
239
- children: [t, d]
240
- }), u[44] = t, u[45] = d, u[46] = f) : f = u[46], f;
240
+ children: [t, l]
241
+ }), s[44] = t, s[45] = l, s[46] = d) : d = s[46], d;
241
242
  }
242
243
  }
243
244
  }, OAuthPromptRenderer_default = OAuthPromptRenderer;
244
245
  function _temp(t) {
245
- return t.options?.transition;
246
- }
247
- function _temp2(t) {
248
- return !!t;
249
- }
250
- function _temp3(t) {
251
246
  return t.id;
252
247
  }
253
248
  export { OAuthPromptRenderer_default as default };
@@ -38,7 +38,7 @@ var statusColors = {
38
38
  let j = A, M;
39
39
  if (r[11] !== S.data?.data) {
40
40
  let e = /* @__PURE__ */ new Set();
41
- for (let t of S.data?.data ?? []) t.alias && e.add(t.alias);
41
+ for (let t of S.data?.data ?? []) t.workflowName && e.add(t.workflowName);
42
42
  M = Array.from(e).sort(), r[11] = S.data?.data, r[12] = M;
43
43
  } else M = r[12];
44
44
  let N = M, P;
@@ -84,7 +84,7 @@ var statusColors = {
84
84
  }, r[22] = O, r[23] = W);
85
85
  let G, K, q, J;
86
86
  r[24] === Symbol.for("react.memo_cache_sentinel") ? (G = {
87
- id: "alias",
87
+ id: "workflowName",
88
88
  label: "Type",
89
89
  minWidth: 100,
90
90
  format: (e) => {
@@ -95,7 +95,7 @@ var statusColors = {
95
95
  onClick: (e) => {
96
96
  e.stopPropagation(), b((e) => ({
97
97
  ...e,
98
- alias: t
98
+ workflowName: t
99
99
  }));
100
100
  },
101
101
  children: t
@@ -139,7 +139,7 @@ var statusColors = {
139
139
  r[31] !== N || r[32] !== j ? (Q = {
140
140
  status: Z,
141
141
  workspaceId: j,
142
- alias: N
142
+ workflowName: N
143
143
  }, r[31] = N, r[32] = j, r[33] = Q) : Q = r[33];
144
144
  let $;
145
145
  return r[34] !== S.isPending || r[35] !== y || r[36] !== L || r[37] !== F || r[38] !== z || r[39] !== h || r[40] !== p || r[41] !== l || r[42] !== d || r[43] !== _ || r[44] !== B || r[45] !== V || r[46] !== H || r[47] !== X || r[48] !== Q ? ($ = /* @__PURE__ */ jsx(ListView_default, {
@@ -2,8 +2,8 @@ import { Button } from "../../../components/ui/button.js";
2
2
  import { Input } from "../../../components/ui/input.js";
3
3
  import { Label } from "../../../components/ui/label.js";
4
4
  import { useWorkbenchLayout } from "../../workbench/providers/WorkbenchLayoutProvider.js";
5
- import { SidebarPanel } from "../../workbench/components/SidebarPanel.js";
6
5
  import "../../workbench/index.js";
6
+ import { SidebarPanel } from "../../workbench/components/SidebarPanel.js";
7
7
  import { useCreateSecret, useDeleteSecret, useUpdateSecret, useWorkspaceSecrets } from "../../../hooks/useSecrets.js";
8
8
  import { c } from "react/compiler-runtime";
9
9
  import { useState } from "react";
@@ -1,49 +1,50 @@
1
+ import { useDocumentConfigs } from "../../../hooks/useConfig.js";
1
2
  import { Button } from "../../../components/ui/button.js";
2
3
  import { Input } from "../../../components/ui/input.js";
3
4
  import { Label } from "../../../components/ui/label.js";
4
5
  import CompletionMessagePaper_default from "../../../components/messages/CompletionMessagePaper.js";
5
- import { useWorkbenchLayout } from "../../workbench/providers/WorkbenchLayoutProvider.js";
6
6
  import { useRunWorkflow } from "../../../hooks/useProcessor.js";
7
+ import { useWorkbenchLayout } from "../../workbench/providers/WorkbenchLayoutProvider.js";
7
8
  import "../../workbench/index.js";
8
9
  import { useUpsertSecret } from "../../../hooks/useSecrets.js";
9
10
  import React, { useState } from "react";
10
11
  import { jsx, jsxs } from "react/jsx-runtime";
11
12
  import { Info, KeyRound, Loader2 } from "lucide-react";
12
- var SecretInputRenderer_default = ({ parentWorkflow: p, workflow: m, document: h, isActive: g }) => {
13
- let _ = h.content.variables ?? [], v = (h.ui?.widgets)?.[0]?.options, y = v?.transition, b = v?.label ?? "Save & Continue", { workspaceId: x } = useWorkbenchLayout(), S = useRunWorkflow(), C = useUpsertSecret(), w = m.availableTransitions?.map((e) => e.id) ?? [], [T, E] = useState(() => {
13
+ var SecretInputRenderer_default = ({ parentWorkflow: m, workflow: h, document: g, isActive: _ }) => {
14
+ let v = g.content.variables ?? [], y = (useDocumentConfigs().get(g.documentName)?.ui?.widgets)?.[0]?.options, b = y?.transition, x = y?.label ?? "Save & Continue", { workspaceId: S } = useWorkbenchLayout(), C = useRunWorkflow(), w = useUpsertSecret(), T = h.availableTransitions?.map((e) => e.id) ?? [], [E, D] = useState(() => {
14
15
  let e = {};
15
- for (let d of _) e[d.key] = d.value ?? "";
16
+ for (let f of v) e[f.key] = f.value ?? "";
16
17
  return e;
17
- }), [D, O] = useState(!1), k = !!y && w.includes(y), A = !g || !k, j = async () => {
18
- if (!(!x || !y)) {
19
- O(!0);
18
+ }), [O, k] = useState(!1), A = !!b && T.includes(b), j = !_ || !A, M = async () => {
19
+ if (!(!S || !b)) {
20
+ k(!0);
20
21
  try {
21
22
  let e = [];
22
- for (let d of _) {
23
- let f = T[d.key]?.trim();
24
- !d.key.trim() || !f || (await C.mutateAsync({
25
- workspaceId: x,
26
- key: d.key,
27
- value: f
28
- }), e.push(d.key));
23
+ for (let f of v) {
24
+ let p = E[f.key]?.trim();
25
+ !f.key.trim() || !p || (await w.mutateAsync({
26
+ workspaceId: S,
27
+ key: f.key,
28
+ value: p
29
+ }), e.push(f.key));
29
30
  }
30
- S.mutate({
31
- workflowId: p.id,
31
+ C.mutate({
32
+ workflowId: m.id,
32
33
  runWorkflowPayloadDto: { transition: {
33
- id: y,
34
- workflowId: m.id,
34
+ id: b,
35
+ workflowId: h.id,
35
36
  payload: { keys: e }
36
37
  } }
37
38
  });
38
39
  } finally {
39
- O(!1);
40
+ k(!1);
40
41
  }
41
42
  }
42
43
  };
43
44
  return /* @__PURE__ */ jsx(CompletionMessagePaper_default, {
44
45
  role: "document",
45
46
  fullWidth: !0,
46
- timestamp: new Date(h.createdAt),
47
+ timestamp: new Date(g.createdAt),
47
48
  children: /* @__PURE__ */ jsxs("div", {
48
49
  className: "flex flex-col gap-4 p-1",
49
50
  children: [
@@ -51,7 +52,7 @@ var SecretInputRenderer_default = ({ parentWorkflow: p, workflow: m, document: h
51
52
  className: "text-sm font-medium",
52
53
  children: "Secrets"
53
54
  }),
54
- _.map((e) => /* @__PURE__ */ jsxs("div", {
55
+ v.map((e) => /* @__PURE__ */ jsxs("div", {
55
56
  className: "flex flex-col gap-1.5",
56
57
  children: [/* @__PURE__ */ jsx(Label, {
57
58
  className: "text-muted-foreground text-xs",
@@ -59,12 +60,12 @@ var SecretInputRenderer_default = ({ parentWorkflow: p, workflow: m, document: h
59
60
  }), /* @__PURE__ */ jsx(Input, {
60
61
  type: "password",
61
62
  placeholder: "Enter value...",
62
- value: T[e.key] ?? "",
63
- onChange: (d) => E((f) => ({
64
- ...f,
65
- [e.key]: d.target.value
63
+ value: E[e.key] ?? "",
64
+ onChange: (f) => D((p) => ({
65
+ ...p,
66
+ [e.key]: f.target.value
66
67
  })),
67
- disabled: A
68
+ disabled: j
68
69
  })]
69
70
  }, e.key)),
70
71
  /* @__PURE__ */ jsxs("div", {
@@ -74,10 +75,10 @@ var SecretInputRenderer_default = ({ parentWorkflow: p, workflow: m, document: h
74
75
  /* @__PURE__ */ jsx("div", {
75
76
  className: "flex justify-end",
76
77
  children: /* @__PURE__ */ jsxs(Button, {
77
- onClick: () => void j(),
78
- disabled: A || D,
78
+ onClick: () => void M(),
79
+ disabled: j || O,
79
80
  className: "w-48",
80
- children: [D ? /* @__PURE__ */ jsx(Loader2, { className: "mr-2 h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx(KeyRound, { className: "mr-2 h-4 w-4" }), b]
81
+ children: [O ? /* @__PURE__ */ jsx(Loader2, { className: "mr-2 h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx(KeyRound, { className: "mr-2 h-4 w-4" }), x]
81
82
  })
82
83
  })
83
84
  ]