@loopstack/loopstack-studio 0.23.0 → 0.24.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 (90) hide show
  1. package/dist/api/index.js +12 -10
  2. package/dist/api/secrets.js +16 -0
  3. package/dist/components/dynamic-form/ArrayController.js +68 -64
  4. package/dist/components/dynamic-form/Form.js +56 -27
  5. package/dist/components/dynamic-form/FormElement.js +1 -1
  6. package/dist/components/dynamic-form/FormElementHeader.js +2 -2
  7. package/dist/components/dynamic-form/InputController.js +3 -1
  8. package/dist/components/dynamic-form/ObjectController.js +24 -21
  9. package/dist/components/dynamic-form/fields/BaseFieldWrapper.js +1 -1
  10. package/dist/components/dynamic-form/fields/InputField.js +20 -19
  11. package/dist/components/dynamic-form/fields/MarkdownViewField.js +20 -0
  12. package/dist/components/dynamic-form/fields/RadioField.js +18 -18
  13. package/dist/components/dynamic-form/fields/SelectField.js +19 -19
  14. package/dist/components/dynamic-form/fields/TextareaField.js +17 -17
  15. package/dist/components/layout/MainLayout.js +18 -31
  16. package/dist/components/layout/StudioSidebar.js +168 -108
  17. package/dist/components/page/PageBreadcrumbs.js +79 -32
  18. package/dist/components/ui-widgets/UiWidget.js +36 -27
  19. package/dist/components/ui-widgets/widgets/SecretInput.js +42 -0
  20. package/dist/features/code-explorer/components/CodeExplorerTreeNode.js +80 -4
  21. package/dist/features/code-explorer/components/FileContentViewer.js +47 -30
  22. package/dist/features/code-explorer/components/FileTabsBar.js +3 -190
  23. package/dist/features/code-explorer/components/FileTabsBarBase.js +190 -0
  24. package/dist/features/code-explorer/index.js +2 -2
  25. package/dist/features/code-explorer/providers/CodeExplorerProvider.js +2 -162
  26. package/dist/features/code-explorer/utils/fileIcons.js +7 -4
  27. package/dist/features/debug/components/PipelineFlowViewer.js +46 -45
  28. package/dist/features/debug/components/pipeline-flow/WorkflowGraph.js +19 -19
  29. package/dist/features/documents/DocumentRenderer.js +20 -15
  30. package/dist/features/documents/components/DocumentList.js +5 -1
  31. package/dist/features/documents/renderers/AiMessage.js +11 -11
  32. package/dist/features/documents/renderers/ClaudeMessage.js +96 -0
  33. package/dist/features/documents/renderers/DocumentFormRenderer.js +17 -11
  34. package/dist/features/workbench/Workbench.js +64 -80
  35. package/dist/features/workbench/WorkflowItem.js +5 -5
  36. package/dist/features/workbench/components/RemoteFileTabsBar.js +18 -0
  37. package/dist/features/workbench/components/RemoteFileTree.js +90 -0
  38. package/dist/features/workbench/components/WorkbenchFilesPanel.js +67 -0
  39. package/dist/features/workbench/components/WorkbenchFloatingPanel.js +57 -49
  40. package/dist/features/workbench/components/WorkbenchFlowPanel.js +2 -2
  41. package/dist/features/workbench/components/WorkbenchIconSidebar.js +48 -28
  42. package/dist/features/workbench/components/WorkbenchSecretsPanel.js +182 -0
  43. package/dist/features/workbench/hooks/useWorkflowData.js +4 -4
  44. package/dist/features/workbench/providers/RemoteFileExplorerProvider.js +160 -0
  45. package/dist/features/workbench/providers/WorkbenchLayoutProvider.js +46 -43
  46. package/dist/features/workspaces/components/PipelineForm.js +1 -1
  47. package/dist/features/workspaces/components/WorkspaceHomePage.js +93 -0
  48. package/dist/hooks/index.js +1 -1
  49. package/dist/hooks/query-keys.js +41 -34
  50. package/dist/hooks/useFiles.js +1 -43
  51. package/dist/hooks/useSecrets.js +69 -0
  52. package/dist/index.d.ts +49 -0
  53. package/dist/index.js +3 -2
  54. package/dist/node_modules/@xyflow/react/dist/esm/index.js +1 -1
  55. package/dist/pages/DashboardPage.js +87 -35
  56. package/dist/pages/EmbedWorkbenchPage.js +43 -39
  57. package/dist/pages/PipelineDebugPage.js +1 -1
  58. package/dist/pages/PreviewWorkbenchPage.js +167 -70
  59. package/dist/pages/WorkspacePage.js +102 -50
  60. package/dist/pages/WorkspaceRunsPage.js +71 -0
  61. package/dist/routing/LocalRouter.js +6 -0
  62. package/dist/types/ai.types.js +13 -0
  63. package/package.json +2 -3
  64. package/dist/node_modules/@ai-sdk/provider/dist/index.js +0 -65
  65. package/dist/node_modules/@ai-sdk/provider-utils/dist/index.js +0 -1008
  66. package/dist/node_modules/ai/dist/index.js +0 -1083
  67. package/dist/node_modules/zod/v3/ZodError.js +0 -79
  68. package/dist/node_modules/zod/v3/errors.js +0 -6
  69. package/dist/node_modules/zod/v3/helpers/errorUtil.js +0 -5
  70. package/dist/node_modules/zod/v3/helpers/parseUtil.js +0 -90
  71. package/dist/node_modules/zod/v3/helpers/util.js +0 -72
  72. package/dist/node_modules/zod/v3/locales/en.js +0 -58
  73. package/dist/node_modules/zod/v3/types.js +0 -2425
  74. package/dist/node_modules/zod/v4/classic/errors.js +0 -21
  75. package/dist/node_modules/zod/v4/classic/iso.js +0 -29
  76. package/dist/node_modules/zod/v4/classic/parse.js +0 -4
  77. package/dist/node_modules/zod/v4/classic/schemas.js +0 -392
  78. package/dist/node_modules/zod/v4/core/api.js +0 -532
  79. package/dist/node_modules/zod/v4/core/checks.js +0 -283
  80. package/dist/node_modules/zod/v4/core/core.js +0 -44
  81. package/dist/node_modules/zod/v4/core/doc.js +0 -21
  82. package/dist/node_modules/zod/v4/core/errors.js +0 -40
  83. package/dist/node_modules/zod/v4/core/json-schema-processors.js +0 -305
  84. package/dist/node_modules/zod/v4/core/parse.js +0 -66
  85. package/dist/node_modules/zod/v4/core/regexes.js +0 -28
  86. package/dist/node_modules/zod/v4/core/registries.js +0 -38
  87. package/dist/node_modules/zod/v4/core/schemas.js +0 -863
  88. package/dist/node_modules/zod/v4/core/to-json-schema.js +0 -220
  89. package/dist/node_modules/zod/v4/core/util.js +0 -267
  90. package/dist/node_modules/zod/v4/core/versions.js +0 -6
@@ -1,63 +1,115 @@
1
1
  import { useStudio } from "../providers/StudioProvider.js";
2
+ import { useWorkspaceConfig } from "../hooks/useConfig.js";
2
3
  import { useWorkspace } from "../hooks/useWorkspaces.js";
4
+ import { Button } from "../components/ui/button.js";
3
5
  import MainLayout_default from "../components/layout/MainLayout.js";
4
6
  import ErrorSnackbar_default from "../components/feedback/ErrorSnackbar.js";
5
- import ExecutionTimeline_default from "../features/workspaces/components/ExecutionTimeline.js";
7
+ import WorkspaceHomePage_default from "../features/workspaces/components/WorkspaceHomePage.js";
6
8
  import { c } from "react/compiler-runtime";
7
9
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
- import { useParams } from "react-router-dom";
9
- import { Home, Loader2 } from "lucide-react";
10
+ import { Link, useParams } from "react-router-dom";
11
+ import { ArrowRight, Home, Loader2 } from "lucide-react";
10
12
  var WorkspacePage_default = () => {
11
- let p = c(31), { router: m } = useStudio(), { workspaceId: h } = useParams(), g = useWorkspace(h), _;
12
- p[0] === m ? _ = p[1] : (_ = m.getDashboard(), p[0] = m, p[1] = _);
13
- let v;
14
- p[2] === Symbol.for("react.memo_cache_sentinel") ? (v = /* @__PURE__ */ jsx(Home, { className: "h-4 w-4" }), p[2] = v) : v = p[2];
15
- let y;
16
- p[3] === _ ? y = p[4] : (y = {
17
- label: "Dashboard",
18
- href: _,
19
- icon: v
20
- }, p[3] = _, p[4] = y);
21
- let b;
22
- p[5] === m ? b = p[6] : (b = m.getWorkspaces(), p[5] = m, p[6] = b);
23
- let x;
24
- p[7] === b ? x = p[8] : (x = {
25
- label: "Workspaces",
26
- href: b
27
- }, p[7] = b, p[8] = x);
28
- let S = g.data?.title ?? "", C;
29
- p[9] === S ? C = p[10] : (C = {
30
- label: S,
31
- current: !0
32
- }, p[9] = S, p[10] = C);
33
- let w;
34
- p[11] !== y || p[12] !== x || p[13] !== C ? (w = [
35
- y,
36
- x,
37
- C
38
- ], p[11] = y, p[12] = x, p[13] = C, p[14] = w) : w = p[14];
39
- let T = w, E = g.data?.title ?? "", D;
40
- p[15] === E ? D = p[16] : (D = /* @__PURE__ */ jsx("h1", {
41
- className: "mb-4 text-3xl font-bold tracking-tight",
42
- children: E
43
- }), p[15] = E, p[16] = D);
13
+ let v = c(49), { router: y } = useStudio(), { workspaceId: b } = useParams(), x = useWorkspace(b), S = useWorkspaceConfig(), C = x.data, w;
14
+ bb0: {
15
+ if (!C || !S.data) {
16
+ w = void 0;
17
+ break bb0;
18
+ }
19
+ let t;
20
+ if (v[0] !== S.data || v[1] !== C) {
21
+ let _;
22
+ v[3] === C ? _ = v[4] : (_ = (t) => t.blockName === C.blockName, v[3] = C, v[4] = _), t = S.data.find(_)?.ui?.actions?.find(_temp), v[0] = S.data, v[1] = C, v[2] = t;
23
+ } else t = v[2];
24
+ w = t;
25
+ }
26
+ let T = w, E;
27
+ v[5] === y ? E = v[6] : (E = y.getDashboard(), v[5] = y, v[6] = E);
28
+ let D;
29
+ v[7] === Symbol.for("react.memo_cache_sentinel") ? (D = /* @__PURE__ */ jsx(Home, { className: "h-4 w-4" }), v[7] = D) : D = v[7];
44
30
  let O;
45
- p[17] === g.isLoading ? O = p[18] : (O = g.isLoading ? /* @__PURE__ */ jsx(Loader2, { className: "h-6 w-6 animate-spin" }) : "", p[17] = g.isLoading, p[18] = O);
31
+ v[8] === E ? O = v[9] : (O = {
32
+ label: "Dashboard",
33
+ href: E,
34
+ icon: D
35
+ }, v[8] = E, v[9] = O);
46
36
  let k;
47
- p[19] === g.error ? k = p[20] : (k = /* @__PURE__ */ jsx(ErrorSnackbar_default, { error: g.error }), p[19] = g.error, p[20] = k);
37
+ v[10] === y ? k = v[11] : (k = y.getWorkspaces(), v[10] = y, v[11] = k);
48
38
  let A;
49
- p[21] === g.data ? A = p[22] : (A = g.data ? /* @__PURE__ */ jsx(ExecutionTimeline_default, { workspace: g.data }) : "", p[21] = g.data, p[22] = A);
50
- let j;
51
- p[23] !== O || p[24] !== k || p[25] !== A || p[26] !== D ? (j = /* @__PURE__ */ jsxs(Fragment, { children: [
52
- D,
39
+ v[12] === k ? A = v[13] : (A = {
40
+ label: "Workspaces",
41
+ href: k
42
+ }, v[12] = k, v[13] = A);
43
+ let j = C?.title ?? "", M;
44
+ v[14] === j ? M = v[15] : (M = {
45
+ label: j,
46
+ current: !0
47
+ }, v[14] = j, v[15] = M);
48
+ let N;
49
+ v[16] !== O || v[17] !== A || v[18] !== M ? (N = [
53
50
  O,
54
- k,
55
- A
56
- ] }), p[23] = O, p[24] = k, p[25] = A, p[26] = D, p[27] = j) : j = p[27];
57
- let M;
58
- return p[28] !== T || p[29] !== j ? (M = /* @__PURE__ */ jsx(MainLayout_default, {
59
- breadcrumbsData: T,
60
- children: j
61
- }), p[28] = T, p[29] = j, p[30] = M) : M = p[30], M;
51
+ A,
52
+ M
53
+ ], v[16] = O, v[17] = A, v[18] = M, v[19] = N) : N = v[19];
54
+ let P = N, F = x.isLoading || S.isLoading, I = C?.title ?? "", L;
55
+ v[20] === I ? L = v[21] : (L = /* @__PURE__ */ jsx("h1", {
56
+ className: "text-3xl font-bold tracking-tight",
57
+ children: I
58
+ }), v[20] = I, v[21] = L);
59
+ let R;
60
+ v[22] !== y || v[23] !== b ? (R = b && /* @__PURE__ */ jsx(Button, {
61
+ variant: "outline",
62
+ size: "sm",
63
+ asChild: !0,
64
+ children: /* @__PURE__ */ jsxs(Link, {
65
+ to: y.getWorkspaceRuns(b),
66
+ children: ["Runs", /* @__PURE__ */ jsx(ArrowRight, { className: "ml-1 h-4 w-4" })]
67
+ })
68
+ }), v[22] = y, v[23] = b, v[24] = R) : R = v[24];
69
+ let z;
70
+ v[25] !== L || v[26] !== R ? (z = /* @__PURE__ */ jsxs("div", {
71
+ className: "mb-4 flex items-center justify-between",
72
+ children: [L, R]
73
+ }), v[25] = L, v[26] = R, v[27] = z) : z = v[27];
74
+ let B;
75
+ v[28] === F ? B = v[29] : (B = F ? /* @__PURE__ */ jsx(Loader2, { className: "h-6 w-6 animate-spin" }) : "", v[28] = F, v[29] = B);
76
+ let V;
77
+ v[30] === x.error ? V = v[31] : (V = /* @__PURE__ */ jsx(ErrorSnackbar_default, { error: x.error }), v[30] = x.error, v[31] = V);
78
+ let H;
79
+ v[32] === S.error ? H = v[33] : (H = /* @__PURE__ */ jsx(ErrorSnackbar_default, { error: S.error }), v[32] = S.error, v[33] = H);
80
+ let U;
81
+ v[34] !== F || v[35] !== y || v[36] !== T || v[37] !== C || v[38] !== b ? (U = C && T ? /* @__PURE__ */ jsx(WorkspaceHomePage_default, {
82
+ workspace: C,
83
+ action: T
84
+ }) : C && !F ? /* @__PURE__ */ jsxs("div", {
85
+ className: "flex flex-col items-center justify-center py-16",
86
+ children: [/* @__PURE__ */ jsx("p", {
87
+ className: "text-muted-foreground mb-4",
88
+ children: "No home page configured for this workspace."
89
+ }), b && /* @__PURE__ */ jsx(Button, {
90
+ variant: "default",
91
+ asChild: !0,
92
+ children: /* @__PURE__ */ jsxs(Link, {
93
+ to: y.getWorkspaceRuns(b),
94
+ children: ["Go to Runs", /* @__PURE__ */ jsx(ArrowRight, { className: "ml-1 h-4 w-4" })]
95
+ })
96
+ })]
97
+ }) : null, v[34] = F, v[35] = y, v[36] = T, v[37] = C, v[38] = b, v[39] = U) : U = v[39];
98
+ let W;
99
+ v[40] !== z || v[41] !== B || v[42] !== V || v[43] !== H || v[44] !== U ? (W = /* @__PURE__ */ jsxs(Fragment, { children: [
100
+ z,
101
+ B,
102
+ V,
103
+ H,
104
+ U
105
+ ] }), v[40] = z, v[41] = B, v[42] = V, v[43] = H, v[44] = U, v[45] = W) : W = v[45];
106
+ let G;
107
+ return v[46] !== P || v[47] !== W ? (G = /* @__PURE__ */ jsx(MainLayout_default, {
108
+ breadcrumbsData: P,
109
+ children: W
110
+ }), v[46] = P, v[47] = W, v[48] = G) : G = v[48], G;
62
111
  };
112
+ function _temp(t) {
113
+ return t.widget === "start-form";
114
+ }
63
115
  export { WorkspacePage_default as default };
@@ -0,0 +1,71 @@
1
+ import { useStudio } from "../providers/StudioProvider.js";
2
+ import { useWorkspace } from "../hooks/useWorkspaces.js";
3
+ import MainLayout_default from "../components/layout/MainLayout.js";
4
+ import ErrorSnackbar_default from "../components/feedback/ErrorSnackbar.js";
5
+ import ExecutionTimeline_default from "../features/workspaces/components/ExecutionTimeline.js";
6
+ import { c } from "react/compiler-runtime";
7
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
+ import { useParams } from "react-router-dom";
9
+ import { Home, Loader2 } from "lucide-react";
10
+ var WorkspaceRunsPage_default = () => {
11
+ let p = c(36), { router: m } = useStudio(), { workspaceId: h } = useParams(), g = useWorkspace(h), _;
12
+ p[0] === m ? _ = p[1] : (_ = m.getDashboard(), p[0] = m, p[1] = _);
13
+ let v;
14
+ p[2] === Symbol.for("react.memo_cache_sentinel") ? (v = /* @__PURE__ */ jsx(Home, { className: "h-4 w-4" }), p[2] = v) : v = p[2];
15
+ let y;
16
+ p[3] === _ ? y = p[4] : (y = {
17
+ label: "Dashboard",
18
+ href: _,
19
+ icon: v
20
+ }, p[3] = _, p[4] = y);
21
+ let b;
22
+ p[5] === m ? b = p[6] : (b = m.getWorkspaces(), p[5] = m, p[6] = b);
23
+ let x;
24
+ p[7] === b ? x = p[8] : (x = {
25
+ label: "Workspaces",
26
+ href: b
27
+ }, p[7] = b, p[8] = x);
28
+ let S = g.data?.title ?? "", C;
29
+ p[9] !== m || p[10] !== h ? (C = h ? m.getWorkspace(h) : void 0, p[9] = m, p[10] = h, p[11] = C) : C = p[11];
30
+ let w;
31
+ p[12] !== S || p[13] !== C ? (w = {
32
+ label: S,
33
+ href: C
34
+ }, p[12] = S, p[13] = C, p[14] = w) : w = p[14];
35
+ let T;
36
+ p[15] === Symbol.for("react.memo_cache_sentinel") ? (T = {
37
+ label: "Runs",
38
+ current: !0
39
+ }, p[15] = T) : T = p[15];
40
+ let E;
41
+ p[16] !== y || p[17] !== x || p[18] !== w ? (E = [
42
+ y,
43
+ x,
44
+ w,
45
+ T
46
+ ], p[16] = y, p[17] = x, p[18] = w, p[19] = E) : E = p[19];
47
+ let D = E, O = g.data?.title ?? "", k;
48
+ p[20] === O ? k = p[21] : (k = /* @__PURE__ */ jsxs("h1", {
49
+ className: "mb-4 text-3xl font-bold tracking-tight",
50
+ children: [O, " — Runs"]
51
+ }), p[20] = O, p[21] = k);
52
+ let A;
53
+ p[22] === g.isLoading ? A = p[23] : (A = g.isLoading ? /* @__PURE__ */ jsx(Loader2, { className: "h-6 w-6 animate-spin" }) : "", p[22] = g.isLoading, p[23] = A);
54
+ let j;
55
+ p[24] === g.error ? j = p[25] : (j = /* @__PURE__ */ jsx(ErrorSnackbar_default, { error: g.error }), p[24] = g.error, p[25] = j);
56
+ let M;
57
+ p[26] === g.data ? M = p[27] : (M = g.data ? /* @__PURE__ */ jsx(ExecutionTimeline_default, { workspace: g.data }) : "", p[26] = g.data, p[27] = M);
58
+ let N;
59
+ p[28] !== k || p[29] !== A || p[30] !== j || p[31] !== M ? (N = /* @__PURE__ */ jsxs(Fragment, { children: [
60
+ k,
61
+ A,
62
+ j,
63
+ M
64
+ ] }), p[28] = k, p[29] = A, p[30] = j, p[31] = M, p[32] = N) : N = p[32];
65
+ let P;
66
+ return p[33] !== D || p[34] !== N ? (P = /* @__PURE__ */ jsx(MainLayout_default, {
67
+ breadcrumbsData: D,
68
+ children: N
69
+ }), p[33] = D, p[34] = N, p[35] = P) : P = p[35], P;
70
+ };
71
+ export { WorkspaceRunsPage_default as default };
@@ -67,6 +67,12 @@ var LocalRouter = class {
67
67
  async navigateToPipelineNamespace(e, t, n) {
68
68
  await this.navigate(`/workspaces/${e}/pipelines/${t}/namespaces/${n}`);
69
69
  }
70
+ getWorkspaceRuns(e) {
71
+ return `/workspaces/${e}/runs`;
72
+ }
73
+ async navigateToWorkspaceRuns(e) {
74
+ await this.navigate(this.getWorkspaceRuns(e));
75
+ }
70
76
  getEmbedPipeline(e) {
71
77
  return `${this.embedPrefix}/pipelines/${e}`;
72
78
  }
@@ -0,0 +1,13 @@
1
+ function isTextUIPart(e) {
2
+ return e.type === "text";
3
+ }
4
+ function isReasoningUIPart(e) {
5
+ return e.type === "reasoning";
6
+ }
7
+ function isToolOrDynamicToolUIPart(e) {
8
+ return e.type.startsWith("tool-");
9
+ }
10
+ function getToolOrDynamicToolName(e) {
11
+ return e.type.replace(/^tool-/, "");
12
+ }
13
+ export { getToolOrDynamicToolName, isReasoningUIPart, isTextUIPart, isToolOrDynamicToolUIPart };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loopstack/loopstack-studio",
3
- "version": "0.23.0",
3
+ "version": "0.24.0",
4
4
  "repository": "loopstack-ai/loopstack-studio",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -26,7 +26,7 @@
26
26
  "dependencies": {
27
27
  "@fontsource/roboto": "^5.2.10",
28
28
  "@hookform/resolvers": "^5.2.2",
29
- "@loopstack/contracts": "^0.23.0",
29
+ "@loopstack/contracts": "^0.24.0",
30
30
  "@radix-ui/react-accordion": "^1.2.12",
31
31
  "@radix-ui/react-alert-dialog": "^1.1.15",
32
32
  "@radix-ui/react-avatar": "^1.1.11",
@@ -53,7 +53,6 @@
53
53
  "@tailwindcss/vite": "^4.2.1",
54
54
  "@tanstack/react-query": "^5.90.21",
55
55
  "@xyflow/react": "^12.10.1",
56
- "ai": "^6.0.97",
57
56
  "axios": "^1.13.5",
58
57
  "class-variance-authority": "^0.7.1",
59
58
  "clsx": "^2.1.1",
@@ -1,65 +0,0 @@
1
- var marker = "vercel.ai.error", symbol = Symbol.for(marker), _a, _b, AISDKError = class C extends (_b = Error, _a = symbol, _b) {
2
- constructor({ name: e, message: b, cause: S }) {
3
- super(b), this[_a] = !0, this.name = e, this.cause = S;
4
- }
5
- static isInstance(b) {
6
- return C.hasMarker(b, marker);
7
- }
8
- static hasMarker(e, b) {
9
- let x = Symbol.for(b);
10
- return typeof e == "object" && !!e && x in e && typeof e[x] == "boolean" && e[x] === !0;
11
- }
12
- };
13
- function getErrorMessage(e) {
14
- return e == null ? "unknown error" : typeof e == "string" ? e : e instanceof Error ? e.message : JSON.stringify(e);
15
- }
16
- var name3 = "AI_InvalidArgumentError", marker4 = `vercel.ai.error.${name3}`, symbol4 = Symbol.for(marker4), _a4, _b4, InvalidArgumentError = class extends (_b4 = AISDKError, _a4 = symbol4, _b4) {
17
- constructor({ message: e, cause: b, argument: x }) {
18
- super({
19
- name: name3,
20
- message: e,
21
- cause: b
22
- }), this[_a4] = !0, this.argument = x;
23
- }
24
- static isInstance(e) {
25
- return AISDKError.hasMarker(e, marker4);
26
- }
27
- }, name6 = "AI_JSONParseError", marker7 = `vercel.ai.error.${name6}`, symbol7 = Symbol.for(marker7), _a7, _b7, JSONParseError = class extends (_b7 = AISDKError, _a7 = symbol7, _b7) {
28
- constructor({ text: e, cause: b }) {
29
- super({
30
- name: name6,
31
- message: `JSON parsing failed: Text: ${e}.
32
- Error message: ${getErrorMessage(b)}`,
33
- cause: b
34
- }), this[_a7] = !0, this.text = e;
35
- }
36
- static isInstance(e) {
37
- return AISDKError.hasMarker(e, marker7);
38
- }
39
- }, name12 = "AI_TypeValidationError", marker13 = `vercel.ai.error.${name12}`, symbol13 = Symbol.for(marker13), _a13, _b13, TypeValidationError = class e extends (_b13 = AISDKError, _a13 = symbol13, _b13) {
40
- constructor({ value: e, cause: b, context: x }) {
41
- let S = "Type validation failed";
42
- if (x?.field && (S += ` for ${x.field}`), x?.entityName || x?.entityId) {
43
- S += " (";
44
- let e = [];
45
- x.entityName && e.push(x.entityName), x.entityId && e.push(`id: "${x.entityId}"`), S += e.join(", "), S += ")";
46
- }
47
- super({
48
- name: name12,
49
- message: `${S}: Value: ${JSON.stringify(e)}.
50
- Error message: ${getErrorMessage(b)}`,
51
- cause: b
52
- }), this[_a13] = !0, this.value = e, this.context = x;
53
- }
54
- static isInstance(e) {
55
- return AISDKError.hasMarker(e, marker13);
56
- }
57
- static wrap({ value: b, cause: x, context: S }) {
58
- return e.isInstance(x) && x.value === b && x.context?.field === S?.field && x.context?.entityName === S?.entityName && x.context?.entityId === S?.entityId ? x : new e({
59
- value: b,
60
- cause: x,
61
- context: S
62
- });
63
- }
64
- };
65
- export { AISDKError, InvalidArgumentError, JSONParseError, TypeValidationError };