@epam/ai-dial-skills 1.1.0-dev.447 → 1.1.0-dev.456

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.
@@ -7,5 +7,5 @@ import { UseSkillSelectorOverlayOptions, UseSkillSelectorOverlayResult } from '.
7
7
  * favorites state, the description fetch, labels, and the modal/panel
8
8
  * components.
9
9
  */
10
- export declare const useSkillSelectorOverlay: ({ isEnabled, skills, sharedWithMe, publicSkills, favoriteIds, onToggleFavorite, fetchSkillDescription, labels, renderCatalogContent, detailsPanelComponent: DetailsPanelComponent, }: UseSkillSelectorOverlayOptions) => UseSkillSelectorOverlayResult;
10
+ export declare const useSkillSelectorOverlay: ({ isEnabled, skills, sharedWithMe, publicSkills, favoriteIds, onToggleFavorite, fetchSkillDescription, labels, historyChipLabelClassName, renderCatalogContent, detailsPanelComponent: DetailsPanelComponent, }: UseSkillSelectorOverlayOptions) => UseSkillSelectorOverlayResult;
11
11
  //# sourceMappingURL=useSkillSelectorOverlay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSkillSelectorOverlay.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSkillSelectorOverlay/useSkillSelectorOverlay.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EACV,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,qCAAqC,CAAC;AAE7C;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,GAAI,sLAWrC,8BAA8B,KAAG,6BAiRnC,CAAC"}
1
+ {"version":3,"file":"useSkillSelectorOverlay.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSkillSelectorOverlay/useSkillSelectorOverlay.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EACV,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,qCAAqC,CAAC;AAG7C;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,GAAI,iNAYrC,8BAA8B,KAAG,6BAkXnC,CAAC"}
package/index.js CHANGED
@@ -97,7 +97,7 @@ var A = ({ description: e, isDescriptionLoading: o, viewDetailsLabel: s = "View
97
97
  V.current.set(e, t);
98
98
  };
99
99
  return /* @__PURE__ */ T("div", {
100
- className: "flex w-[280px] flex-col",
100
+ className: "flex w-full flex-col desktop:w-[280px]",
101
101
  style: R,
102
102
  children: [
103
103
  /* @__PURE__ */ w("p", {
@@ -203,8 +203,11 @@ var A = ({ description: e, isDescriptionLoading: o, viewDetailsLabel: s = "View
203
203
  name: e.name,
204
204
  description: t.get(e.url) ?? void 0,
205
205
  isDescriptionLoading: n.has(e.url)
206
- }), B = ({ isEnabled: t, skills: n, sharedWithMe: r, publicSkills: i, favoriteIds: o, onToggleFavorite: s, fetchSkillDescription: c, labels: l, renderCatalogContent: u, detailsPanelComponent: d }) => {
207
- let { addMenuLabel: f = "Skills", backLabel: p = "Back", catalogModalTitleLabel: g = "Use skill", emptyQueryHintLabel: _ = "Type to filter", panelLabels: S } = l ?? {}, [C, T] = b(!1), [E, D] = b(null), [O, k] = b(null), [A, M] = b(/* @__PURE__ */ new Map()), [N, P] = b(/* @__PURE__ */ new Set()), F = y(/* @__PURE__ */ new Set()), R = v(() => [
206
+ }), B = (e) => {
207
+ let t = e.split("/").filter((e) => e.length > 0);
208
+ return t[t.length - 1] ?? e;
209
+ }, V = ({ isEnabled: t, skills: n, sharedWithMe: r, publicSkills: i, favoriteIds: o, onToggleFavorite: s, fetchSkillDescription: c, labels: l, historyChipLabelClassName: u, renderCatalogContent: d, detailsPanelComponent: f }) => {
210
+ let { addMenuLabel: p = "Skills", backLabel: g = "Back", catalogModalTitleLabel: _ = "Use skill", emptyQueryHintLabel: S = "Type to filter", panelLabels: C } = l ?? {}, [T, E] = b(!1), [D, O] = b(null), [k, A] = b(null), [M, N] = b(/* @__PURE__ */ new Map()), [P, F] = b(/* @__PURE__ */ new Set()), R = y(/* @__PURE__ */ new Set()), V = v(() => [
208
211
  ...n,
209
212
  ...r ?? [],
210
213
  ...i ?? []
@@ -212,128 +215,153 @@ var A = ({ description: e, isDescriptionLoading: o, viewDetailsLabel: s = "View
212
215
  n,
213
216
  r,
214
217
  i
215
- ]), B = v(() => R.filter((e) => o.has(e.url)).map((e) => z(e, A, N)), [
216
- R,
218
+ ]), H = v(() => new Map(V.map((e) => [e.url, e])), [V]), U = v(() => V.filter((e) => o.has(e.url)).map((e) => z(e, M, P)), [
219
+ V,
217
220
  o,
218
- A,
219
- N
220
- ]), V = v(() => R.find((e) => e.url === O) ?? null, [R, O]), H = h((e) => {
221
- k(e);
222
- }, []), U = h(() => {
223
- k(null);
224
- }, []), W = h((e) => {
225
- A.has(e) || F.current.has(e) || (F.current.add(e), P((t) => new Set(t).add(e)), c(e).then((t) => {
226
- F.current.delete(e), P((t) => {
221
+ M,
222
+ P
223
+ ]), W = v(() => k == null ? null : H.get(k) ?? null, [H, k]), G = h((e) => {
224
+ A(e);
225
+ }, []), K = h(() => {
226
+ A(null);
227
+ }, []), q = k, J = v(() => k == null ? void 0 : [{ url: k }], [k]), Y = h((e) => {
228
+ M.has(e) || R.current.has(e) || (R.current.add(e), F((t) => new Set(t).add(e)), c(e).then((t) => {
229
+ R.current.delete(e), F((t) => {
227
230
  let n = new Set(t);
228
231
  return n.delete(e), n;
229
- }), M((n) => new Map(n).set(e, t));
232
+ }), N((n) => new Map(n).set(e, t));
230
233
  }));
231
- }, [A, c]), G = V == null ? null : /* @__PURE__ */ w(j, {
232
- name: V.name,
233
- path: V.url,
234
- description: A.get(V.url) ?? void 0,
235
- isDescriptionLoading: N.has(V.url),
236
- onTooltipOpen: W,
237
- onViewDetails: D,
238
- labels: { viewDetailsLabel: S?.viewDetailsLabel }
239
- }), K = h((e) => /* @__PURE__ */ w(I, {
240
- favorites: B,
234
+ }, [M, c]), X = v(() => W == null ? null : /* @__PURE__ */ w(j, {
235
+ name: W.name,
236
+ path: W.url,
237
+ description: M.get(W.url) ?? void 0,
238
+ isDescriptionLoading: P.has(W.url),
239
+ onTooltipOpen: Y,
240
+ onViewDetails: O,
241
+ labels: { viewDetailsLabel: C?.viewDetailsLabel }
242
+ }), [
243
+ W,
244
+ M,
245
+ P,
246
+ Y,
247
+ C
248
+ ]), Z = h((e) => e == null || e.length === 0 ? null : e.map((e) => /* @__PURE__ */ w(j, {
249
+ name: H.get(e.url)?.name ?? B(e.url),
250
+ path: e.url,
251
+ labelClassName: u,
252
+ description: M.get(e.url) ?? void 0,
253
+ isDescriptionLoading: P.has(e.url),
254
+ onTooltipOpen: Y,
255
+ onViewDetails: O,
256
+ labels: { viewDetailsLabel: C?.viewDetailsLabel }
257
+ }, e.url)), [
258
+ H,
259
+ u,
260
+ M,
261
+ P,
262
+ Y,
263
+ C
264
+ ]), Q = h((e) => /* @__PURE__ */ w(I, {
265
+ favorites: U,
241
266
  onSelect: (t) => {
242
- H(t.id), e();
267
+ G(t.id), e();
243
268
  },
244
269
  onToggleFavorite: s,
245
270
  onBrowse: () => {
246
- e(), T(!0);
271
+ e(), E(!0);
247
272
  },
248
273
  onViewDetails: (t) => {
249
- e(), D(t.id);
274
+ e(), O(t.id);
250
275
  },
251
- onItemTooltipOpen: W,
252
- labels: S
276
+ onItemTooltipOpen: Y,
277
+ labels: C
253
278
  }), [
254
- B,
255
- H,
279
+ U,
280
+ G,
256
281
  s,
257
- W,
258
- S
259
- ]), q = v(() => ({
282
+ Y,
283
+ C
284
+ ]), $ = v(() => ({
260
285
  key: "skills",
261
- title: f,
286
+ title: p,
262
287
  icon: /* @__PURE__ */ w(x, {
263
288
  size: e,
264
289
  "aria-hidden": !0,
265
290
  stroke: a
266
291
  }),
267
- renderOverlay: K,
268
- backLabel: p
292
+ renderOverlay: Q,
293
+ backLabel: g
269
294
  }), [
270
- f,
271
295
  p,
272
- K
273
- ]), J = v(() => t ? {
296
+ g,
297
+ Q
298
+ ]), ee = v(() => t ? {
274
299
  triggerPrefix: "/",
275
- menuLabel: f,
276
- emptyQueryHint: _,
300
+ menuLabel: p,
301
+ emptyQueryHint: S,
277
302
  renderMenu: ({ query: e, close: t }) => /* @__PURE__ */ w(I, {
278
- favorites: B,
303
+ favorites: U,
279
304
  searchQuery: e,
280
305
  onSelect: (e) => {
281
- t({ consumeQuery: !0 }), H(e.id);
306
+ t({ consumeQuery: !0 }), G(e.id);
282
307
  },
283
308
  onToggleFavorite: s,
284
309
  onBrowse: () => {
285
- t({ consumeQuery: !0 }), T(!0);
310
+ t({ consumeQuery: !0 }), E(!0);
286
311
  },
287
312
  onViewDetails: (e) => {
288
- t({ consumeQuery: !0 }), D(e.id);
313
+ t({ consumeQuery: !0 }), O(e.id);
289
314
  },
290
- onItemTooltipOpen: W,
291
- labels: S
315
+ onItemTooltipOpen: Y,
316
+ labels: C
292
317
  })
293
318
  } : void 0, [
294
319
  t,
295
- f,
296
- _,
297
- B,
298
- H,
320
+ p,
321
+ S,
322
+ U,
323
+ G,
299
324
  s,
300
- W,
301
- S
325
+ Y,
326
+ C
302
327
  ]);
303
328
  return t ? {
304
- skillMenuOverlay: q,
305
- commandMenu: J,
329
+ skillMenuOverlay: $,
330
+ commandMenu: ee,
306
331
  skillCatalogModal: /* @__PURE__ */ w(L, {
307
- isOpen: C,
308
- onClose: () => T(!1),
332
+ isOpen: T,
333
+ onClose: () => E(!1),
309
334
  onSelect: (e) => {
310
- H(e), T(!1);
335
+ G(e), E(!1);
311
336
  },
312
- title: g,
313
- renderContent: u
337
+ title: _,
338
+ renderContent: d
314
339
  }),
315
340
  skillDetailsPanel: /* @__PURE__ */ w(m, {
316
341
  fallback: null,
317
- children: /* @__PURE__ */ w(d, {
318
- skillId: E,
319
- onClose: () => D(null),
320
- onUseInChat: (e) => {
321
- H(e), D(null);
322
- }
342
+ children: /* @__PURE__ */ w(f, {
343
+ skillId: D,
344
+ onClose: () => O(null)
323
345
  })
324
346
  }),
325
- selectedSkillElement: G,
326
- selectSkill: H,
327
- removeSelectedSkill: U
347
+ selectedSkillElement: X,
348
+ selectedSkillPath: q,
349
+ selectedSkills: J,
350
+ selectSkill: G,
351
+ removeSelectedSkill: K,
352
+ renderHistorySkills: Z
328
353
  } : {
329
354
  skillMenuOverlay: void 0,
330
355
  commandMenu: void 0,
331
356
  skillCatalogModal: null,
332
357
  skillDetailsPanel: null,
333
358
  selectedSkillElement: null,
359
+ selectedSkillPath: null,
360
+ selectedSkills: void 0,
334
361
  selectSkill: () => void 0,
335
- removeSelectedSkill: () => void 0
362
+ removeSelectedSkill: () => void 0,
363
+ renderHistorySkills: () => null
336
364
  };
337
365
  };
338
366
  //#endregion
339
- export { j as ChatSkill, I as FavoriteSkillsPanel, L as SkillCatalogModal, R as SkillDetailsSidePanel, A as SkillInfoTooltipContent, z as buildFavoriteSkillItem, B as useSkillSelectorOverlay };
367
+ export { j as ChatSkill, I as FavoriteSkillsPanel, L as SkillCatalogModal, R as SkillDetailsSidePanel, A as SkillInfoTooltipContent, z as buildFavoriteSkillItem, V as useSkillSelectorOverlay };
@@ -4,7 +4,9 @@ import { ReactNode } from 'react';
4
4
  * Props for {@link SkillDetailsSidePanel} — the skill-scoped surface of
5
5
  * `@epam/ai-dial-catalog`'s `DetailsPanelProps`, narrowed to the actions a
6
6
  * skill details surface offers. Publish, share, credentials, and download
7
- * stay with the Catalog page: omitting them hides those actions.
7
+ * stay with the Catalog page: omitting them hides those actions. A surface
8
+ * that shows the skill's information only passes `isReadonly` with the
9
+ * primary action and Download hidden.
8
10
  */
9
11
  export interface SkillDetailsSidePanelProps {
10
12
  /** The skill catalog item to display in the panel. */
@@ -18,6 +20,12 @@ export interface SkillDetailsSidePanelProps {
18
20
  * panel shows a small loading indicator next to the tab row.
19
21
  */
20
22
  isDetailsLoading?: boolean;
23
+ /**
24
+ * Renders the panel read-only: the favorite star and every mutating action
25
+ * are withheld. The primary action and Download still render unless their
26
+ * own visibility rules hide them. Default: `false`.
27
+ */
28
+ isReadonly?: boolean;
21
29
  /** Called when the panel should close (close button or backdrop click). */
22
30
  onClose: () => void;
23
31
  /** Called when the star/favorite button is toggled. */
@@ -26,6 +34,8 @@ export interface SkillDetailsSidePanelProps {
26
34
  onUseInChat?: (item: CatalogItem) => void;
27
35
  /** Controls whether the header's primary action button is shown for the skill. */
28
36
  isPrimaryActionVisible?: (item: CatalogItem) => boolean;
37
+ /** Narrows which items offer the "Download" action. */
38
+ isDownloadVisible?: (item: CatalogItem) => boolean;
29
39
  /**
30
40
  * Resolves the text of a file picked in the Content tab, given its opaque
31
41
  * `id`. Superseded by `onLoadContentFilePreview` and
@@ -1 +1 @@
1
- {"version":3,"file":"skill-details-side-panel-props.d.ts","sourceRoot":"","sources":["../../src/models/skill-details-side-panel-props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,sDAAsD;IACtD,IAAI,EAAE,WAAW,CAAC;IAClB,6CAA6C;IAC7C,MAAM,EAAE,OAAO,CAAC;IAChB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,2EAA2E;IAC3E,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,gEAAgE;IAChE,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1C,kFAAkF;IAClF,sBAAsB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC;IACxD;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACpE;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,CACzB,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC,CAAC;IACpD;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,SAAS,CAAC;IAC3E,2DAA2D;IAC3D,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B"}
1
+ {"version":3,"file":"skill-details-side-panel-props.d.ts","sourceRoot":"","sources":["../../src/models/skill-details-side-panel-props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;;;;;;GAOG;AACH,MAAM,WAAW,0BAA0B;IACzC,sDAAsD;IACtD,IAAI,EAAE,WAAW,CAAC;IAClB,6CAA6C;IAC7C,MAAM,EAAE,OAAO,CAAC;IAChB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,gEAAgE;IAChE,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1C,kFAAkF;IAClF,sBAAsB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC;IACxD,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC;IACnD;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACpE;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,CACzB,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC,CAAC;IACpD;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,SAAS,CAAC;IAC3E,2DAA2D;IAC3D,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B"}
@@ -1,18 +1,19 @@
1
+ import { RequestSkill } from '../../../chat-shared/src/index.ts';
1
2
  import { CommandMenuConfig, MenuOverlayConfig } from '@epam/ai-dial-conversation-input';
2
3
  import { ComponentType, ReactNode } from 'react';
3
4
  import { SkillListingEntry } from './favorite-skill-item';
4
5
  import { FavoriteSkillsPanelLabels } from './favorite-skills-panel-props';
5
- /** Props accepted by the details-panel component injected into `useSkillSelectorOverlay`. */
6
+ /**
7
+ * Props accepted by the details-panel component injected into
8
+ * `useSkillSelectorOverlay`. The rendered panel is the host's composition;
9
+ * the flow this hook opens it from ("View details") is information-only, so
10
+ * hosts typically render it read-only.
11
+ */
6
12
  export interface SkillDetailsPanelComponentProps {
7
13
  /** Resource URL of the skill whose details are shown; `null` renders nothing. */
8
14
  skillId: string | null;
9
15
  /** Called when the panel should close (close button or backdrop click). */
10
16
  onClose: () => void;
11
- /**
12
- * Called with the skill's resource URL when the panel's "Use in chat" is
13
- * clicked; the hook also closes the panel.
14
- */
15
- onUseInChat: (skillId: string) => void;
16
17
  }
17
18
  /** Localizable string labels for the skill selector overlay flow. */
18
19
  export interface SkillSelectorOverlayLabels {
@@ -54,6 +55,14 @@ export interface UseSkillSelectorOverlayOptions {
54
55
  fetchSkillDescription: (skillId: string) => Promise<string | null>;
55
56
  /** Localizable string overrides. */
56
57
  labels?: SkillSelectorOverlayLabels;
58
+ /**
59
+ * Typography class applied to each history `ChatSkill` chip's label.
60
+ * History chips render beside the message bubble's first text line — inline
61
+ * within it (user bubble) or overlaid on it (assistant bubble) — so pass
62
+ * the class the bubbles' body text uses, keeping the chip's height matched
63
+ * to that line. Unset falls back to the chip's own default label class.
64
+ */
65
+ historyChipLabelClassName?: string;
57
66
  /**
58
67
  * Renders the browse modal's picker content (e.g. a host catalog view);
59
68
  * receives the selection and close callbacks to wire into it, and is
@@ -98,6 +107,19 @@ export interface UseSkillSelectorOverlayResult {
98
107
  * `null` while `isEnabled` is `false` or nothing is selected.
99
108
  */
100
109
  selectedSkillElement: ReactNode;
110
+ /**
111
+ * The selected skill's resource URL (`skills/{bucket}/{path}`) — the value
112
+ * the host sends as a `{ url }` entry in the outgoing message's
113
+ * `custom_content.skills`. `null` while nothing is selected or the flow is
114
+ * disabled.
115
+ */
116
+ selectedSkillPath: string | null;
117
+ /**
118
+ * The selected skill as the send-time `custom_content.skills` payload —
119
+ * `[{ url: selectedSkillPath }]`, or `undefined` while nothing is selected
120
+ * or the flow is disabled, so `custom_content.skills` is omitted entirely.
121
+ */
122
+ selectedSkills: RequestSkill[] | undefined;
101
123
  /**
102
124
  * Selects a skill by its resource URL (`skills/{bucket}/{path}`), replacing
103
125
  * any prior selection.
@@ -109,5 +131,16 @@ export interface UseSkillSelectorOverlayResult {
109
131
  * skill's element is shown.
110
132
  */
111
133
  removeSelectedSkill: () => void;
134
+ /**
135
+ * Renders a message's `custom_content.skills` entries as `ChatSkill`
136
+ * elements beside the message bubble's first text line, with the text
137
+ * word-flowing after them — one per entry, sharing the session description
138
+ * cache, the lazy-fetch first-open trigger, and the "View details" details
139
+ * panel with the favorite rows and the input chip. Each entry's name comes
140
+ * from the listing pools matched on its url, falling back to the url's last
141
+ * non-empty segment. Returns `null` while `isEnabled` is `false` or the
142
+ * array is empty.
143
+ */
144
+ renderHistorySkills: (skills: RequestSkill[] | undefined) => ReactNode;
112
145
  }
113
146
  //# sourceMappingURL=skill-selector-overlay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill-selector-overlay.d.ts","sourceRoot":"","sources":["../../src/models/skill-selector-overlay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE/E,6FAA6F;AAC7F,MAAM,WAAW,+BAA+B;IAC9C,iFAAiF;IACjF,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;OAGG;IACH,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAED,qEAAqE;AACrE,MAAM,WAAW,0BAA0B;IACzC,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uEAAuE;IACvE,WAAW,CAAC,EAAE,yBAAyB,CAAC;CACzC;AAED,qDAAqD;AACrD,MAAM,WAAW,8BAA8B;IAC7C;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB,6BAA6B;IAC7B,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,qEAAqE;IACrE,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACnC,uDAAuD;IACvD,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACnC,0EAA0E;IAC1E,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,oEAAoE;IACpE,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC;;;OAGG;IACH,qBAAqB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACnE,oCAAoC;IACpC,MAAM,CAAC,EAAE,0BAA0B,CAAC;IACpC;;;;OAIG;IACH,oBAAoB,EAAE,CACpB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,EAC9B,OAAO,EAAE,MAAM,IAAI,KAChB,SAAS,CAAC;IACf,sEAAsE;IACtE,qBAAqB,EAAE,aAAa,CAAC,+BAA+B,CAAC,CAAC;CACvE;AAED,6CAA6C;AAC7C,MAAM,WAAW,6BAA6B;IAC5C;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IACrC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC;;;OAGG;IACH,iBAAiB,EAAE,SAAS,CAAC;IAC7B;;;OAGG;IACH,iBAAiB,EAAE,SAAS,CAAC;IAC7B;;;;;;;OAOG;IACH,oBAAoB,EAAE,SAAS,CAAC;IAChC;;;OAGG;IACH,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC;;;;OAIG;IACH,mBAAmB,EAAE,MAAM,IAAI,CAAC;CACjC"}
1
+ {"version":3,"file":"skill-selector-overlay.d.ts","sourceRoot":"","sources":["../../src/models/skill-selector-overlay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE/E;;;;;GAKG;AACH,MAAM,WAAW,+BAA+B;IAC9C,iFAAiF;IACjF,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,qEAAqE;AACrE,MAAM,WAAW,0BAA0B;IACzC,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uEAAuE;IACvE,WAAW,CAAC,EAAE,yBAAyB,CAAC;CACzC;AAED,qDAAqD;AACrD,MAAM,WAAW,8BAA8B;IAC7C;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB,6BAA6B;IAC7B,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,qEAAqE;IACrE,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACnC,uDAAuD;IACvD,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACnC,0EAA0E;IAC1E,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,oEAAoE;IACpE,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC;;;OAGG;IACH,qBAAqB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACnE,oCAAoC;IACpC,MAAM,CAAC,EAAE,0BAA0B,CAAC;IACpC;;;;;;OAMG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC;;;;OAIG;IACH,oBAAoB,EAAE,CACpB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,EAC9B,OAAO,EAAE,MAAM,IAAI,KAChB,SAAS,CAAC;IACf,sEAAsE;IACtE,qBAAqB,EAAE,aAAa,CAAC,+BAA+B,CAAC,CAAC;CACvE;AAED,6CAA6C;AAC7C,MAAM,WAAW,6BAA6B;IAC5C;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IACrC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC;;;OAGG;IACH,iBAAiB,EAAE,SAAS,CAAC;IAC7B;;;OAGG;IACH,iBAAiB,EAAE,SAAS,CAAC;IAC7B;;;;;;;OAOG;IACH,oBAAoB,EAAE,SAAS,CAAC;IAChC;;;;;OAKG;IACH,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC;;;;OAIG;IACH,cAAc,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;IAC3C;;;OAGG;IACH,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC;;;;OAIG;IACH,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC;;;;;;;;;OASG;IACH,mBAAmB,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,SAAS,KAAK,SAAS,CAAC;CACxE"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@epam/ai-dial-skills",
3
3
  "description": "Host-agnostic UI for picking a favorite skill to attach to a chat input",
4
- "version": "1.1.0-dev.447",
4
+ "version": "1.1.0-dev.456",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "main": "./index.js",
@@ -16,9 +16,9 @@
16
16
  }
17
17
  },
18
18
  "peerDependencies": {
19
- "@epam/ai-dial-catalog": "1.1.0-dev.447",
20
- "@epam/ai-dial-chat-shared": "1.1.0-dev.447",
21
- "@epam/ai-dial-conversation-input": "1.1.0-dev.447",
19
+ "@epam/ai-dial-catalog": "1.1.0-dev.456",
20
+ "@epam/ai-dial-chat-shared": "1.1.0-dev.456",
21
+ "@epam/ai-dial-conversation-input": "1.1.0-dev.456",
22
22
  "@epam/ai-dial-ui-kit": "*",
23
23
  "@tabler/icons-react": "^3.0.0",
24
24
  "react": "^19.0.0"
@@ -0,0 +1,2 @@
1
+ export declare const getSkillFallbackName: (url: string) => string;
2
+ //# sourceMappingURL=skill-url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-url.d.ts","sourceRoot":"","sources":["../../src/utils/skill-url.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,oBAAoB,GAAI,KAAK,MAAM,KAAG,MAGlD,CAAC"}