@epam/ai-dial-toolset-editor 1.3.0-dev.124 → 1.3.0-dev.126

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 (2) hide show
  1. package/index.js +260 -261
  2. package/package.json +4 -4
package/index.js CHANGED
@@ -1,35 +1,35 @@
1
1
  import { DEFAULT_DEPLOYMENT_VERSION as e, DeploymentCreationFieldErrorCode as t, EntityEditor as n, MetadataField as r, MetadataForm as i, SEMVER_VERSION_PATTERN as a, useMetadataForm as o, validateDeploymentCreationFields as s } from "@epam/ai-dial-builder-form";
2
2
  import { ToolsetAuthTypes as c, ToolsetCredentialsLevel as l, WithLogin as u, dialFileToAttachment as d, getApiErrorDetails as f } from "@epam/ai-dial-chat-hooks";
3
- import { CopyButton as p, ENTITY_DESCRIPTION_MAX_LENGTH as m, ENTITY_NAME_MAX_LENGTH as h, TAG_INPUT_TAG_CLASS_NAME as g, TextRefinementField as _, mergeClasses as v, useCodeCopy as y, useTextRefinement as ee } from "@epam/ai-dial-chat-shared";
4
- import { memo as b, useCallback as x, useEffect as S, useMemo as C, useRef as w, useState as T } from "react";
5
- import { IconBrandOauth as te, IconKey as ne, IconLockOff as re, IconLogin as E, IconLogout as ie } from "@tabler/icons-react";
6
- import { jsx as D, jsxs as O } from "react/jsx-runtime";
7
- import { ConfirmationPopup as ae, ConfirmationPopupVariant as oe, DIAL_ICON_SIZE as k, DIAL_KIT_ICON_STROKE as A, Input as j, NeutralButton as M, PasswordInput as N, Radio as P, RadioGroup as F, SegmentedControl as I, Select as L, TagInput as se } from "@epam/ai-dial-ui-kit";
3
+ import { CopyButton as p, ENTITY_DESCRIPTION_MAX_LENGTH as m, ENTITY_NAME_MAX_LENGTH as h, TAG_INPUT_TAG_CLASS_NAME as g, TextRefinementField as _, mergeClasses as v, useCodeCopy as y, useTextRefinement as b } from "@epam/ai-dial-chat-shared";
4
+ import { memo as x, useCallback as S, useEffect as C, useMemo as w, useRef as T, useState as E } from "react";
5
+ import { IconBrandOauth as ee, IconKey as te, IconLockOff as ne, IconLogin as D, IconLogout as re } from "@tabler/icons-react";
6
+ import { jsx as O, jsxs as k } from "react/jsx-runtime";
7
+ import { ConfirmationPopup as ie, ConfirmationPopupVariant as ae, DIAL_ICON_SIZE as A, DIAL_KIT_ICON_STROKE as j, Input as M, NeutralButton as N, PasswordInput as P, Radio as F, RadioGroup as I, SegmentedControl as L, Select as R, TagInput as oe } from "@epam/ai-dial-ui-kit";
8
8
  //#region src/constants/public-class-names.ts
9
- var ce = {
9
+ var se = {
10
10
  metadataSection: "dial-toolset-editor-metadata-section",
11
11
  setupSection: "dial-toolset-editor-setup-section"
12
- }, R = /* @__PURE__ */ function(e) {
12
+ }, z = /* @__PURE__ */ function(e) {
13
13
  return e.Http = "HTTP", e.Sse = "SSE", e;
14
- }({}), z = e, le = { validateVersionPattern: a }, B = {
15
- [c.OAuth]: te,
16
- [c.ApiKey]: ne,
17
- [c.None]: re
18
- }, ue = () => ({
14
+ }({}), B = e, ce = { validateVersionPattern: a }, le = {
15
+ [c.OAuth]: ee,
16
+ [c.ApiKey]: te,
17
+ [c.None]: ne
18
+ }, V = () => ({
19
19
  authenticationType: c.None,
20
20
  withLogin: u.WithoutLogin,
21
21
  isLoggedIn: !1
22
- }), V = () => ({
22
+ }), ue = () => ({
23
23
  name: "",
24
- version: z,
24
+ version: B,
25
25
  iconUrl: "",
26
26
  description: "",
27
27
  topics: [],
28
28
  otherLocales: [],
29
29
  endpoint: "",
30
- protocol: R.Http,
30
+ protocol: z.Http,
31
31
  allowedTools: [],
32
- auth: ue()
32
+ auth: V()
33
33
  }), H = (e) => {
34
34
  if (!/^https?:\/\//.test(e) || e.endsWith(".") || e.endsWith("//")) return !1;
35
35
  try {
@@ -37,7 +37,7 @@ var ce = {
37
37
  } catch {
38
38
  return !1;
39
39
  }
40
- }, U = (e) => H(e.trim()), de = (e) => e.replace(/^(https?):\/([^/])/, "$1://$2"), W = (e) => {
40
+ }, U = (e) => H(e.trim()), W = (e) => e.replace(/^(https?):\/([^/])/, "$1://$2"), de = (e) => {
41
41
  let t = e?.trim() ?? "";
42
42
  if (!t || H(t)) return t;
43
43
  let n = [t];
@@ -46,32 +46,32 @@ var ce = {
46
46
  e !== t && n.push(e);
47
47
  } catch {}
48
48
  for (let e of n) {
49
- let t = de(e);
49
+ let t = W(e);
50
50
  if (H(t)) return t;
51
51
  }
52
52
  return t;
53
- }, G = (e) => !e?.trim() || U(e), K = (e, t = !1) => e.isLoggedIn ? !0 : e.authenticationType === c.ApiKey ? e.keyHeader?.trim() ? e.withLogin === u.WithoutLogin ? !0 : !!(e.keyHeader?.trim() && e.apiKey?.trim()) : !1 : e.authenticationType === c.OAuth && e.withLogin === u.WithConfig ? !!e.clientId?.trim() && (t || !!e.clientSecret?.trim()) && G(e.authorizationEndpoint) && G(e.tokenEndpoint) : !0, fe = (e, t = !1) => Object.keys(s(e, le)).length === 0 && U(e.endpoint) && K(e.auth, t), pe = new Set([
53
+ }, G = (e) => !e?.trim() || U(e), K = (e, t = !1) => e.isLoggedIn ? !0 : e.authenticationType === c.ApiKey ? e.keyHeader?.trim() ? e.withLogin === u.WithoutLogin || !!(e.keyHeader?.trim() && e.apiKey?.trim()) : !1 : e.authenticationType === c.OAuth && e.withLogin === u.WithConfig ? !!e.clientId?.trim() && (t || !!e.clientSecret?.trim()) && G(e.authorizationEndpoint) && G(e.tokenEndpoint) : !0, fe = (e, t = !1) => Object.keys(s(e, ce)).length === 0 && U(e.endpoint) && K(e.auth, t), q = /* @__PURE__ */ new Set([
54
54
  "name",
55
55
  "description",
56
56
  "iconUrl",
57
57
  "version",
58
58
  "topics",
59
59
  "otherLocales"
60
- ]), me = (e) => ({
60
+ ]), pe = (e) => ({
61
61
  name: e.name,
62
62
  description: e.description,
63
63
  iconUrl: e.iconUrl,
64
64
  version: e.version,
65
65
  topics: e.topics,
66
66
  otherLocales: e.otherLocales
67
- }), he = (e) => {
67
+ }), me = (e) => {
68
68
  let t = {}, n = {};
69
- for (let [r, i] of Object.entries(e)) (pe.has(r) ? t : n)[r] = i;
69
+ for (let [r, i] of Object.entries(e)) (q.has(r) ? t : n)[r] = i;
70
70
  return {
71
71
  metadata: t,
72
72
  setup: n
73
73
  };
74
- }, q = {
74
+ }, he = {
75
75
  name: {
76
76
  label: "Name",
77
77
  placeholder: "Enter name"
@@ -111,49 +111,49 @@ var ce = {
111
111
  },
112
112
  ariaLabel: "General"
113
113
  }, ge = ({ form: e, errors: t, bucket: n, FileManagerModal: r, resolveIconUrl: a, allowedMimeTypes: o, maxFileSizeBytes: s, availableLocaleOptions: c, onChange: l, onNameBlur: u, onVersionBlur: f, renderDescription: p, labels: m }) => {
114
- let h = x((e) => {
114
+ let h = S((e) => {
115
115
  let [t] = e.files;
116
116
  return (t ? d(t, n, { resolvePreviewUrl: a }) : null)?.url;
117
- }, [n, a]);
118
- return /* @__PURE__ */ D(i, {
117
+ }, [n, a]), g = w(() => ({
118
+ bucket: n,
119
+ FileManagerModal: r,
120
+ resolveIconUrl: a,
121
+ resolveAttachedIconUrl: h,
122
+ allowedMimeTypes: o,
123
+ maxFileSizeBytes: s
124
+ }), [
125
+ n,
126
+ r,
127
+ a,
128
+ h,
129
+ o,
130
+ s
131
+ ]), _ = w(() => ({
132
+ form: m?.form ?? he,
133
+ avatarPicker: m?.avatarPicker
134
+ }), [m?.form, m?.avatarPicker]);
135
+ return /* @__PURE__ */ O(i, {
119
136
  values: e,
120
137
  errors: t,
121
138
  onChange: l,
122
139
  onNameBlur: u,
123
140
  onVersionBlur: f,
124
- avatarPicker: C(() => ({
125
- bucket: n,
126
- FileManagerModal: r,
127
- resolveIconUrl: a,
128
- resolveAttachedIconUrl: h,
129
- allowedMimeTypes: o,
130
- maxFileSizeBytes: s
131
- }), [
132
- n,
133
- r,
134
- a,
135
- h,
136
- o,
137
- s
138
- ]),
141
+ avatarPicker: g,
139
142
  availableLocaleOptions: c,
140
143
  renderDescription: p,
141
- labels: C(() => ({
142
- form: m?.form ?? q,
143
- avatarPicker: m?.avatarPicker
144
- }), [m?.form, m?.avatarPicker])
144
+ labels: _
145
145
  });
146
146
  }, J = /* @__PURE__ */ function(e) {
147
147
  return e.Success = "success", e.Cancelled = "cancelled", e.PopupBlocked = "popup-blocked", e.InvalidConfig = "invalid-config", e.Failed = "failed", e;
148
- }({}), _e = (e) => e === c.None ? u.WithoutLogin : u.WithLogin, Y = (e, t) => e === c.None ? t?.typeNone ?? "Open access" : e === c.OAuth ? t?.typeOAuth ?? "OAuth" : t?.typeApiKey ?? "API Key", ve = ({ auth: e, errors: t, isSaving: n, toolsetId: r, isEditMode: i, endpoint: a, authActions: o, onOAuthLogin: s, onNotifySuccess: d, onNotifyError: p, onAuthChange: m, onEnsureSaved: h, labels: _ }) => {
149
- let [v, y] = T(!1), [ee, b] = T(!1), x = e.isLoggedIn || n || v, S = U(a) && K(e, i) && !x, C = (t) => {
150
- x || t === e.authenticationType || m({
148
+ }({}), Y = (e) => e === c.None ? u.WithoutLogin : u.WithLogin, _e = (e, t) => e === c.None ? t?.typeNone ?? "Open access" : e === c.OAuth ? t?.typeOAuth ?? "OAuth" : t?.typeApiKey ?? "API Key", X = ({ auth: e, errors: t, isSaving: n, toolsetId: r, isEditMode: i, endpoint: a, authActions: o, onOAuthLogin: s, onNotifySuccess: d, onNotifyError: p, onAuthChange: m, onEnsureSaved: h, labels: _ }) => {
149
+ let [v, y] = E(!1), [b, x] = E(!1), S = e.isLoggedIn || n || v, C = U(a) && K(e, i) && !S, w = (t) => {
150
+ S || t === e.authenticationType || m({
151
151
  authenticationType: t,
152
- withLogin: _e(t)
152
+ withLogin: Y(t)
153
153
  });
154
- }, w = (e) => {
154
+ }, T = (e) => {
155
155
  m({ withLogin: e });
156
- }, te = (e) => {
156
+ }, ee = (e) => {
157
157
  switch (e.auth != null && m(e.auth), e.status) {
158
158
  case J.Success:
159
159
  m({ isLoggedIn: !0 }), d(_?.loginSuccessMessage ?? "Successfully logged in.");
@@ -169,12 +169,12 @@ var ce = {
169
169
  return;
170
170
  case J.Cancelled: return;
171
171
  }
172
- }, ne = async () => {
173
- if (!S) return;
172
+ }, te = async () => {
173
+ if (!C) return;
174
174
  if (e.authenticationType === c.OAuth) {
175
175
  y(!0);
176
176
  try {
177
- te(await s({
177
+ ee(await s({
178
178
  auth: e,
179
179
  ensureSaved: h
180
180
  }));
@@ -201,7 +201,7 @@ var ce = {
201
201
  y(!1);
202
202
  }
203
203
  }
204
- }, re = async () => {
204
+ }, ne = async () => {
205
205
  y(!0);
206
206
  try {
207
207
  let t = {
@@ -209,103 +209,103 @@ var ce = {
209
209
  credentialsLevel: l.User,
210
210
  authenticationType: e.authenticationType
211
211
  };
212
- await o.logout(r, t), m({ isLoggedIn: !1 }), b(!1), d(_?.logoutSuccessMessage ?? "Successfully logged out.");
212
+ await o.logout(r, t), m({ isLoggedIn: !1 }), x(!1), d(_?.logoutSuccessMessage ?? "Successfully logged out.");
213
213
  } catch (e) {
214
214
  let { traceId: t } = await f(e);
215
215
  p(_?.errorLogoutFailed ?? "Failed to log out. Please try again.", t);
216
216
  } finally {
217
217
  y(!1);
218
218
  }
219
- }, F = () => e.isLoggedIn ? /* @__PURE__ */ D("div", {
219
+ }, I = () => e.isLoggedIn ? /* @__PURE__ */ O("div", {
220
220
  className: "flex",
221
- children: /* @__PURE__ */ D(M, {
221
+ children: /* @__PURE__ */ O(N, {
222
222
  label: _?.logOutLabel ?? "Log out",
223
- iconBefore: /* @__PURE__ */ D(ie, {
224
- size: k.MD,
225
- stroke: A
223
+ iconBefore: /* @__PURE__ */ O(re, {
224
+ size: A.MD,
225
+ stroke: j
226
226
  }),
227
- onClick: () => b(!0),
227
+ onClick: () => x(!0),
228
228
  disabled: n || v
229
229
  })
230
- }) : /* @__PURE__ */ D("div", {
230
+ }) : /* @__PURE__ */ O("div", {
231
231
  className: "flex",
232
- children: /* @__PURE__ */ D(M, {
232
+ children: /* @__PURE__ */ O(N, {
233
233
  label: _?.logInLabel ?? "Log in",
234
- iconBefore: /* @__PURE__ */ D(E, {
235
- size: k.MD,
236
- stroke: A
234
+ iconBefore: /* @__PURE__ */ O(D, {
235
+ size: A.MD,
236
+ stroke: j
237
237
  }),
238
- onClick: ne,
239
- disabled: !S
238
+ onClick: te,
239
+ disabled: !C
240
240
  })
241
241
  });
242
- return /* @__PURE__ */ O("section", {
242
+ return /* @__PURE__ */ k("section", {
243
243
  className: "flex flex-col gap-2",
244
244
  children: [
245
- /* @__PURE__ */ D("h3", {
245
+ /* @__PURE__ */ O("h3", {
246
246
  className: "dial-h3-text",
247
247
  children: _?.sectionTitle ?? "Authentication"
248
248
  }),
249
- /* @__PURE__ */ D(I, {
249
+ /* @__PURE__ */ O(L, {
250
250
  "aria-label": _?.sectionTitle ?? "Authentication",
251
251
  value: e.authenticationType,
252
- onChange: (e) => C(e),
252
+ onChange: (e) => w(e),
253
253
  segmentClassName: "px-2",
254
254
  items: [
255
255
  c.None,
256
256
  c.OAuth,
257
257
  c.ApiKey
258
258
  ].map((t) => {
259
- let n = B[t];
259
+ let n = le[t];
260
260
  return {
261
261
  value: t,
262
- label: /* @__PURE__ */ O("div", {
262
+ label: /* @__PURE__ */ k("div", {
263
263
  className: "flex items-center gap-2",
264
- children: [/* @__PURE__ */ D(n, {
264
+ children: [/* @__PURE__ */ O(n, {
265
265
  className: "shrink-0",
266
- size: k.SM,
267
- stroke: A,
266
+ size: A.SM,
267
+ stroke: j,
268
268
  "aria-hidden": !0
269
- }), /* @__PURE__ */ D("span", {
269
+ }), /* @__PURE__ */ O("span", {
270
270
  className: "sr-only desktop:not-sr-only",
271
- children: Y(t, _)
271
+ children: _e(t, _)
272
272
  })]
273
273
  }),
274
- disabled: x && e.authenticationType !== t
274
+ disabled: S && e.authenticationType !== t
275
275
  };
276
276
  })
277
277
  }),
278
- e.authenticationType === c.None && /* @__PURE__ */ D("p", {
278
+ e.authenticationType === c.None && /* @__PURE__ */ O("p", {
279
279
  className: "dial-small-text pt-2 text-secondary",
280
280
  children: _?.openAccessDescription ?? "Open endpoint, no credentials"
281
281
  }),
282
- e.authenticationType === c.OAuth && /* @__PURE__ */ O("div", {
282
+ e.authenticationType === c.OAuth && /* @__PURE__ */ k("div", {
283
283
  className: "flex flex-col gap-3 pt-2",
284
284
  children: [
285
- /* @__PURE__ */ O("div", {
285
+ /* @__PURE__ */ k("div", {
286
286
  className: "flex flex-col gap-2",
287
- children: [/* @__PURE__ */ D(P, {
287
+ children: [/* @__PURE__ */ O(F, {
288
288
  name: "oauth-login-mode",
289
289
  id: "oauth-with-login",
290
290
  value: u.WithLogin,
291
291
  labelProps: { label: _?.withLoginOAuthLabel ?? "Standard login" },
292
292
  isSelected: e.withLogin === u.WithLogin,
293
- disabled: x,
294
- onChange: w
295
- }), /* @__PURE__ */ D(P, {
293
+ disabled: S,
294
+ onChange: T
295
+ }), /* @__PURE__ */ O(F, {
296
296
  name: "oauth-login-mode",
297
297
  id: "oauth-with-config",
298
298
  value: u.WithConfig,
299
299
  labelProps: { label: _?.withConfigOAuthLabel ?? "Custom login" },
300
300
  isSelected: e.withLogin === u.WithConfig,
301
- disabled: x,
302
- onChange: w
301
+ disabled: S,
302
+ onChange: T
303
303
  })]
304
304
  }),
305
- e.withLogin === u.WithConfig && /* @__PURE__ */ O("div", {
305
+ e.withLogin === u.WithConfig && /* @__PURE__ */ k("div", {
306
306
  className: "flex flex-col gap-3",
307
307
  children: [
308
- /* @__PURE__ */ D(j, {
308
+ /* @__PURE__ */ O(M, {
309
309
  id: "toolset-client-id",
310
310
  value: e.clientId ?? "",
311
311
  onChange: (e) => m({ clientId: e ?? "" }),
@@ -316,9 +316,9 @@ var ce = {
316
316
  placeholder: _?.clientIdPlaceholder ?? "Enter client ID",
317
317
  error: t.clientId || void 0,
318
318
  invalid: !!t.clientId,
319
- disabled: x
319
+ disabled: S
320
320
  }),
321
- /* @__PURE__ */ D(N, {
321
+ /* @__PURE__ */ O(P, {
322
322
  id: "toolset-client-secret",
323
323
  value: e.clientSecret ?? "",
324
324
  onChange: (e) => m({ clientSecret: e ?? "" }),
@@ -331,9 +331,9 @@ var ce = {
331
331
  hidePasswordLabel: _?.hideClientSecretLabel ?? "Hide client secret",
332
332
  error: t.clientSecret || void 0,
333
333
  invalid: !!t.clientSecret,
334
- disabled: x
334
+ disabled: S
335
335
  }),
336
- /* @__PURE__ */ D(j, {
336
+ /* @__PURE__ */ O(M, {
337
337
  id: "toolset-authorization-endpoint",
338
338
  value: e.authorizationEndpoint ?? "",
339
339
  onChange: (e) => m({ authorizationEndpoint: e ?? "" }),
@@ -341,9 +341,9 @@ var ce = {
341
341
  placeholder: _?.authorizationEndpointPlaceholder ?? "Enter authorization endpoint",
342
342
  error: t.authorizationEndpoint || void 0,
343
343
  invalid: !!t.authorizationEndpoint,
344
- disabled: x
344
+ disabled: S
345
345
  }),
346
- /* @__PURE__ */ D(j, {
346
+ /* @__PURE__ */ O(M, {
347
347
  id: "toolset-token-endpoint",
348
348
  value: e.tokenEndpoint ?? "",
349
349
  onChange: (e) => m({ tokenEndpoint: e ?? "" }),
@@ -351,48 +351,48 @@ var ce = {
351
351
  placeholder: _?.tokenEndpointPlaceholder ?? "Enter token endpoint",
352
352
  error: t.tokenEndpoint || void 0,
353
353
  invalid: !!t.tokenEndpoint,
354
- disabled: x
354
+ disabled: S
355
355
  }),
356
- /* @__PURE__ */ D(se, {
356
+ /* @__PURE__ */ O(oe, {
357
357
  id: "toolset-scopes",
358
358
  labelProps: { label: _?.scopesLabel ?? "Scopes" },
359
359
  placeholder: _?.scopesPlaceholder ?? "Enter scopes",
360
360
  value: e.scopes ?? [],
361
361
  onChange: (e) => m({ scopes: e }),
362
- disabled: x,
362
+ disabled: S,
363
363
  tagClassName: g
364
364
  })
365
365
  ]
366
366
  }),
367
- F()
367
+ I()
368
368
  ]
369
369
  }),
370
- e.authenticationType === c.ApiKey && /* @__PURE__ */ O("div", {
370
+ e.authenticationType === c.ApiKey && /* @__PURE__ */ k("div", {
371
371
  className: "flex flex-col gap-3 pt-2",
372
372
  children: [
373
- /* @__PURE__ */ O("div", {
373
+ /* @__PURE__ */ k("div", {
374
374
  className: "flex flex-col gap-2",
375
- children: [/* @__PURE__ */ D(P, {
375
+ children: [/* @__PURE__ */ O(F, {
376
376
  name: "apikey-login-mode",
377
377
  id: "apikey-with-login",
378
378
  value: u.WithLogin,
379
379
  labelProps: { label: _?.withLoginLabel ?? "With login" },
380
380
  isSelected: e.withLogin === u.WithLogin,
381
- disabled: x,
382
- onChange: w
383
- }), /* @__PURE__ */ D(P, {
381
+ disabled: S,
382
+ onChange: T
383
+ }), /* @__PURE__ */ O(F, {
384
384
  name: "apikey-login-mode",
385
385
  id: "apikey-without-login",
386
386
  value: u.WithoutLogin,
387
387
  labelProps: { label: _?.withoutLoginLabel ?? "Without login" },
388
388
  isSelected: e.withLogin === u.WithoutLogin,
389
- disabled: x,
390
- onChange: w
389
+ disabled: S,
390
+ onChange: T
391
391
  })]
392
392
  }),
393
- /* @__PURE__ */ O("div", {
393
+ /* @__PURE__ */ k("div", {
394
394
  className: "flex flex-col gap-3",
395
- children: [/* @__PURE__ */ D(j, {
395
+ children: [/* @__PURE__ */ O(M, {
396
396
  id: "toolset-key-header",
397
397
  value: e.keyHeader ?? "",
398
398
  onChange: (e) => m({ keyHeader: e ?? "" }),
@@ -403,8 +403,8 @@ var ce = {
403
403
  placeholder: _?.keyHeaderPlaceholder ?? "Enter API key parameter name",
404
404
  error: t.keyHeader || void 0,
405
405
  invalid: !!t.keyHeader,
406
- disabled: x
407
- }), e.withLogin === u.WithLogin && /* @__PURE__ */ D(N, {
406
+ disabled: S
407
+ }), e.withLogin === u.WithLogin && /* @__PURE__ */ O(P, {
408
408
  id: "toolset-api-key",
409
409
  value: e.apiKey ?? "",
410
410
  onChange: (e) => m({ apiKey: e ?? "" }),
@@ -417,49 +417,49 @@ var ce = {
417
417
  hidePasswordLabel: _?.hideApiKeyLabel ?? "Hide API key",
418
418
  error: t.apiKey || void 0,
419
419
  invalid: !!t.apiKey,
420
- disabled: x
420
+ disabled: S
421
421
  })]
422
422
  }),
423
- e.withLogin !== u.WithoutLogin && F()
423
+ e.withLogin !== u.WithoutLogin && I()
424
424
  ]
425
425
  }),
426
- ee && /* @__PURE__ */ D(ae, {
427
- open: ee,
426
+ b && /* @__PURE__ */ O(ie, {
427
+ open: b,
428
428
  header: _?.logoutConfirmTitle ?? "Log out?",
429
429
  description: _?.logoutConfirmDescription ?? "Are you sure you want to log out? You will need to re-enter your credentials to use this toolset again.",
430
430
  confirmLabel: _?.logOutLabel ?? "Log out",
431
431
  cancelLabel: _?.cancelLabel ?? "Cancel",
432
- variant: oe.Danger,
432
+ variant: ae.Danger,
433
433
  isLoading: v,
434
434
  disableConfirmButton: v,
435
- onConfirm: re,
436
- onCancel: () => b(!1),
437
- onClose: () => b(!1)
435
+ onConfirm: ne,
436
+ onCancel: () => x(!1),
437
+ onClose: () => x(!1)
438
438
  })
439
439
  ]
440
440
  });
441
- }, X = b(({ url: e, className: t, labels: n }) => {
441
+ }, ve = x(({ url: e, className: t, labels: n }) => {
442
442
  let { isCopied: r, copy: i } = y(e), a = n?.copiedLabel ?? "Copied!";
443
- return /* @__PURE__ */ O("div", {
443
+ return /* @__PURE__ */ k("div", {
444
444
  className: v("flex flex-col gap-3", t),
445
445
  children: [
446
- /* @__PURE__ */ O("div", {
446
+ /* @__PURE__ */ k("div", {
447
447
  className: "flex flex-col gap-1",
448
- children: [/* @__PURE__ */ D("p", {
448
+ children: [/* @__PURE__ */ O("p", {
449
449
  className: "dial-body-semi-text text-start text-primary",
450
450
  children: n?.title ?? "Connect toolset"
451
- }), /* @__PURE__ */ D("p", {
451
+ }), /* @__PURE__ */ O("p", {
452
452
  className: "dial-small-text text-start text-secondary",
453
453
  children: n?.description ?? "Copy endpoint URL to easily integrate toolset into your workflows"
454
454
  })]
455
455
  }),
456
- /* @__PURE__ */ D("div", { children: /* @__PURE__ */ D(p, {
456
+ /* @__PURE__ */ O("div", { children: /* @__PURE__ */ O(p, {
457
457
  copiedLabel: a,
458
458
  copyLabel: n?.copyLabel ?? "Copy URL",
459
459
  isCopied: r,
460
460
  onClick: i
461
461
  }) }),
462
- /* @__PURE__ */ D("span", {
462
+ /* @__PURE__ */ O("span", {
463
463
  role: "status",
464
464
  "aria-live": "polite",
465
465
  className: "sr-only",
@@ -468,14 +468,14 @@ var ce = {
468
468
  ]
469
469
  });
470
470
  }), ye = ({ form: e, errors: t, isSaving: n, toolsetId: r, isEditMode: i, connectUrl: a, listToolNames: o, authActions: s, onOAuthLogin: c, onNotifySuccess: l, onNotifyError: u, onChange: d, onAuthChange: f, onEnsureSaved: p, labels: m }) => {
471
- let [h, _] = T(null), v = !!a && !!r, y = C(() => [{
472
- value: R.Http,
471
+ let [h, _] = E(null), v = !!a && !!r, y = w(() => [{
472
+ value: z.Http,
473
473
  label: "HTTP"
474
474
  }, {
475
- value: R.Sse,
475
+ value: z.Sse,
476
476
  label: "SSE"
477
477
  }], []);
478
- return S(() => {
478
+ return C(() => {
479
479
  if (!r || !o || !K(e.auth, i)) {
480
480
  _(null);
481
481
  return;
@@ -497,10 +497,10 @@ var ce = {
497
497
  e.auth,
498
498
  e.endpoint,
499
499
  o
500
- ]), /* @__PURE__ */ O("div", {
500
+ ]), /* @__PURE__ */ k("div", {
501
501
  className: "flex max-w-[1060px] flex-col gap-4",
502
502
  children: [
503
- /* @__PURE__ */ D(j, {
503
+ /* @__PURE__ */ O(M, {
504
504
  id: "toolset-endpoint",
505
505
  value: e.endpoint,
506
506
  onChange: (e) => d({ endpoint: e ?? "" }),
@@ -513,7 +513,7 @@ var ce = {
513
513
  error: t.endpoint || void 0,
514
514
  invalid: !!t.endpoint
515
515
  }),
516
- /* @__PURE__ */ D(F, {
516
+ /* @__PURE__ */ O(I, {
517
517
  labelProps: {
518
518
  label: m?.protocolLabel ?? "Protocol",
519
519
  required: !0
@@ -525,7 +525,7 @@ var ce = {
525
525
  d({ protocol: e });
526
526
  }
527
527
  }),
528
- h ? /* @__PURE__ */ D(L, {
528
+ h ? /* @__PURE__ */ O(R, {
529
529
  id: "toolset-allowed-tools",
530
530
  multiple: !0,
531
531
  searchable: !0,
@@ -538,7 +538,7 @@ var ce = {
538
538
  })),
539
539
  value: e.allowedTools,
540
540
  onChange: (e) => d({ allowedTools: e })
541
- }) : /* @__PURE__ */ D(se, {
541
+ }) : /* @__PURE__ */ O(oe, {
542
542
  id: "toolset-allowed-tools",
543
543
  labelProps: { label: m?.allowedToolsLabel ?? "Allowed tools" },
544
544
  placeholder: m?.allowedToolsPlaceholder ?? "Add tools, comma separated",
@@ -546,7 +546,7 @@ var ce = {
546
546
  onChange: (e) => d({ allowedTools: e }),
547
547
  tagClassName: g
548
548
  }),
549
- /* @__PURE__ */ D(ve, {
549
+ /* @__PURE__ */ O(X, {
550
550
  auth: e.auth,
551
551
  errors: t,
552
552
  isSaving: n,
@@ -561,7 +561,7 @@ var ce = {
561
561
  onEnsureSaved: p,
562
562
  labels: m?.auth
563
563
  }),
564
- v && /* @__PURE__ */ D(X, {
564
+ v && /* @__PURE__ */ O(ve, {
565
565
  url: a ?? "",
566
566
  labels: m?.connect,
567
567
  className: "border-t border-tertiary pt-4"
@@ -579,189 +579,188 @@ var ce = {
579
579
  let t = {};
580
580
  for (let n of Object.keys(e)) Z.has(n) && (t[n] = !0);
581
581
  return t;
582
- }, Q = ({ initialForm: e, toolsetId: i, onPersist: a, onPostSaveLogin: s, onToolsetsChanged: l, onSaveSuccess: d, onSaveComplete: p, onBack: g, onDirtyChange: v, buildMcpUrl: y, listToolNames: b, authActions: te, onOAuthLogin: ne, onNotifySuccess: re, onNotifyError: E, bucket: ie, FileManagerModal: O, resolveIconUrl: ae, allowedMimeTypes: oe, maxFileSizeBytes: k, availableLocaleOptions: A, onRefineDescription: j, labels: M }) => {
583
- let N = !!i, [P, F] = T(""), I = i || P, [L, se] = T({
582
+ }, Q = ({ initialForm: e, toolsetId: i, onPersist: a, onPostSaveLogin: s, onToolsetsChanged: l, onSaveSuccess: d, onSaveComplete: p, onBack: g, onDirtyChange: v, buildMcpUrl: y, listToolNames: x, authActions: ee, onOAuthLogin: te, onNotifySuccess: ne, onNotifyError: D, bucket: re, FileManagerModal: k, resolveIconUrl: ie, allowedMimeTypes: ae, maxFileSizeBytes: A, availableLocaleOptions: j, onRefineDescription: M, labels: N }) => {
583
+ let P = !!i, [F, I] = E(""), L = i || F, [R, oe] = E({
584
584
  initialForm: e,
585
585
  key: 0
586
- }), [R, z] = T(e);
587
- L.initialForm !== e && (se({
586
+ }), [z, B] = E(e);
587
+ R.initialForm !== e && (oe({
588
588
  initialForm: e,
589
- key: L.key + 1
590
- }), z(e));
591
- let { values: B, setValues: ue, markTouched: V, visibleErrorCodes: H, attemptSubmit: de } = o({
592
- initialValues: C(() => me(e), [e]),
593
- validationOptions: le,
594
- reseedKey: L.key
595
- }), [W, G] = T(e), K = C(() => ({
596
- ...W,
597
- ...B
598
- }), [W, B]), pe = C(() => JSON.stringify(K) !== JSON.stringify(R), [K, R]);
599
- S(() => {
600
- v?.(pe);
601
- }, [pe, v]);
602
- let [q, J] = T(!1), [_e, Y] = T({}), [ve, X] = T({}), Z = w(null);
603
- S(() => {
604
- G(e), Z.current = e, Y({}), X({}), F("");
589
+ key: R.key + 1
590
+ }), B(e));
591
+ let le = w(() => pe(e), [e]), { values: V, setValues: ue, markTouched: H, visibleErrorCodes: W, attemptSubmit: de } = o({
592
+ initialValues: le,
593
+ validationOptions: ce,
594
+ reseedKey: R.key
595
+ }), [G, K] = E(e), q = w(() => ({
596
+ ...G,
597
+ ...V
598
+ }), [G, V]), he = w(() => JSON.stringify(q) !== JSON.stringify(z), [q, z]);
599
+ C(() => {
600
+ v?.(he);
601
+ }, [he, v]);
602
+ let [J, Y] = E(!1), [_e, X] = E({}), [ve, Z] = E({}), Q = T(null);
603
+ C(() => {
604
+ K(e), Q.current = e, X({}), Z({}), I("");
605
605
  }, [e]);
606
- let Q = x((e) => {
607
- let { metadata: t, setup: n } = he(e);
608
- Object.keys(t).length > 0 && (ue(t), "name" in t && V(r.Name), "version" in t && V(r.Version)), Object.keys(n).length !== 0 && (G((e) => ({
606
+ let Ce = S((e) => {
607
+ let { metadata: t, setup: n } = me(e);
608
+ Object.keys(t).length > 0 && (ue(t), "name" in t && H(r.Name), "version" in t && H(r.Version)), Object.keys(n).length !== 0 && (K((e) => ({
609
609
  ...e,
610
610
  ...n
611
- })), X((e) => ({
611
+ })), Z((e) => ({
612
612
  ...e,
613
613
  ...Se(n)
614
- })), Y((e) => {
614
+ })), X((e) => {
615
615
  let t = { ...e };
616
616
  for (let e of Object.keys(n)) delete t[e];
617
617
  return t;
618
618
  }));
619
- }, [ue, V]), Ce = x((e) => {
620
- G((t) => ({
619
+ }, [ue, H]), we = S((e) => {
620
+ K((t) => ({
621
621
  ...t,
622
622
  auth: {
623
623
  ...t.auth,
624
624
  ...e
625
625
  }
626
- })), X((t) => ({
626
+ })), Z((t) => ({
627
627
  ...t,
628
628
  ...Se(e)
629
- })), Y((t) => {
629
+ })), X((t) => {
630
630
  let n = { ...t };
631
631
  if ("authenticationType" in e || "withLogin" in e || "isLoggedIn" in e) for (let e of be) delete n[e];
632
632
  else for (let t of Object.keys(e)) delete n[t];
633
633
  return n;
634
634
  }), "isLoggedIn" in e && l();
635
- }, [l]), we = x(async () => {
636
- if (I && Z.current != null && JSON.stringify(Z.current) === JSON.stringify(K)) return I;
637
- J(!0);
635
+ }, [l]), Te = S(async () => {
636
+ if (L && Q.current != null && JSON.stringify(Q.current) === JSON.stringify(q)) return L;
637
+ Y(!0);
638
638
  try {
639
- let e = await a(K, I);
640
- return e ? (I || F(e), Z.current = K, z(K), v?.(!1), await l(), e) : null;
639
+ let e = await a(q, L);
640
+ return e ? (L || I(e), Q.current = q, B(q), v?.(!1), await l(), e) : null;
641
641
  } catch {
642
642
  return null;
643
643
  } finally {
644
- J(!1);
644
+ Y(!1);
645
645
  }
646
646
  }, [
647
- K,
648
- I,
647
+ q,
648
+ L,
649
649
  a,
650
650
  l,
651
651
  v
652
- ]), Te = x(async () => await we() ?? !1, [we]), $ = x((e) => {
653
- let t = M?.validation, n = {};
654
- return e.endpoint.trim() ? U(e.endpoint) || (n.endpoint = t?.endpointInvalid ?? "Enter a valid http(s) URL") : n.endpoint = t?.endpointRequired ?? "Endpoint is required", e.auth.isLoggedIn || (e.auth.authenticationType === c.ApiKey && (e.auth.keyHeader?.trim() || (n.keyHeader = t?.keyHeaderRequired ?? "Key name is required"), e.auth.withLogin === u.WithLogin && !e.auth.apiKey?.trim() && (n.apiKey = t?.apiKeyRequired ?? "API key is required")), e.auth.authenticationType === c.OAuth && e.auth.withLogin === u.WithConfig && (e.auth.clientId?.trim() || (n.clientId = t?.clientIdRequired ?? "Client ID is required"), !N && !e.auth.clientSecret?.trim() && (n.clientSecret = t?.clientSecretRequired ?? "Client secret is required"), e.auth.authorizationEndpoint?.trim() && !U(e.auth.authorizationEndpoint) && (n.authorizationEndpoint = t?.endpointInvalid ?? "Enter a valid http(s) URL"), e.auth.tokenEndpoint?.trim() && !U(e.auth.tokenEndpoint) && (n.tokenEndpoint = t?.endpointInvalid ?? "Enter a valid http(s) URL"))), n;
655
- }, [M, N]), Ee = x(async () => {
656
- let e = de(), t = $(K);
657
- if (!e || Object.keys(t).length > 0) {
658
- Y(t);
659
- return;
660
- }
661
- Y({}), J(!0);
662
- try {
663
- let e = await a(K, I);
664
- if (!e) return;
665
- z(K), await l(), d(K);
652
+ ]), Ee = S(async () => await Te() ?? !1, [Te]), $ = S((e) => {
653
+ let t = N?.validation, n = {};
654
+ return e.endpoint.trim() ? U(e.endpoint) || (n.endpoint = t?.endpointInvalid ?? "Enter a valid http(s) URL") : n.endpoint = t?.endpointRequired ?? "Endpoint is required", e.auth.isLoggedIn || (e.auth.authenticationType === c.ApiKey && (e.auth.keyHeader?.trim() || (n.keyHeader = t?.keyHeaderRequired ?? "Key name is required"), e.auth.withLogin === u.WithLogin && !e.auth.apiKey?.trim() && (n.apiKey = t?.apiKeyRequired ?? "API key is required")), e.auth.authenticationType === c.OAuth && e.auth.withLogin === u.WithConfig && (e.auth.clientId?.trim() || (n.clientId = t?.clientIdRequired ?? "Client ID is required"), !P && !e.auth.clientSecret?.trim() && (n.clientSecret = t?.clientSecretRequired ?? "Client secret is required"), e.auth.authorizationEndpoint?.trim() && !U(e.auth.authorizationEndpoint) && (n.authorizationEndpoint = t?.endpointInvalid ?? "Enter a valid http(s) URL"), e.auth.tokenEndpoint?.trim() && !U(e.auth.tokenEndpoint) && (n.tokenEndpoint = t?.endpointInvalid ?? "Enter a valid http(s) URL"))), n;
655
+ }, [N, P]), De = S(async () => {
656
+ let e = de(), t = $(q);
657
+ if (!e || Object.keys(t).length > 0) X(t);
658
+ else {
659
+ X({}), Y(!0);
666
660
  try {
667
- await s(e, K.auth), p();
668
- } catch (e) {
669
- let { traceId: t } = await f(e);
670
- E(M?.settings?.auth?.errorLoginFailed ?? "Failed to log in. Please check your credentials and try again.", t);
661
+ let e = await a(q, L);
662
+ if (!e) return;
663
+ B(q), await l(), d(q);
664
+ try {
665
+ await s(e, q.auth), p();
666
+ } catch (e) {
667
+ let { traceId: t } = await f(e);
668
+ D(N?.settings?.auth?.errorLoginFailed ?? "Failed to log in. Please check your credentials and try again.", t);
669
+ }
670
+ } catch {} finally {
671
+ Y(!1);
671
672
  }
672
- } catch {} finally {
673
- J(!1);
674
673
  }
675
674
  }, [
676
675
  de,
677
- K,
676
+ q,
678
677
  $,
679
- I,
678
+ L,
680
679
  a,
681
680
  l,
682
681
  d,
683
682
  p,
684
683
  s,
685
- E,
686
- M
687
- ]), De = ee({
688
- value: B.description,
689
- onChange: (e) => Q({ description: e }),
690
- onRefine: j,
691
- disabled: q,
692
- resetKey: L.key
693
- }), Oe = j ? (e, t) => /* @__PURE__ */ D(_, {
684
+ D,
685
+ N
686
+ ]), Oe = b({
687
+ value: V.description,
688
+ onChange: (e) => Ce({ description: e }),
689
+ onRefine: M,
690
+ disabled: J,
691
+ resetKey: R.key
692
+ }), ke = M ? (e, t) => /* @__PURE__ */ O(_, {
694
693
  isEnabled: !0,
695
694
  fieldId: t,
696
- label: M?.general?.form?.description.label ?? "Description",
697
- labels: M?.refinement,
698
- refinement: De,
699
- disabled: De.isPending || q,
695
+ label: N?.general?.form?.description.label ?? "Description",
696
+ labels: N?.refinement,
697
+ refinement: Oe,
698
+ disabled: Oe.isPending || J,
700
699
  children: e
701
- }) : void 0, ke = C(() => !fe(K, N), [K, N]), Ae = C(() => {
702
- let e = M?.validation, n = $(K), r = { ..._e };
700
+ }) : void 0, Ae = w(() => !fe(q, P), [q, P]), je = w(() => {
701
+ let e = N?.validation, n = $(q), r = { ..._e };
703
702
  for (let e of xe) {
704
703
  if (!ve[e]) continue;
705
704
  let t = n[e];
706
705
  t ? r[e] = t : delete r[e];
707
706
  }
708
- return H.name === t.Required ? r.name = e?.nameRequired ?? "Name is required" : H.name === t.TooLong ? r.name = e?.nameTooLong ?? `Use ${h} characters or fewer.` : H.name === t.ControlCharacters && (r.name = e?.nameControlCharacters ?? "Remove line breaks, tabs and other control characters."), H.description === t.TooLong && (r.description = e?.descriptionTooLong ?? `Use ${m} characters or fewer.`), H.version === t.InvalidFormat && (r.version = e?.versionInvalid ?? "Version must follow semantic versioning (e.g., 1.0.0)"), r;
707
+ return W.name === t.Required ? r.name = e?.nameRequired ?? "Name is required" : W.name === t.TooLong ? r.name = e?.nameTooLong ?? `Use ${h} characters or fewer.` : W.name === t.ControlCharacters && (r.name = e?.nameControlCharacters ?? "Remove line breaks, tabs and other control characters."), W.description === t.TooLong && (r.description = e?.descriptionTooLong ?? `Use ${m} characters or fewer.`), W.version === t.InvalidFormat && (r.version = e?.versionInvalid ?? "Version must follow semantic versioning (e.g., 1.0.0)"), r;
709
708
  }, [
710
709
  ve,
711
710
  _e,
712
- K,
713
- M,
714
- H,
711
+ q,
712
+ N,
713
+ W,
715
714
  $
716
- ]), je = y && I ? y(I) : void 0;
717
- return /* @__PURE__ */ D(n, {
718
- title: N ? M?.layout?.editTitle ?? "Edit toolset" : M?.layout?.createTitle ?? "Create toolset",
715
+ ]), Me = y && L ? y(L) : void 0;
716
+ return /* @__PURE__ */ O(n, {
717
+ title: P ? N?.layout?.editTitle ?? "Edit toolset" : N?.layout?.createTitle ?? "Create toolset",
719
718
  onBack: g,
720
719
  onCancel: g,
721
- onSubmit: Ee,
722
- submitLabel: N ? M?.layout?.saveLabel ?? "Save" : M?.layout?.createLabel ?? "Create",
723
- isSubmitting: q,
724
- isSubmitDisabled: ke || De.isPending,
725
- metadataSectionClassName: ce.metadataSection,
726
- setupSectionClassName: ce.setupSection,
720
+ onSubmit: De,
721
+ submitLabel: P ? N?.layout?.saveLabel ?? "Save" : N?.layout?.createLabel ?? "Create",
722
+ isSubmitting: J,
723
+ isSubmitDisabled: Ae || Oe.isPending,
724
+ metadataSectionClassName: se.metadataSection,
725
+ setupSectionClassName: se.setupSection,
727
726
  labels: {
728
- backAriaLabel: M?.layout?.backAriaLabel ?? "Back to catalog",
729
- savingStatusLabel: M?.layout?.savingStatusLabel ?? "Saving",
730
- metadataTitle: M?.layout?.metadataSectionTitle ?? "Metadata",
731
- setupTitle: M?.layout?.setupSectionTitle ?? "Setup",
732
- cancelLabel: M?.layout?.cancelLabel ?? "Cancel"
727
+ backAriaLabel: N?.layout?.backAriaLabel ?? "Back to catalog",
728
+ savingStatusLabel: N?.layout?.savingStatusLabel ?? "Saving",
729
+ metadataTitle: N?.layout?.metadataSectionTitle ?? "Metadata",
730
+ setupTitle: N?.layout?.setupSectionTitle ?? "Setup",
731
+ cancelLabel: N?.layout?.cancelLabel ?? "Cancel"
733
732
  },
734
- metadata: /* @__PURE__ */ D(ge, {
735
- form: K,
736
- errors: Ae,
737
- bucket: ie,
738
- FileManagerModal: O,
739
- resolveIconUrl: ae,
740
- allowedMimeTypes: oe,
741
- maxFileSizeBytes: k,
742
- availableLocaleOptions: A,
743
- onChange: Q,
744
- renderDescription: Oe,
745
- labels: M?.general
733
+ metadata: /* @__PURE__ */ O(ge, {
734
+ form: q,
735
+ errors: je,
736
+ bucket: re,
737
+ FileManagerModal: k,
738
+ resolveIconUrl: ie,
739
+ allowedMimeTypes: ae,
740
+ maxFileSizeBytes: A,
741
+ availableLocaleOptions: j,
742
+ onChange: Ce,
743
+ renderDescription: ke,
744
+ labels: N?.general
746
745
  }),
747
- setup: /* @__PURE__ */ D(ye, {
748
- form: K,
749
- errors: Ae,
750
- isSaving: q,
751
- toolsetId: I,
752
- isEditMode: N,
753
- connectUrl: je,
754
- listToolNames: b,
755
- authActions: te,
756
- onOAuthLogin: ne,
757
- onNotifySuccess: re,
758
- onNotifyError: E,
759
- onChange: Q,
760
- onAuthChange: Ce,
761
- onEnsureSaved: Te,
762
- labels: M?.settings
746
+ setup: /* @__PURE__ */ O(ye, {
747
+ form: q,
748
+ errors: je,
749
+ isSaving: J,
750
+ toolsetId: L,
751
+ isEditMode: P,
752
+ connectUrl: Me,
753
+ listToolNames: x,
754
+ authActions: ee,
755
+ onOAuthLogin: te,
756
+ onNotifySuccess: ne,
757
+ onNotifyError: D,
758
+ onChange: Ce,
759
+ onAuthChange: we,
760
+ onEnsureSaved: Ee,
761
+ labels: N?.settings
763
762
  })
764
763
  });
765
764
  };
766
765
  //#endregion
767
- export { B as AUTH_TYPE_ICONS, z as DEFAULT_TOOLSET_VERSION, ge as GeneralForm, ce as TOOLSET_EDITOR_CLASS, Q as ToolsetEditor, J as ToolsetOAuthLoginStatus, R as ToolsetTransportType, V as getDefaultToolsetForm, K as isToolsetAuthValid, fe as isToolsetFormValid, U as isValidEndpointUrl, W as normalizeReturnedEndpointUrl };
766
+ export { le as AUTH_TYPE_ICONS, B as DEFAULT_TOOLSET_VERSION, ge as GeneralForm, se as TOOLSET_EDITOR_CLASS, Q as ToolsetEditor, J as ToolsetOAuthLoginStatus, z as ToolsetTransportType, ue as getDefaultToolsetForm, K as isToolsetAuthValid, fe as isToolsetFormValid, U as isValidEndpointUrl, de as normalizeReturnedEndpointUrl };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@epam/ai-dial-toolset-editor",
3
3
  "description": "Host-agnostic form for authoring and editing a DIAL MCP toolset",
4
- "version": "1.3.0-dev.124",
4
+ "version": "1.3.0-dev.126",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "main": "./index.js",
@@ -18,11 +18,11 @@
18
18
  },
19
19
  "dependencies": {
20
20
  "@tabler/icons-react": "^3.44.0",
21
- "@epam/ai-dial-builder-form": "1.3.0-dev.124"
21
+ "@epam/ai-dial-builder-form": "1.3.0-dev.126"
22
22
  },
23
23
  "peerDependencies": {
24
- "@epam/ai-dial-chat-hooks": "1.3.0-dev.124",
25
- "@epam/ai-dial-chat-shared": "1.3.0-dev.124",
24
+ "@epam/ai-dial-chat-hooks": "1.3.0-dev.126",
25
+ "@epam/ai-dial-chat-shared": "1.3.0-dev.126",
26
26
  "@epam/ai-dial-ui-kit": "^0.16.0-dev.20",
27
27
  "react": "^19.2.8"
28
28
  },