@kodaris/krubble-app-components 1.0.72 → 1.0.74

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/chatbot.d.ts CHANGED
@@ -56,17 +56,18 @@ export interface KRChatbotMessage {
56
56
  }
57
57
  /**
58
58
  * A skill the user can invoke from the composer. Selecting one inserts
59
- * `/name ` into the message body — there is no persistent skill state.
59
+ * `/code ` into the message body — there is no persistent skill state.
60
+ *
61
+ * Field names mirror the backend AI skill document (the `_source` of an
62
+ * `/aiskills/search` hit) so loaded skills pass through without remapping.
60
63
  */
61
64
  export interface KRChatbotSkill {
62
- /** Slash name inserted into the message (e.g. `invoice-auditor`). */
65
+ /** Skill code — the slash name inserted into the message (e.g. `invoice-auditor`). */
66
+ code: string;
67
+ /** Human-readable name shown in the menu and browse dialog. */
63
68
  name: string;
64
- /** Human-readable label shown in the menu and browse dialog. */
65
- label: string;
66
69
  /** Short description shown in the browse dialog cards. */
67
70
  description?: string;
68
- /** Which catalog the skill belongs to, for the browse dialog tabs. */
69
- source?: 'org' | 'kodaris';
70
71
  }
71
72
  /**
72
73
  * Callback function type for sending messages.
@@ -136,6 +137,11 @@ export declare class KRChatbot extends LitElement {
136
137
  private _dragDepth;
137
138
  /** Monotonic id source for pending attachments. */
138
139
  private _pendingSeq;
140
+ /**
141
+ * Request-id guard for skill searches — bumped on each search so out-of-order
142
+ * responses are dropped (mirrors the kr-combo-box `_requestId` pattern).
143
+ */
144
+ private _skillRequestId;
139
145
  /**
140
146
  * Callback function for sending messages. Receives the user's message and
141
147
  * current conversation history. Must return a Response with a streaming SSE body.
@@ -173,12 +179,6 @@ export declare class KRChatbot extends LitElement {
173
179
  * Input placeholder text.
174
180
  */
175
181
  placeholder: string;
176
- /**
177
- * Skills the user can invoke by typing `/` in the composer. Selecting one
178
- * inserts `/name ` into the message. The `/` menu shows the first 15 (filtered
179
- * as the user types); "Browse all skills" opens a dialog with the full list.
180
- */
181
- skills: KRChatbotSkill[];
182
182
  /**
183
183
  * Whether the chat panel is open. Only relevant in floating mode.
184
184
  */
@@ -209,17 +209,25 @@ export declare class KRChatbot extends LitElement {
209
209
  private _isDraggingFile;
210
210
  /** Whether the `/` skill menu is open above the composer. */
211
211
  private _skillMenuOpened;
212
- /** Current `/` query (text after the slash), used to filter the skill menu. */
212
+ /** Current `/` query (text after the slash), sent to `_searchSkills`. */
213
213
  private _skillQuery;
214
+ /**
215
+ * Latest skill search results. Shared by the `/` menu and the browse dialog —
216
+ * they're mutually exclusive (opening browse closes the menu), so one buffer.
217
+ */
218
+ private _skillResults;
214
219
  /** Highlighted item in the skill menu for keyboard navigation (-1 = none). */
215
220
  private _skillHighlighted;
216
221
  /** Index of the message whose copy button just flashed "Copied" (-1 = none). */
217
222
  private _copiedIndex;
218
223
  /** Whether the "Browse all skills" dialog is open. */
219
224
  private _skillBrowseOpened;
220
- /** Active tab in the browse dialog. */
225
+ /**
226
+ * Active tab in the browse dialog. `org` lists this org's skills (searched via
227
+ * `_searchSkills`); `kodaris` is the shared global catalog, added later.
228
+ */
221
229
  private _skillBrowseSource;
222
- /** Search text in the browse dialog. */
230
+ /** Search text in the browse dialog, sent to `_searchSkills`. */
223
231
  private _skillBrowseQuery;
224
232
  private _panelEl;
225
233
  private _messagesEl;
@@ -275,11 +283,24 @@ export declare class KRChatbot extends LitElement {
275
283
  private _handleKeyDown;
276
284
  /** Run the skill-menu item at the given flat index (0/1 = actions, then skills). */
277
285
  private _activateSkillMenuItem;
278
- /** Skills matching the current `/` query, capped at the first 15. */
286
+ /**
287
+ * Search the Kodaris AI skills index and store the results in `_skillResults`.
288
+ * The `/` menu and the browse dialog both call this; results are shared since
289
+ * the two are never open at once. Mirrors the backend's own skill search (BM25
290
+ * over name^3/description^2/instructions, active-only) so the menu ranks skills
291
+ * the way the model does. An empty query uses match_all — multi_match with an
292
+ * empty string matches nothing, so the "show everything" case needs it.
293
+ *
294
+ * Follows the kr-combo-box `_fetch` pattern: a request-id guard drops responses
295
+ * that arrive out of order. `/aiskills/search` returns a raw OpenSearch response,
296
+ * so we lift each hit's `_source` (already in KRChatbotSkill shape) out.
297
+ */
298
+ private _searchSkills;
299
+ /** Skills shown in the `/` menu — the shared results, capped at the first 15. */
279
300
  private _filteredSkills;
280
301
  /** The `+` button toggles the skill/attachment menu open (showing all skills). */
281
302
  private _handlePlusClick;
282
- /** Insert `/name ` into the composer and focus it, ready for the message. */
303
+ /** Insert `/code ` into the composer and focus it, ready for the message. */
283
304
  private _handleSkillSelect;
284
305
  /** Copy a message's text to the clipboard and briefly flash "Copied". */
285
306
  private _handleCopyMessage;
@@ -287,8 +308,6 @@ export declare class KRChatbot extends LitElement {
287
308
  private _handleSkillBrowseClose;
288
309
  private _handleSkillBrowseSearch;
289
310
  private _handleSkillBrowseTabChange;
290
- /** Skills for the browse dialog's active tab, filtered by its search box. */
291
- private _browseSkills;
292
311
  private _openFilePicker;
293
312
  private _handleFileInputChange;
294
313
  private _handlePaste;
@@ -316,11 +335,12 @@ export declare class KRChatbot extends LitElement {
316
335
  private _renderSkillMenu;
317
336
  /** The "Browse all skills" dialog — a searchable grid of Org / Kodaris cards. */
318
337
  private _renderSkillBrowse;
319
- /** The card grid for the browse dialog's active tab. */
338
+ /** The card grid of this org's skill search results for the browse dialog. */
320
339
  private _renderSkillGrid;
321
340
  /**
322
- * Render a user message, highlighting a leading `/skill-name` token when it
323
- * matches a known skill (like the way Claude highlights slash commands).
341
+ * Render a user message, highlighting a leading `/skill-code` token (like the
342
+ * way Claude highlights slash commands). The composer only inserts valid skill
343
+ * codes, so any leading slash token is treated as one.
324
344
  */
325
345
  private _renderUserContent;
326
346
  render(): import("lit-html").TemplateResult<1>;
@@ -1 +1 @@
1
- {"version":3,"file":"chatbot.d.ts","sourceRoot":"","sources":["../src/chatbot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chatbot.d.ts","sourceRoot":"","sources":["../src/chatbot.ts"],"names":[],"mappings":"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"}
package/dist/chatbot.js CHANGED
@@ -75,6 +75,11 @@ let KRChatbot = class KRChatbot extends LitElement {
75
75
  this._dragDepth = 0;
76
76
  /** Monotonic id source for pending attachments. */
77
77
  this._pendingSeq = 0;
78
+ /**
79
+ * Request-id guard for skill searches — bumped on each search so out-of-order
80
+ * responses are dropped (mirrors the kr-combo-box `_requestId` pattern).
81
+ */
82
+ this._skillRequestId = 0;
78
83
  // --- @property (public API) ---
79
84
  /**
80
85
  * Callback function for sending messages. Receives the user's message and
@@ -113,12 +118,6 @@ let KRChatbot = class KRChatbot extends LitElement {
113
118
  * Input placeholder text.
114
119
  */
115
120
  this.placeholder = 'Type a message...';
116
- /**
117
- * Skills the user can invoke by typing `/` in the composer. Selecting one
118
- * inserts `/name ` into the message. The `/` menu shows the first 15 (filtered
119
- * as the user types); "Browse all skills" opens a dialog with the full list.
120
- */
121
- this.skills = [];
122
121
  /**
123
122
  * Whether the chat panel is open. Only relevant in floating mode.
124
123
  */
@@ -150,17 +149,25 @@ let KRChatbot = class KRChatbot extends LitElement {
150
149
  this._isDraggingFile = false;
151
150
  /** Whether the `/` skill menu is open above the composer. */
152
151
  this._skillMenuOpened = false;
153
- /** Current `/` query (text after the slash), used to filter the skill menu. */
152
+ /** Current `/` query (text after the slash), sent to `_searchSkills`. */
154
153
  this._skillQuery = '';
154
+ /**
155
+ * Latest skill search results. Shared by the `/` menu and the browse dialog —
156
+ * they're mutually exclusive (opening browse closes the menu), so one buffer.
157
+ */
158
+ this._skillResults = [];
155
159
  /** Highlighted item in the skill menu for keyboard navigation (-1 = none). */
156
160
  this._skillHighlighted = 0;
157
161
  /** Index of the message whose copy button just flashed "Copied" (-1 = none). */
158
162
  this._copiedIndex = -1;
159
163
  /** Whether the "Browse all skills" dialog is open. */
160
164
  this._skillBrowseOpened = false;
161
- /** Active tab in the browse dialog. */
165
+ /**
166
+ * Active tab in the browse dialog. `org` lists this org's skills (searched via
167
+ * `_searchSkills`); `kodaris` is the shared global catalog, added later.
168
+ */
162
169
  this._skillBrowseSource = 'org';
163
- /** Search text in the browse dialog. */
170
+ /** Search text in the browse dialog, sent to `_searchSkills`. */
164
171
  this._skillBrowseQuery = '';
165
172
  this._handleMouseMove = (e) => {
166
173
  if (this._isDragging) {
@@ -503,12 +510,14 @@ let KRChatbot = class KRChatbot extends LitElement {
503
510
  textarea.style.height = 'auto';
504
511
  textarea.style.height = Math.min(textarea.scrollHeight, 120) + 'px';
505
512
  // Open the skill menu while the message is a `/` command being typed (a
506
- // leading slash with no space yet). The text after the slash filters it.
513
+ // leading slash with no space yet). The text after the slash is the search
514
+ // query, run server-side via `_searchSkills`.
507
515
  const slashMatch = this._inputValue.match(/^\/(\S*)$/);
508
- if (slashMatch && this.skills.length) {
516
+ if (slashMatch) {
509
517
  this._skillMenuOpened = true;
510
518
  this._skillQuery = slashMatch[1];
511
519
  this._skillHighlighted = 0;
520
+ this._searchSkills(this._skillQuery);
512
521
  }
513
522
  else {
514
523
  this._skillMenuOpened = false;
@@ -562,13 +571,62 @@ let KRChatbot = class KRChatbot extends LitElement {
562
571
  }
563
572
  }
564
573
  // --- Skills ---
565
- /** Skills matching the current `/` query, capped at the first 15. */
574
+ /**
575
+ * Search the Kodaris AI skills index and store the results in `_skillResults`.
576
+ * The `/` menu and the browse dialog both call this; results are shared since
577
+ * the two are never open at once. Mirrors the backend's own skill search (BM25
578
+ * over name^3/description^2/instructions, active-only) so the menu ranks skills
579
+ * the way the model does. An empty query uses match_all — multi_match with an
580
+ * empty string matches nothing, so the "show everything" case needs it.
581
+ *
582
+ * Follows the kr-combo-box `_fetch` pattern: a request-id guard drops responses
583
+ * that arrive out of order. `/aiskills/search` returns a raw OpenSearch response,
584
+ * so we lift each hit's `_source` (already in KRChatbotSkill shape) out.
585
+ */
586
+ _searchSkills(query) {
587
+ this._skillRequestId++;
588
+ const requestId = this._skillRequestId;
589
+ const trimmed = query.trim();
590
+ // multi_match with an empty string matches nothing, so an empty query falls
591
+ // back to match_all to show everything.
592
+ let must = { match_all: {} };
593
+ if (trimmed) {
594
+ must = {
595
+ multi_match: {
596
+ query: trimmed,
597
+ fields: ['name^3', 'description^2', 'instructions'],
598
+ type: 'best_fields',
599
+ },
600
+ };
601
+ }
602
+ KRHttp.fetch({
603
+ url: '/api/system/opensearch/aiskills/search',
604
+ method: 'POST',
605
+ body: {
606
+ size: 100,
607
+ query: {
608
+ bool: {
609
+ must: [must],
610
+ filter: [{ term: { active: true } }],
611
+ },
612
+ },
613
+ },
614
+ })
615
+ .then((r) => r.json())
616
+ .then((res) => {
617
+ // Ignore a stale response superseded by a newer search.
618
+ if (requestId !== this._skillRequestId) {
619
+ return;
620
+ }
621
+ this._skillResults = (res?.data?.hits?.hits || []).map((hit) => hit._source);
622
+ })
623
+ .catch((error) => {
624
+ console.error('kr-chatbot: skill search failed', error);
625
+ });
626
+ }
627
+ /** Skills shown in the `/` menu — the shared results, capped at the first 15. */
566
628
  _filteredSkills() {
567
- const query = this._skillQuery.toLowerCase();
568
- return this.skills
569
- .filter((skill) => skill.name.toLowerCase().includes(query) ||
570
- skill.label.toLowerCase().includes(query))
571
- .slice(0, 15);
629
+ return this._skillResults.slice(0, 15);
572
630
  }
573
631
  /** The `+` button toggles the skill/attachment menu open (showing all skills). */
574
632
  _handlePlusClick() {
@@ -579,10 +637,11 @@ let KRChatbot = class KRChatbot extends LitElement {
579
637
  this._skillQuery = '';
580
638
  this._skillHighlighted = 0;
581
639
  this._skillMenuOpened = true;
640
+ this._searchSkills('');
582
641
  }
583
- /** Insert `/name ` into the composer and focus it, ready for the message. */
642
+ /** Insert `/code ` into the composer and focus it, ready for the message. */
584
643
  _handleSkillSelect(skill) {
585
- this._inputValue = `/${skill.name} `;
644
+ this._inputValue = `/${skill.code} `;
586
645
  this._skillMenuOpened = false;
587
646
  this._skillBrowseOpened = false;
588
647
  this._inputEl?.focus();
@@ -602,29 +661,18 @@ let KRChatbot = class KRChatbot extends LitElement {
602
661
  this._skillMenuOpened = false;
603
662
  this._skillBrowseQuery = '';
604
663
  this._skillBrowseOpened = true;
664
+ this._searchSkills('');
605
665
  }
606
666
  _handleSkillBrowseClose() {
607
667
  this._skillBrowseOpened = false;
608
668
  }
609
669
  _handleSkillBrowseSearch(e) {
610
670
  this._skillBrowseQuery = e.target.value;
671
+ this._searchSkills(this._skillBrowseQuery);
611
672
  }
612
673
  _handleSkillBrowseTabChange(e) {
613
674
  this._skillBrowseSource = e.detail.activeTabId;
614
675
  }
615
- /** Skills for the browse dialog's active tab, filtered by its search box. */
616
- _browseSkills() {
617
- const query = this._skillBrowseQuery.toLowerCase();
618
- return this.skills.filter((skill) => {
619
- const source = skill.source || 'org';
620
- if (source !== this._skillBrowseSource) {
621
- return false;
622
- }
623
- return skill.name.toLowerCase().includes(query) ||
624
- skill.label.toLowerCase().includes(query) ||
625
- (skill.description || '').toLowerCase().includes(query);
626
- });
627
- }
628
676
  // --- Attachments ---
629
677
  _openFilePicker() {
630
678
  this._fileInputEl?.click();
@@ -1018,7 +1066,7 @@ let KRChatbot = class KRChatbot extends LitElement {
1018
1066
  })}
1019
1067
  @click=${() => this._handleSkillSelect(skill)}
1020
1068
  >
1021
- <span class="skill-menu__name">${skill.label}</span>
1069
+ <span class="skill-menu__name">${skill.name}</span>
1022
1070
  ${skill.description ? html `
1023
1071
  <span class="skill-menu__desc">${skill.description}</span>
1024
1072
  ` : nothing}
@@ -1026,9 +1074,7 @@ let KRChatbot = class KRChatbot extends LitElement {
1026
1074
  </li>
1027
1075
  `)}
1028
1076
  </ul>
1029
- ` : html `
1030
- <div class="skill-menu__empty">No matching skills</div>
1031
- `}
1077
+ ` : nothing}
1032
1078
  </div>
1033
1079
  `;
1034
1080
  }
@@ -1055,18 +1101,20 @@ let KRChatbot = class KRChatbot extends LitElement {
1055
1101
  ${this._renderSkillGrid()}
1056
1102
  </kr-tab>
1057
1103
  <kr-tab id="kodaris" label="Kodaris">
1058
- ${this._renderSkillGrid()}
1104
+ <div class="skill-browse__empty">
1105
+ Shared Kodaris skills are coming soon.
1106
+ </div>
1059
1107
  </kr-tab>
1060
1108
  </kr-tab-group>
1061
1109
  </div>
1062
1110
  </kr-dialog>
1063
1111
  `;
1064
1112
  }
1065
- /** The card grid for the browse dialog's active tab. */
1113
+ /** The card grid of this org's skill search results for the browse dialog. */
1066
1114
  _renderSkillGrid() {
1067
- const skills = this._browseSkills();
1115
+ const skills = this._skillResults;
1068
1116
  if (!skills.length) {
1069
- return html `<div class="skill-browse__empty">No matching skills</div>`;
1117
+ return nothing;
1070
1118
  }
1071
1119
  return html `
1072
1120
  <div class="skill-browse__grid">
@@ -1075,7 +1123,7 @@ let KRChatbot = class KRChatbot extends LitElement {
1075
1123
  class="skill-card"
1076
1124
  @click=${() => this._handleSkillSelect(skill)}
1077
1125
  >
1078
- <span class="skill-card__name">${skill.label}</span>
1126
+ <span class="skill-card__name">${skill.name}</span>
1079
1127
  ${skill.description ? html `
1080
1128
  <span class="skill-card__desc">${skill.description}</span>
1081
1129
  ` : nothing}
@@ -1085,12 +1133,13 @@ let KRChatbot = class KRChatbot extends LitElement {
1085
1133
  `;
1086
1134
  }
1087
1135
  /**
1088
- * Render a user message, highlighting a leading `/skill-name` token when it
1089
- * matches a known skill (like the way Claude highlights slash commands).
1136
+ * Render a user message, highlighting a leading `/skill-code` token (like the
1137
+ * way Claude highlights slash commands). The composer only inserts valid skill
1138
+ * codes, so any leading slash token is treated as one.
1090
1139
  */
1091
1140
  _renderUserContent(content) {
1092
1141
  const match = content.match(/^\/(\S+)(\s[\s\S]*)?$/);
1093
- if (match && this.skills.some((skill) => skill.name === match[1])) {
1142
+ if (match) {
1094
1143
  return html `<span class="message-skill">/${match[1]}</span>${match[2] || ''}`;
1095
1144
  }
1096
1145
  return content;
@@ -2196,12 +2245,6 @@ KRChatbot.styles = css `
2196
2245
  white-space: nowrap;
2197
2246
  }
2198
2247
 
2199
- .skill-menu__empty {
2200
- padding: 16px;
2201
- text-align: center;
2202
- color: #000000;
2203
- }
2204
-
2205
2248
  .skill-menu__actions {
2206
2249
  display: flex;
2207
2250
  flex-direction: column;
@@ -2292,6 +2335,12 @@ KRChatbot.styles = css `
2292
2335
  .skill-card__desc {
2293
2336
  font-size: 12px;
2294
2337
  color: #000000;
2338
+ /* Clamp to 3 lines so a long description doesn't make one card tower over
2339
+ its row-mates in the grid. */
2340
+ display: -webkit-box;
2341
+ -webkit-line-clamp: 3;
2342
+ -webkit-box-orient: vertical;
2343
+ overflow: hidden;
2295
2344
  }
2296
2345
 
2297
2346
  .skill-browse__empty {
@@ -2400,9 +2449,6 @@ __decorate([
2400
2449
  __decorate([
2401
2450
  property({ type: String })
2402
2451
  ], KRChatbot.prototype, "placeholder", void 0);
2403
- __decorate([
2404
- property({ attribute: false })
2405
- ], KRChatbot.prototype, "skills", void 0);
2406
2452
  __decorate([
2407
2453
  property({
2408
2454
  type: Boolean,
@@ -2443,6 +2489,9 @@ __decorate([
2443
2489
  __decorate([
2444
2490
  state()
2445
2491
  ], KRChatbot.prototype, "_skillQuery", void 0);
2492
+ __decorate([
2493
+ state()
2494
+ ], KRChatbot.prototype, "_skillResults", void 0);
2446
2495
  __decorate([
2447
2496
  state()
2448
2497
  ], KRChatbot.prototype, "_skillHighlighted", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"chatbot.js","sourceRoot":"","sources":["../src/chatbot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chatbot.js","sourceRoot":"","sources":["../src/chatbot.ts"],"names":[],"mappings":"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"}