@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.
- package/dist/_virtual/rolldown_runtime.js +3 -1
- package/dist/api/config.js +5 -4
- package/dist/api/environments.js +5 -1
- package/dist/api/processor.js +4 -1
- package/dist/app/EnvironmentEmbedRoot.js +22 -30
- package/dist/components/ai-elements/code-block.js +4 -4
- package/dist/components/dynamic-form/CodeContent.js +1 -1
- package/dist/components/dynamic-form/FormBody.js +1 -1
- package/dist/components/layout/StudioSidebar.js +116 -131
- package/dist/components/lists/ListView.js +46 -46
- package/dist/components/motion/FadeIn.js +72 -0
- package/dist/components/motion/StreamingText.js +49 -0
- package/dist/components/ui/accordion.js +2 -2
- package/dist/components/ui-widgets/UiWidget.js +11 -10
- package/dist/components/ui-widgets/widgets/AiPromptInput.js +31 -28
- package/dist/events/sse-client-events.js +7 -1
- package/dist/features/code-explorer/components/FileContentViewer.js +2 -2
- package/dist/features/dashboard/AppLauncher.js +84 -0
- package/dist/features/debug/components/WorkflowFlowViewer.js +49 -51
- package/dist/features/documents/DocumentRenderer.js +18 -17
- package/dist/features/documents/components/DocumentItem.js +42 -20
- package/dist/features/documents/components/DocumentList.js +34 -36
- package/dist/features/documents/components/DocumentMetadataPills.js +102 -49
- package/dist/features/documents/document-details/DocumentDetails.js +577 -377
- package/dist/features/documents/document-details/PromptDetails.js +118 -130
- package/dist/features/documents/document-details/document-debug-utils.js +100 -0
- package/dist/features/documents/renderers/ChoicesRenderer.js +41 -38
- package/dist/features/documents/renderers/ConfirmPromptRenderer.js +31 -28
- package/dist/features/documents/renderers/DocumentFormRenderer.js +62 -70
- package/dist/features/documents/renderers/LlmMessage.js +52 -47
- package/dist/features/documents/renderers/TextPromptRenderer.js +32 -29
- package/dist/features/documents/renderers/useDocumentTransition.js +4 -4
- package/dist/features/feature-registry/FeatureRegistryProvider.js +32 -10
- package/dist/features/feature-registry/available-features.js +12 -0
- package/dist/features/feature-registry/index.js +2 -1
- package/dist/features/file-explorer/components/FileExplorerPanel.js +55 -51
- package/dist/features/git/components/GitBranchBadge.js +31 -0
- package/dist/features/git/components/GitCommitList.js +46 -0
- package/dist/features/git/components/GitRemoteStatus.js +84 -0
- package/dist/features/git/components/WorkbenchGitPanel.js +81 -0
- package/dist/features/git/git-feature.js +12 -0
- package/dist/features/git/hooks/useGit.js +78 -0
- package/dist/features/git/index.js +1 -0
- package/dist/features/oauth/OAuthPromptRenderer.js +137 -142
- package/dist/features/runs/Runs.js +73 -73
- package/dist/features/secrets/components/WorkbenchSecretsPanel.js +1 -1
- package/dist/features/secrets/renderers/SecretInputRenderer.js +30 -29
- package/dist/features/workbench/Workbench.js +25 -33
- package/dist/features/workbench/WorkflowItem.js +9 -9
- package/dist/features/workbench/WorkflowList.js +61 -62
- package/dist/features/workbench/components/NewRunDialog.js +237 -209
- package/dist/features/workbench/components/RecentRunItem.js +3 -3
- package/dist/features/workbench/components/WorkbenchEnvironmentPanel.js +8 -8
- package/dist/features/workbench/components/WorkbenchIconSidebar.js +74 -109
- package/dist/features/workbench/components/WorkbenchSidebarShell.js +3 -3
- package/dist/features/workbench/components/WorkflowForms.js +11 -10
- package/dist/features/workbench/components/WorkflowHistoryItem.js +16 -36
- package/dist/features/workbench/components/WorkflowHistoryList.js +19 -17
- package/dist/features/workbench/components/buttons/WorkflowButtons.js +3 -3
- package/dist/features/workbench/hooks/useLlmStreamingDocuments.js +159 -0
- package/dist/features/workbench/hooks/useWorkflowData.js +58 -31
- package/dist/features/workbench/index.js +2 -2
- package/dist/features/workbench/providers/WorkbenchLayoutProvider.js +53 -53
- package/dist/features/workspaces/Workspaces.js +166 -136
- package/dist/features/workspaces/components/CreateWorkspace.js +115 -107
- package/dist/features/workspaces/components/ExecutionTimeline.js +2 -2
- package/dist/features/workspaces/components/WorkflowRunForm.js +127 -104
- package/dist/features/workspaces/components/WorkspaceHomePage.js +6 -89
- package/dist/features/workspaces/components/workflow-form/ArgumentsView.js +1 -1
- package/dist/features/workspaces/components/workflow-form/SelectionView.js +15 -15
- package/dist/hooks/index.js +3 -2
- package/dist/hooks/query-keys.js +43 -30
- package/dist/hooks/useConfig.js +28 -22
- package/dist/hooks/useEnvironments.js +27 -2
- package/dist/hooks/useProcessor.js +14 -1
- package/dist/hooks/useWorkflows.js +4 -4
- package/dist/index.d.ts +119 -18
- package/dist/index.js +10 -9
- package/dist/node_modules/d3/src/index.js +13 -13
- package/dist/node_modules/d3-scale/src/continuous.js +16 -16
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/architectureDiagram-3BPJPVTR.js +43 -43
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/blockDiagram-GPEHLZMM.js +270 -270
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/c4Diagram-AAUBKEIU.js +90 -90
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-3OPIFGDE.js +458 -458
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-55IACEB6.js +3 -3
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-5ZQYHXKU.js +37 -37
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-727SXJPM.js +208 -208
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-KSCS5N6A.js +145 -145
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-ND2GUHAM.js +7 -7
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-O5CBEL6O.js +41 -41
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/chunk-WU5MYG2G.js +3 -3
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/cose-bilkent-S5V4N54A.js +6 -6
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/diagram-KO2AKTUF.js +30 -30
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/diagram-OG6HWLK6.js +82 -82
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/erDiagram-TEJ5UH35.js +65 -65
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/flowDiagram-I6XJVG4X.js +227 -227
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/ganttDiagram-6RSMTGT7.js +104 -104
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/gitGraphDiagram-PVQCEYII.js +104 -104
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/journeyDiagram-JHISSGLW.js +49 -49
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/quadrantDiagram-W4KKPZXB.js +101 -101
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/sankeyDiagram-5OEKKPKP.js +20 -20
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/sequenceDiagram-3UESZ5HK.js +354 -354
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-AJRCARHV.js +53 -53
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/timeline-definition-PNZ67QCA.js +113 -113
- package/dist/node_modules/mermaid/dist/chunks/mermaid.core/vennDiagram-CIIHVFJN.js +90 -90
- package/dist/node_modules/mermaid/dist/mermaid.core.js +156 -156
- package/dist/node_modules/motion/dist/es/react.js +9 -2
- package/dist/pages/DashboardPage.js +20 -74
- package/dist/pages/DebugWorkflowDetailsPage.js +2 -2
- package/dist/pages/DebugWorkflowsPage.js +76 -106
- package/dist/pages/EmbedWorkbenchPage.js +1 -1
- package/dist/pages/PreviewWorkbenchPage.js +6 -6
- package/dist/pages/WorkbenchPage.js +43 -47
- package/dist/pages/WorkflowDebugPage.js +6 -12
- package/dist/pages/WorkspacePage.js +40 -66
- package/dist/pages/WorkspaceRunsPage.js +24 -31
- package/dist/routing/LocalRouter.js +1 -1
- package/package.json +2 -2
- package/dist/features/dashboard/Dashboard.js +0 -125
- package/dist/features/dashboard/RunItem.js +0 -78
- package/dist/features/dashboard/RunList.js +0 -32
- package/dist/hooks/useDashboard.js +0 -16
|
@@ -2,78 +2,78 @@ import { DataTable } from "../data-table/DataTable.js";
|
|
|
2
2
|
import { c } from "react/compiler-runtime";
|
|
3
3
|
import React, { useCallback } from "react";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
|
-
var ListView_default = (
|
|
6
|
-
let
|
|
7
|
-
|
|
5
|
+
var ListView_default = (ae) => {
|
|
6
|
+
let t = c(61), { loading: n, error: r, items: i, totalItems: a, columns: o, filterConfig: s, deleteItem: l, onClick: u, handleNew: d, handleEdit: f, setPage: p, setRowsPerPage: m, setOrderBy: h, setOrder: g, setSearchTerm: _, setFilters: oe, orderBy: se, order: v, searchTerm: ce, filters: y, page: b, rowsPerPage: x, batchActions: S, batchDelete: C, enableBatchActions: le, rowActions: w, deleteConfirmTitle: T, deleteConfirmDescription: E, newButtonLabel: D } = ae, O = ce === void 0 ? "" : ce, k;
|
|
7
|
+
t[0] === S ? k = t[1] : (k = S === void 0 ? [] : S, t[0] = S, t[1] = k);
|
|
8
8
|
let A = k, j = le === void 0 ? !0 : le, M;
|
|
9
|
-
|
|
9
|
+
t[2] === w ? M = t[3] : (M = w === void 0 ? [] : w, t[2] = w, t[3] = M);
|
|
10
10
|
let N = M, P;
|
|
11
|
-
|
|
11
|
+
t[4] === o ? P = t[5] : (P = o.map(_temp), t[4] = o, t[5] = P);
|
|
12
12
|
let F = P, I;
|
|
13
|
-
|
|
13
|
+
t[6] === A ? I = t[7] : (I = A.map(_temp2), t[6] = A, t[7] = I);
|
|
14
14
|
let ue = I, L;
|
|
15
|
-
|
|
15
|
+
t[8] === N ? L = t[9] : (L = N.map(_temp3), t[8] = N, t[9] = L);
|
|
16
16
|
let R = L, z;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
},
|
|
17
|
+
t[10] === p ? z = t[11] : (z = (e) => {
|
|
18
|
+
p(e);
|
|
19
|
+
}, t[10] = p, t[11] = z);
|
|
20
20
|
let B = z, V;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
},
|
|
21
|
+
t[12] !== p || t[13] !== m ? (V = (e) => {
|
|
22
|
+
m(e), p(0);
|
|
23
|
+
}, t[12] = p, t[13] = m, t[14] = V) : V = t[14];
|
|
24
24
|
let H = V, U;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
},
|
|
25
|
+
t[15] !== g || t[16] !== h ? (U = (e, ie) => {
|
|
26
|
+
h(e), g(ie);
|
|
27
|
+
}, t[15] = g, t[16] = h, t[17] = U) : U = t[17];
|
|
28
28
|
let W = U, G;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
},
|
|
29
|
+
t[18] !== p || t[19] !== _ ? (G = (e) => {
|
|
30
|
+
_(e), p(0);
|
|
31
|
+
}, t[18] = p, t[19] = _, t[20] = G) : G = t[20];
|
|
32
32
|
let K = G, q;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
},
|
|
33
|
+
t[21] !== oe || t[22] !== p ? (q = (e) => {
|
|
34
|
+
oe(e), p(0);
|
|
35
|
+
}, t[21] = oe, t[22] = p, t[23] = q) : q = t[23];
|
|
36
36
|
let J = q, Y;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
},
|
|
37
|
+
t[24] === u ? Y = t[25] : (Y = (e) => {
|
|
38
|
+
u?.(e.id);
|
|
39
|
+
}, t[24] = u, t[25] = Y);
|
|
40
40
|
let de = Y, X;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
},
|
|
41
|
+
t[26] === f ? X = t[27] : (X = (e) => {
|
|
42
|
+
f?.(e);
|
|
43
|
+
}, t[26] = f, t[27] = X);
|
|
44
44
|
let fe = X, Z;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
},
|
|
45
|
+
t[28] === l ? Z = t[29] : (Z = (e) => {
|
|
46
|
+
l?.(e);
|
|
47
|
+
}, t[28] = l, t[29] = Z);
|
|
48
48
|
let pe = Z, Q;
|
|
49
|
-
|
|
49
|
+
t[30] === C ? Q = t[31] : (Q = async (e) => {
|
|
50
50
|
C && await C(e);
|
|
51
|
-
},
|
|
52
|
-
let me = Q, he =
|
|
53
|
-
return
|
|
51
|
+
}, t[30] = C, t[31] = Q);
|
|
52
|
+
let me = Q, he = u ? de : void 0, ge = f ? fe : void 0, _e = l ? pe : void 0, $;
|
|
53
|
+
return t[32] !== E || t[33] !== T || t[34] !== j || t[35] !== r || t[36] !== s || t[37] !== y || t[38] !== me || t[39] !== J || t[40] !== d || t[41] !== B || t[42] !== H || t[43] !== K || t[44] !== W || t[45] !== i || t[46] !== n || t[47] !== D || t[48] !== v || t[49] !== se || t[50] !== b || t[51] !== x || t[52] !== O || t[53] !== he || t[54] !== ge || t[55] !== _e || t[56] !== a || t[57] !== ue || t[58] !== F || t[59] !== R ? ($ = /* @__PURE__ */ jsx("div", {
|
|
54
54
|
className: "w-full",
|
|
55
55
|
children: /* @__PURE__ */ jsx(DataTable, {
|
|
56
|
-
data:
|
|
56
|
+
data: i,
|
|
57
57
|
columns: F,
|
|
58
|
-
totalItems:
|
|
59
|
-
loading:
|
|
60
|
-
error:
|
|
58
|
+
totalItems: a,
|
|
59
|
+
loading: n,
|
|
60
|
+
error: r,
|
|
61
61
|
page: b,
|
|
62
62
|
pageSize: x,
|
|
63
63
|
onPageChange: B,
|
|
64
64
|
onPageSizeChange: H,
|
|
65
|
-
sortBy:
|
|
66
|
-
sortOrder:
|
|
65
|
+
sortBy: se,
|
|
66
|
+
sortOrder: v,
|
|
67
67
|
onSortChange: W,
|
|
68
68
|
searchTerm: O,
|
|
69
69
|
onSearchChange: K,
|
|
70
70
|
filters: y,
|
|
71
|
-
filterConfig:
|
|
71
|
+
filterConfig: s,
|
|
72
72
|
onFiltersChange: J,
|
|
73
73
|
onRowClick: he,
|
|
74
74
|
onEdit: ge,
|
|
75
75
|
onDelete: _e,
|
|
76
|
-
onNew:
|
|
76
|
+
onNew: d,
|
|
77
77
|
newButtonLabel: D,
|
|
78
78
|
enableBatchActions: j,
|
|
79
79
|
batchActions: ue,
|
|
@@ -82,7 +82,7 @@ var ListView_default = (t) => {
|
|
|
82
82
|
deleteConfirmTitle: T,
|
|
83
83
|
deleteConfirmDescription: E
|
|
84
84
|
})
|
|
85
|
-
}),
|
|
85
|
+
}), t[32] = E, t[33] = T, t[34] = j, t[35] = r, t[36] = s, t[37] = y, t[38] = me, t[39] = J, t[40] = d, t[41] = B, t[42] = H, t[43] = K, t[44] = W, t[45] = i, t[46] = n, t[47] = D, t[48] = v, t[49] = se, t[50] = b, t[51] = x, t[52] = O, t[53] = he, t[54] = ge, t[55] = _e, t[56] = a, t[57] = ue, t[58] = F, t[59] = R, t[60] = $) : $ = t[60], $;
|
|
86
86
|
};
|
|
87
87
|
function _temp(e) {
|
|
88
88
|
return {
|
|
@@ -91,8 +91,8 @@ function _temp(e) {
|
|
|
91
91
|
minWidth: e.minWidth,
|
|
92
92
|
align: e.align,
|
|
93
93
|
sortable: !0,
|
|
94
|
-
format: e.format ? (ie) => {
|
|
95
|
-
let t = e.format(ie);
|
|
94
|
+
format: e.format ? (ie, ae) => {
|
|
95
|
+
let t = e.format(ie, ae);
|
|
96
96
|
return typeof t == "string" && t.includes("<") ? /* @__PURE__ */ jsx("div", { dangerouslySetInnerHTML: { __html: t } }) : t;
|
|
97
97
|
} : void 0
|
|
98
98
|
};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { cn } from "../../lib/utils.js";
|
|
2
|
+
import { motion, react_exports } from "../../node_modules/motion/dist/es/react.js";
|
|
3
|
+
import { c } from "react/compiler-runtime";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
function FadeIn(a) {
|
|
6
|
+
let o = c(16), { children: s, className: l, delay: u, y: d, duration: f } = a, p = u === void 0 ? 0 : u, m = d === void 0 ? 6 : d, h = f === void 0 ? .22 : f;
|
|
7
|
+
if ((0, react_exports.useReducedMotion)()) {
|
|
8
|
+
let e;
|
|
9
|
+
return o[0] !== s || o[1] !== l ? (e = /* @__PURE__ */ jsx("div", {
|
|
10
|
+
className: l,
|
|
11
|
+
children: s
|
|
12
|
+
}), o[0] = s, o[1] = l, o[2] = e) : e = o[2], e;
|
|
13
|
+
}
|
|
14
|
+
let g;
|
|
15
|
+
o[3] === l ? g = o[4] : (g = cn(l), o[3] = l, o[4] = g);
|
|
16
|
+
let _;
|
|
17
|
+
o[5] === m ? _ = o[6] : (_ = {
|
|
18
|
+
opacity: 0,
|
|
19
|
+
y: m
|
|
20
|
+
}, o[5] = m, o[6] = _);
|
|
21
|
+
let v;
|
|
22
|
+
o[7] === Symbol.for("react.memo_cache_sentinel") ? (v = {
|
|
23
|
+
opacity: 1,
|
|
24
|
+
y: 0
|
|
25
|
+
}, o[7] = v) : v = o[7];
|
|
26
|
+
let y;
|
|
27
|
+
o[8] !== p || o[9] !== h ? (y = {
|
|
28
|
+
duration: h,
|
|
29
|
+
delay: p,
|
|
30
|
+
ease: "easeOut"
|
|
31
|
+
}, o[8] = p, o[9] = h, o[10] = y) : y = o[10];
|
|
32
|
+
let b;
|
|
33
|
+
return o[11] !== s || o[12] !== g || o[13] !== _ || o[14] !== y ? (b = /* @__PURE__ */ jsx(motion.div, {
|
|
34
|
+
className: g,
|
|
35
|
+
initial: _,
|
|
36
|
+
animate: v,
|
|
37
|
+
transition: y,
|
|
38
|
+
children: s
|
|
39
|
+
}), o[11] = s, o[12] = g, o[13] = _, o[14] = y, o[15] = b) : b = o[15], b;
|
|
40
|
+
}
|
|
41
|
+
function FadeInBlock(a) {
|
|
42
|
+
let o = c(11), { children: s, className: l } = a;
|
|
43
|
+
if ((0, react_exports.useReducedMotion)()) {
|
|
44
|
+
let e;
|
|
45
|
+
return o[0] !== s || o[1] !== l ? (e = /* @__PURE__ */ jsx("div", {
|
|
46
|
+
className: l,
|
|
47
|
+
children: s
|
|
48
|
+
}), o[0] = s, o[1] = l, o[2] = e) : e = o[2], e;
|
|
49
|
+
}
|
|
50
|
+
let u;
|
|
51
|
+
o[3] === l ? u = o[4] : (u = cn(l), o[3] = l, o[4] = u);
|
|
52
|
+
let d, f, p;
|
|
53
|
+
o[5] === Symbol.for("react.memo_cache_sentinel") ? (d = {
|
|
54
|
+
opacity: 0,
|
|
55
|
+
y: 4
|
|
56
|
+
}, f = {
|
|
57
|
+
opacity: 1,
|
|
58
|
+
y: 0
|
|
59
|
+
}, p = {
|
|
60
|
+
duration: .18,
|
|
61
|
+
ease: "easeOut"
|
|
62
|
+
}, o[5] = d, o[6] = f, o[7] = p) : (d = o[5], f = o[6], p = o[7]);
|
|
63
|
+
let m;
|
|
64
|
+
return o[8] !== s || o[9] !== u ? (m = /* @__PURE__ */ jsx(motion.div, {
|
|
65
|
+
className: u,
|
|
66
|
+
initial: d,
|
|
67
|
+
animate: f,
|
|
68
|
+
transition: p,
|
|
69
|
+
children: s
|
|
70
|
+
}), o[8] = s, o[9] = u, o[10] = m) : m = o[10], m;
|
|
71
|
+
}
|
|
72
|
+
export { FadeIn, FadeInBlock };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { cn } from "../../lib/utils.js";
|
|
2
|
+
import { motion, react_exports } from "../../node_modules/motion/dist/es/react.js";
|
|
3
|
+
import { c } from "react/compiler-runtime";
|
|
4
|
+
import { useMemo } from "react";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
function StreamingText(a) {
|
|
7
|
+
let o = c(16), { text: s, className: l } = a, u = (0, react_exports.useReducedMotion)(), d;
|
|
8
|
+
o[0] === s ? d = o[1] : (d = s.match(/\S+\s*|\s+/g) ?? (s ? [s] : []), o[0] = s, o[1] = d);
|
|
9
|
+
let f = d;
|
|
10
|
+
if (u) {
|
|
11
|
+
let n;
|
|
12
|
+
o[2] === l ? n = o[3] : (n = cn("whitespace-pre-wrap", l), o[2] = l, o[3] = n);
|
|
13
|
+
let r;
|
|
14
|
+
return o[4] !== n || o[5] !== s ? (r = /* @__PURE__ */ jsx("span", {
|
|
15
|
+
className: n,
|
|
16
|
+
children: s
|
|
17
|
+
}), o[4] = n, o[5] = s, o[6] = r) : r = o[6], r;
|
|
18
|
+
}
|
|
19
|
+
let p;
|
|
20
|
+
o[7] === l ? p = o[8] : (p = cn("whitespace-pre-wrap", l), o[7] = l, o[8] = p);
|
|
21
|
+
let m;
|
|
22
|
+
if (o[9] !== f) {
|
|
23
|
+
let e;
|
|
24
|
+
o[11] === f.length ? e = o[12] : (e = (e, r) => {
|
|
25
|
+
let i = r === f.length - 1;
|
|
26
|
+
return /* @__PURE__ */ jsx(motion.span, {
|
|
27
|
+
initial: i ? {
|
|
28
|
+
opacity: 0,
|
|
29
|
+
y: 2
|
|
30
|
+
} : !1,
|
|
31
|
+
animate: {
|
|
32
|
+
opacity: 1,
|
|
33
|
+
y: 0
|
|
34
|
+
},
|
|
35
|
+
transition: {
|
|
36
|
+
duration: .18,
|
|
37
|
+
ease: "easeOut"
|
|
38
|
+
},
|
|
39
|
+
children: e
|
|
40
|
+
}, r);
|
|
41
|
+
}, o[11] = f.length, o[12] = e), m = f.map(e), o[9] = f, o[10] = m;
|
|
42
|
+
} else m = o[10];
|
|
43
|
+
let h;
|
|
44
|
+
return o[13] !== p || o[14] !== m ? (h = /* @__PURE__ */ jsx("span", {
|
|
45
|
+
className: p,
|
|
46
|
+
children: m
|
|
47
|
+
}), o[13] = p, o[14] = m, o[15] = h) : h = o[15], h;
|
|
48
|
+
}
|
|
49
|
+
export { StreamingText };
|
|
@@ -47,7 +47,7 @@ function AccordionContent(i) {
|
|
|
47
47
|
let a = c(12), o, s, l;
|
|
48
48
|
a[0] === i ? (o = a[1], s = a[2], l = a[3]) : ({className: s, children: o, ...l} = i, a[0] = i, a[1] = o, a[2] = s, a[3] = l);
|
|
49
49
|
let u;
|
|
50
|
-
a[4] === s ? u = a[5] : (u = cn("pt-0 pb-4", s), a[4] = s, a[5] = u);
|
|
50
|
+
a[4] === s ? u = a[5] : (u = cn("min-w-0 pt-0 pb-4", s), a[4] = s, a[5] = u);
|
|
51
51
|
let d;
|
|
52
52
|
a[6] !== o || a[7] !== u ? (d = /* @__PURE__ */ jsx("div", {
|
|
53
53
|
className: u,
|
|
@@ -56,7 +56,7 @@ function AccordionContent(i) {
|
|
|
56
56
|
let f;
|
|
57
57
|
return a[9] !== l || a[10] !== d ? (f = /* @__PURE__ */ jsx(AccordionPrimitive.Content, {
|
|
58
58
|
"data-slot": "accordion-content",
|
|
59
|
-
className: "data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm",
|
|
59
|
+
className: "data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm data-[state=open]:overflow-visible",
|
|
60
60
|
...l,
|
|
61
61
|
children: d
|
|
62
62
|
}), a[9] = l, a[10] = d, a[11] = f) : f = a[11], f;
|
|
@@ -6,43 +6,44 @@ import { c } from "react/compiler-runtime";
|
|
|
6
6
|
import React from "react";
|
|
7
7
|
import { Fragment as Fragment$1, jsx } from "react/jsx-runtime";
|
|
8
8
|
var UiWidget_default = (s) => {
|
|
9
|
-
let l = c(
|
|
9
|
+
let l = c(19), { config: u, onSubmit: d, disabled: f, isLoading: p } = s, m = u.options;
|
|
10
10
|
switch (u.widget) {
|
|
11
11
|
case "prompt-input": {
|
|
12
12
|
let a;
|
|
13
|
-
return l[0] !== f || l[1] !==
|
|
13
|
+
return l[0] !== f || l[1] !== p || l[2] !== d || l[3] !== m ? (a = /* @__PURE__ */ jsx(AiPromptInput_default, {
|
|
14
14
|
disabled: f,
|
|
15
|
+
isLoading: p,
|
|
15
16
|
onSubmit: d,
|
|
16
17
|
ui: m
|
|
17
|
-
}), l[0] = f, l[1] =
|
|
18
|
+
}), l[0] = f, l[1] = p, l[2] = d, l[3] = m, l[4] = a) : a = l[4], a;
|
|
18
19
|
}
|
|
19
20
|
case "button": {
|
|
20
21
|
let e = m, a;
|
|
21
|
-
return l[
|
|
22
|
+
return l[5] !== f || l[6] !== p || l[7] !== d || l[8] !== e ? (a = /* @__PURE__ */ jsx(SubmitButton, {
|
|
22
23
|
ui: e,
|
|
23
24
|
disabled: f,
|
|
24
25
|
onClick: d,
|
|
25
26
|
isLoading: p
|
|
26
|
-
}), l[
|
|
27
|
+
}), l[5] = f, l[6] = p, l[7] = d, l[8] = e, l[9] = a) : a = l[9], a;
|
|
27
28
|
}
|
|
28
29
|
case "button-full-w": {
|
|
29
30
|
let e = m, o;
|
|
30
|
-
return l[
|
|
31
|
+
return l[10] !== f || l[11] !== p || l[12] !== d || l[13] !== e ? (o = /* @__PURE__ */ jsx(ButtonFullWidth, {
|
|
31
32
|
ui: e,
|
|
32
33
|
disabled: f,
|
|
33
34
|
onClick: d,
|
|
34
35
|
isLoading: p
|
|
35
|
-
}), l[
|
|
36
|
+
}), l[10] = f, l[11] = p, l[12] = d, l[13] = e, l[14] = o) : o = l[14], o;
|
|
36
37
|
}
|
|
37
38
|
case "sandbox-run": {
|
|
38
39
|
let e = m, a;
|
|
39
|
-
return l[
|
|
40
|
+
return l[15] !== f || l[16] !== e ? (a = /* @__PURE__ */ jsx(SandboxRun, {
|
|
40
41
|
ui: e,
|
|
41
42
|
disabled: f
|
|
42
|
-
}), l[
|
|
43
|
+
}), l[15] = f, l[16] = e, l[17] = a) : a = l[17], a;
|
|
43
44
|
}
|
|
44
45
|
}
|
|
45
46
|
let h;
|
|
46
|
-
return l[
|
|
47
|
+
return l[18] === Symbol.for("react.memo_cache_sentinel") ? (h = /* @__PURE__ */ jsx(Fragment$1, {}), l[18] = h) : h = l[18], h;
|
|
47
48
|
};
|
|
48
49
|
export { UiWidget_default as default };
|
|
@@ -4,40 +4,43 @@ import { useState } from "react";
|
|
|
4
4
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
5
|
import { Pill } from "lucide-react";
|
|
6
6
|
function AiPromptInput(d) {
|
|
7
|
-
let f = c(
|
|
8
|
-
f[0] === p ?
|
|
9
|
-
u.preventDefault(), e.text && (p(e.text),
|
|
10
|
-
}, f[0] = p, f[1] =
|
|
11
|
-
let
|
|
12
|
-
f[2] === Symbol.for("react.memo_cache_sentinel") ? (
|
|
13
|
-
let
|
|
14
|
-
f[3] !==
|
|
15
|
-
value:
|
|
16
|
-
onChange:
|
|
7
|
+
let f = c(19), { onSubmit: p, disabled: m, isLoading: h, ui: g } = d, _ = h === void 0 ? !1 : h, [v, y] = useState(""), b = g?.label ?? "Submit", x;
|
|
8
|
+
f[0] === p ? x = f[1] : (x = (e, u) => {
|
|
9
|
+
u.preventDefault(), e.text && (p(e.text), y(""));
|
|
10
|
+
}, f[0] = p, f[1] = x);
|
|
11
|
+
let S;
|
|
12
|
+
f[2] === Symbol.for("react.memo_cache_sentinel") ? (S = (e) => y(e.target.value), f[2] = S) : S = f[2];
|
|
13
|
+
let C = m || _, w;
|
|
14
|
+
f[3] !== v || f[4] !== C ? (w = /* @__PURE__ */ jsx(PromptInputBody, { children: /* @__PURE__ */ jsx(PromptInputTextarea, {
|
|
15
|
+
value: v,
|
|
16
|
+
onChange: S,
|
|
17
17
|
placeholder: "Type your message...",
|
|
18
|
-
disabled:
|
|
18
|
+
disabled: C,
|
|
19
19
|
rows: 1,
|
|
20
20
|
className: "flex-1"
|
|
21
|
-
}) }), f[3] =
|
|
22
|
-
let
|
|
23
|
-
f[6] === Symbol.for("react.memo_cache_sentinel") ? (
|
|
21
|
+
}) }), f[3] = v, f[4] = C, f[5] = w) : w = f[5];
|
|
22
|
+
let T;
|
|
23
|
+
f[6] === Symbol.for("react.memo_cache_sentinel") ? (T = /* @__PURE__ */ jsx(Pill, {
|
|
24
24
|
size: "16",
|
|
25
25
|
className: "mr-2"
|
|
26
|
-
}), f[6] =
|
|
27
|
-
let
|
|
28
|
-
f[7] ===
|
|
26
|
+
}), f[6] = T) : T = f[6];
|
|
27
|
+
let E;
|
|
28
|
+
f[7] === b ? E = f[8] : (E = /* @__PURE__ */ jsxs("div", {
|
|
29
29
|
className: "mr-4 flex items-center",
|
|
30
|
-
children: [
|
|
31
|
-
}), f[7] =
|
|
32
|
-
let
|
|
33
|
-
f[9]
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
30
|
+
children: [T, b]
|
|
31
|
+
}), f[7] = b, f[8] = E);
|
|
32
|
+
let D = m || _, O = _ ? "streaming" : "ready", k;
|
|
33
|
+
f[9] !== D || f[10] !== O ? (k = /* @__PURE__ */ jsx(PromptInputSubmit, {
|
|
34
|
+
disabled: D,
|
|
35
|
+
status: O
|
|
36
|
+
}), f[9] = D, f[10] = O, f[11] = k) : k = f[11];
|
|
37
|
+
let A;
|
|
38
|
+
f[12] !== k || f[13] !== E ? (A = /* @__PURE__ */ jsxs(PromptInputFooter, { children: [E, k] }), f[12] = k, f[13] = E, f[14] = A) : A = f[14];
|
|
39
|
+
let j;
|
|
40
|
+
return f[15] !== A || f[16] !== x || f[17] !== w ? (j = /* @__PURE__ */ jsxs(PromptInput, {
|
|
41
|
+
onSubmit: x,
|
|
42
|
+
children: [w, A]
|
|
43
|
+
}), f[15] = A, f[16] = x, f[17] = w, f[18] = j) : j = f[18], j;
|
|
41
44
|
}
|
|
42
45
|
var AiPromptInput_default = AiPromptInput;
|
|
43
46
|
export { AiPromptInput_default as default };
|
|
@@ -2,6 +2,12 @@ const SseClientEvents = {
|
|
|
2
2
|
WORKFLOW_CREATED: "workflow.created",
|
|
3
3
|
WORKFLOW_UPDATED: "workflow.updated",
|
|
4
4
|
DOCUMENT_CREATED: "document.created",
|
|
5
|
-
SSE_CONNECTED: "sse.connected"
|
|
5
|
+
SSE_CONNECTED: "sse.connected",
|
|
6
|
+
LLM_RESPONSE_START: "llm.response.start",
|
|
7
|
+
LLM_RESPONSE_TEXT_DELTA: "llm.response.text_delta",
|
|
8
|
+
LLM_RESPONSE_THINKING_DELTA: "llm.response.thinking_delta",
|
|
9
|
+
LLM_RESPONSE_TOOL_CALL: "llm.response.tool_call",
|
|
10
|
+
LLM_RESPONSE_DONE: "llm.response.done",
|
|
11
|
+
LLM_RESPONSE_ERROR: "llm.response.error"
|
|
6
12
|
};
|
|
7
13
|
export { SseClientEvents };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { cn } from "../../../lib/utils.js";
|
|
2
2
|
import { ScrollArea, ScrollBar } from "../../../components/ui/scroll-area.js";
|
|
3
|
-
import MarkdownContent_default from "../../../components/dynamic-form/MarkdownContent.js";
|
|
4
3
|
import { ReactFlowProvider } from "../../../node_modules/@xyflow/react/dist/esm/index.js";
|
|
4
|
+
import MarkdownContent_default from "../../../components/dynamic-form/MarkdownContent.js";
|
|
5
|
+
import { Tabs, TabsContent, TabsList, TabsTrigger } from "../../../components/ui/tabs.js";
|
|
5
6
|
import ConfigFlowViewer_default from "../../debug/components/ConfigFlowViewer.js";
|
|
6
7
|
import "../../debug/index.js";
|
|
7
|
-
import { Tabs, TabsContent, TabsList, TabsTrigger } from "../../../components/ui/tabs.js";
|
|
8
8
|
import { c } from "react/compiler-runtime";
|
|
9
9
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
10
|
import { Loader2 } from "lucide-react";
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { useStudio } from "../../providers/StudioProvider.js";
|
|
2
|
+
import { useComponentOverrides } from "../../providers/ComponentOverridesProvider.js";
|
|
3
|
+
import { Button } from "../../components/ui/button.js";
|
|
4
|
+
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "../../components/ui/card.js";
|
|
5
|
+
import { Dialog, DialogContent } from "../../components/ui/dialog.js";
|
|
6
|
+
import CreateWorkspace_default from "../workspaces/components/CreateWorkspace.js";
|
|
7
|
+
import { c } from "react/compiler-runtime";
|
|
8
|
+
import { useMemo, useState } from "react";
|
|
9
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
+
import { Link } from "react-router-dom";
|
|
11
|
+
import { Boxes, FolderOpen, Plus } from "lucide-react";
|
|
12
|
+
function AppLauncher(x) {
|
|
13
|
+
let S = c(25), { apps: C } = x, { CreateWorkspace: w } = useComponentOverrides(), T = w ?? CreateWorkspace_default, { router: E } = useStudio(), [D, O] = useState(null), k;
|
|
14
|
+
S[0] === D ? k = S[1] : (k = D ? [{
|
|
15
|
+
appName: D.appName,
|
|
16
|
+
title: D.title,
|
|
17
|
+
environments: D.extensions?.environments ?? []
|
|
18
|
+
}] : [], S[0] = D, S[1] = k);
|
|
19
|
+
let A = k, j;
|
|
20
|
+
S[2] === E ? j = S[3] : (j = (e) => {
|
|
21
|
+
O(null), e && E.navigateToWorkspace(e.id);
|
|
22
|
+
}, S[2] = E, S[3] = j);
|
|
23
|
+
let M = j, N;
|
|
24
|
+
if (S[4] !== C || S[5] !== E) {
|
|
25
|
+
let e;
|
|
26
|
+
S[7] === E ? e = S[8] : (e = (e) => /* @__PURE__ */ jsxs(Card, {
|
|
27
|
+
className: "flex flex-col",
|
|
28
|
+
children: [/* @__PURE__ */ jsxs(CardHeader, { children: [/* @__PURE__ */ jsxs("div", {
|
|
29
|
+
className: "flex items-center gap-2",
|
|
30
|
+
children: [/* @__PURE__ */ jsx(Boxes, { className: "text-muted-foreground h-5 w-5" }), /* @__PURE__ */ jsx(CardTitle, {
|
|
31
|
+
className: "text-base",
|
|
32
|
+
children: e.title
|
|
33
|
+
})]
|
|
34
|
+
}), e.description && /* @__PURE__ */ jsx(CardDescription, { children: e.description })] }), /* @__PURE__ */ jsxs(CardContent, {
|
|
35
|
+
className: "mt-auto flex gap-2",
|
|
36
|
+
children: [/* @__PURE__ */ jsx(Button, {
|
|
37
|
+
variant: "ghost",
|
|
38
|
+
size: "sm",
|
|
39
|
+
className: "flex-1",
|
|
40
|
+
asChild: !0,
|
|
41
|
+
children: /* @__PURE__ */ jsxs(Link, {
|
|
42
|
+
to: `${E.getWorkspaces()}?appName=${encodeURIComponent(e.appName)}`,
|
|
43
|
+
children: [/* @__PURE__ */ jsx(FolderOpen, { className: "mr-1 h-4 w-4" }), "View Workspaces"]
|
|
44
|
+
})
|
|
45
|
+
}), /* @__PURE__ */ jsxs(Button, {
|
|
46
|
+
variant: "outline",
|
|
47
|
+
size: "sm",
|
|
48
|
+
className: "flex-1",
|
|
49
|
+
onClick: () => O(e),
|
|
50
|
+
children: [/* @__PURE__ */ jsx(Plus, { className: "mr-1 h-4 w-4" }), "Create Workspace"]
|
|
51
|
+
})]
|
|
52
|
+
})]
|
|
53
|
+
}, e.appName), S[7] = E, S[8] = e), N = C.map(e), S[4] = C, S[5] = E, S[6] = N;
|
|
54
|
+
} else N = S[6];
|
|
55
|
+
let P;
|
|
56
|
+
S[9] === N ? P = S[10] : (P = /* @__PURE__ */ jsx("div", {
|
|
57
|
+
className: "mb-8",
|
|
58
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
59
|
+
className: "grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",
|
|
60
|
+
children: N
|
|
61
|
+
})
|
|
62
|
+
}), S[9] = N, S[10] = P);
|
|
63
|
+
let F = !!D, I;
|
|
64
|
+
S[11] === Symbol.for("react.memo_cache_sentinel") ? (I = (e) => !e && O(null), S[11] = I) : I = S[11];
|
|
65
|
+
let L;
|
|
66
|
+
S[12] !== T || S[13] !== A || S[14] !== M || S[15] !== D ? (L = D && /* @__PURE__ */ jsx(T, {
|
|
67
|
+
types: A,
|
|
68
|
+
onSuccess: M
|
|
69
|
+
}), S[12] = T, S[13] = A, S[14] = M, S[15] = D, S[16] = L) : L = S[16];
|
|
70
|
+
let R;
|
|
71
|
+
S[17] === L ? R = S[18] : (R = /* @__PURE__ */ jsx(DialogContent, {
|
|
72
|
+
className: "max-w-2xl",
|
|
73
|
+
children: L
|
|
74
|
+
}), S[17] = L, S[18] = R);
|
|
75
|
+
let z;
|
|
76
|
+
S[19] !== F || S[20] !== R ? (z = /* @__PURE__ */ jsx(Dialog, {
|
|
77
|
+
open: F,
|
|
78
|
+
onOpenChange: I,
|
|
79
|
+
children: R
|
|
80
|
+
}), S[19] = F, S[20] = R, S[21] = z) : z = S[21];
|
|
81
|
+
let B;
|
|
82
|
+
return S[22] !== P || S[23] !== z ? (B = /* @__PURE__ */ jsxs(Fragment$1, { children: [P, z] }), S[22] = P, S[23] = z, S[24] = B) : B = S[24], B;
|
|
83
|
+
}
|
|
84
|
+
export { AppLauncher as default };
|