@green-on-grey/ui-kit 0.2.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/locales.js CHANGED
@@ -9,6 +9,7 @@ var t = {
9
9
  close: "Close",
10
10
  delete: "Delete",
11
11
  remove: "Remove",
12
+ agentName: "Agent name",
12
13
  topbar: {
13
14
  sections: "Sections",
14
15
  profile: "Profile"
@@ -42,7 +43,11 @@ var t = {
42
43
  review: "Check the transcript before sending",
43
44
  notRecognized: "The speech was not recognized",
44
45
  micDenied: "No access to the microphone",
45
- unsupported: "Voice input is not supported in this browser"
46
+ unsupported: "Voice input is not supported in this browser",
47
+ start: "Record a voice message",
48
+ done: "Stop",
49
+ recognizing: "Recognizing…",
50
+ recordingNow: "Recording"
46
51
  },
47
52
  confirm: {
48
53
  title: "Confirm the action",
@@ -53,7 +58,24 @@ var t = {
53
58
  wait: {
54
59
  starting: "The agent is starting…",
55
60
  queued: "{count, plural, =0 {In the queue · you are next} one {In the queue · # ahead of you} other {In the queue · # ahead of you}}"
56
- }
61
+ },
62
+ palette: {
63
+ title: "Commands and skills",
64
+ commands: "Commands",
65
+ skills: "Skills",
66
+ noSkills: "No skills are granted to you",
67
+ empty: "Nothing found"
68
+ },
69
+ unknownCommand: "Unknown command {name}",
70
+ sendAsText: "Send as text",
71
+ skillPlaceholder: "What to do with the skill?",
72
+ context: {
73
+ meter: "Context: {used} of {total} tokens ({pct}%)",
74
+ full: "Answers get more expensive and the agent may get confused.",
75
+ compact: "Compact",
76
+ reset: "Start over"
77
+ },
78
+ event: { details: "Summary" }
57
79
  }
58
80
  },
59
81
  ru: {
@@ -63,6 +85,7 @@ var t = {
63
85
  close: "Закрыть",
64
86
  delete: "Удалить",
65
87
  remove: "Убрать",
88
+ agentName: "Имя агента",
66
89
  topbar: {
67
90
  sections: "Разделы",
68
91
  profile: "Профиль"
@@ -96,7 +119,11 @@ var t = {
96
119
  review: "Проверьте расшифровку перед отправкой",
97
120
  notRecognized: "Речь не распознана",
98
121
  micDenied: "Нет доступа к микрофону",
99
- unsupported: "Голосовой ввод не поддерживается этим браузером"
122
+ unsupported: "Голосовой ввод не поддерживается этим браузером",
123
+ start: "Записать голосом",
124
+ done: "Стоп",
125
+ recognizing: "Распознаём…",
126
+ recordingNow: "Запись"
100
127
  },
101
128
  confirm: {
102
129
  title: "Подтвердите действие",
@@ -107,7 +134,24 @@ var t = {
107
134
  wait: {
108
135
  starting: "Агент запускается…",
109
136
  queued: "{count, plural, =0 {В очереди · вы следующий} other {В очереди · перед вами #}}"
110
- }
137
+ },
138
+ palette: {
139
+ title: "Команды и скиллы",
140
+ commands: "Команды",
141
+ skills: "Скиллы",
142
+ noSkills: "Вам не выдан ни один скилл",
143
+ empty: "Ничего не найдено"
144
+ },
145
+ unknownCommand: "Неизвестная команда {name}",
146
+ sendAsText: "Отправить как текст",
147
+ skillPlaceholder: "Что сделать по скиллу?",
148
+ context: {
149
+ meter: "Контекст: {used} из {total} токенов ({pct} %)",
150
+ full: "Ответы дорожают, агент может путаться.",
151
+ compact: "Сжать",
152
+ reset: "Начать заново"
153
+ },
154
+ event: { details: "Изложение" }
111
155
  }
112
156
  },
113
157
  de: {
@@ -117,6 +161,7 @@ var t = {
117
161
  close: "Schließen",
118
162
  delete: "Löschen",
119
163
  remove: "Entfernen",
164
+ agentName: "Name des Agenten",
120
165
  topbar: {
121
166
  sections: "Bereiche",
122
167
  profile: "Profil"
@@ -150,7 +195,11 @@ var t = {
150
195
  review: "Prüfen Sie die Transkription vor dem Senden",
151
196
  notRecognized: "Die Sprache wurde nicht erkannt",
152
197
  micDenied: "Kein Zugriff auf das Mikrofon",
153
- unsupported: "Spracheingabe wird von diesem Browser nicht unterstützt"
198
+ unsupported: "Spracheingabe wird von diesem Browser nicht unterstützt",
199
+ start: "Sprachnachricht aufnehmen",
200
+ done: "Stopp",
201
+ recognizing: "Wird erkannt…",
202
+ recordingNow: "Aufnahme"
154
203
  },
155
204
  confirm: {
156
205
  title: "Aktion bestätigen",
@@ -161,7 +210,24 @@ var t = {
161
210
  wait: {
162
211
  starting: "Der Agent startet…",
163
212
  queued: "{count, plural, =0 {In der Warteschlange · Sie sind als Nächstes dran} other {In der Warteschlange · # vor Ihnen}}"
164
- }
213
+ },
214
+ palette: {
215
+ title: "Befehle und Skills",
216
+ commands: "Befehle",
217
+ skills: "Skills",
218
+ noSkills: "Ihnen ist kein Skill freigegeben",
219
+ empty: "Nichts gefunden"
220
+ },
221
+ unknownCommand: "Unbekannter Befehl {name}",
222
+ sendAsText: "Als Text senden",
223
+ skillPlaceholder: "Was soll mit dem Skill getan werden?",
224
+ context: {
225
+ meter: "Kontext: {used} von {total} Tokens ({pct} %)",
226
+ full: "Antworten werden teurer, der Agent kann durcheinanderkommen.",
227
+ compact: "Komprimieren",
228
+ reset: "Neu beginnen"
229
+ },
230
+ event: { details: "Zusammenfassung" }
165
231
  }
166
232
  },
167
233
  es: {
@@ -171,6 +237,7 @@ var t = {
171
237
  close: "Cerrar",
172
238
  delete: "Eliminar",
173
239
  remove: "Quitar",
240
+ agentName: "Nombre del agente",
174
241
  topbar: {
175
242
  sections: "Secciones",
176
243
  profile: "Perfil"
@@ -204,7 +271,11 @@ var t = {
204
271
  review: "Revise la transcripción antes de enviar",
205
272
  notRecognized: "No se reconoció la voz",
206
273
  micDenied: "Sin acceso al micrófono",
207
- unsupported: "Este navegador no admite la entrada de voz"
274
+ unsupported: "Este navegador no admite la entrada de voz",
275
+ start: "Grabar un mensaje de voz",
276
+ done: "Detener",
277
+ recognizing: "Reconociendo…",
278
+ recordingNow: "Grabando"
208
279
  },
209
280
  confirm: {
210
281
  title: "Confirme la acción",
@@ -215,7 +286,24 @@ var t = {
215
286
  wait: {
216
287
  starting: "El agente se está iniciando…",
217
288
  queued: "{count, plural, =0 {En cola · usted es el siguiente} other {En cola · # por delante}}"
218
- }
289
+ },
290
+ palette: {
291
+ title: "Comandos y skills",
292
+ commands: "Comandos",
293
+ skills: "Skills",
294
+ noSkills: "No tiene skills disponibles",
295
+ empty: "No se encontró nada"
296
+ },
297
+ unknownCommand: "Comando desconocido {name}",
298
+ sendAsText: "Enviar como texto",
299
+ skillPlaceholder: "¿Qué hacer con el skill?",
300
+ context: {
301
+ meter: "Contexto: {used} de {total} tokens ({pct} %)",
302
+ full: "Las respuestas se encarecen y el agente puede confundirse.",
303
+ compact: "Compactar",
304
+ reset: "Empezar de nuevo"
305
+ },
306
+ event: { details: "Resumen" }
219
307
  }
220
308
  },
221
309
  zh: {
@@ -225,6 +313,7 @@ var t = {
225
313
  close: "关闭",
226
314
  delete: "删除",
227
315
  remove: "移除",
316
+ agentName: "智能体名称",
228
317
  topbar: {
229
318
  sections: "栏目",
230
319
  profile: "个人资料"
@@ -258,7 +347,11 @@ var t = {
258
347
  review: "发送前请检查转写文本",
259
348
  notRecognized: "未能识别语音",
260
349
  micDenied: "无法访问麦克风",
261
- unsupported: "此浏览器不支持语音输入"
350
+ unsupported: "此浏览器不支持语音输入",
351
+ start: "录制语音",
352
+ done: "停止",
353
+ recognizing: "正在识别…",
354
+ recordingNow: "录音中"
262
355
  },
263
356
  confirm: {
264
357
  title: "确认操作",
@@ -269,7 +362,24 @@ var t = {
269
362
  wait: {
270
363
  starting: "代理正在启动…",
271
364
  queued: "{count, plural, =0 {排队中 · 您是下一位} other {排队中 · 前面还有 # 位}}"
272
- }
365
+ },
366
+ palette: {
367
+ title: "命令和技能",
368
+ commands: "命令",
369
+ skills: "技能",
370
+ noSkills: "您没有可用的技能",
371
+ empty: "未找到"
372
+ },
373
+ unknownCommand: "未知命令 {name}",
374
+ sendAsText: "作为文本发送",
375
+ skillPlaceholder: "用这个技能做什么?",
376
+ context: {
377
+ meter: "上下文:{used} / {total} 个令牌({pct}%)",
378
+ full: "回答变得更贵,代理可能会混淆。",
379
+ compact: "压缩",
380
+ reset: "重新开始"
381
+ },
382
+ event: { details: "摘要" }
273
383
  }
274
384
  }
275
385
  };
@@ -1 +1 @@
1
- {"version":3,"file":"locales.js","names":["loading","cancel","create","close","remove","topbar","chat","loading","cancel","create","close","remove","topbar","chat","loading","cancel","create","close","remove","topbar","chat","loading","cancel","create","close","remove","topbar","chat","UIKIT_NS","resources","\"delete\"","\"sections\"","\"profile\"","\"title\"","\"conversations\"","\"conversation\"","\"topics\"","\"archive\"","\"noTopics\"","\"newTopic\"","\"topicTitle\"","\"topicHint\"","\"loadOlder\"","\"emptyTitle\"","\"placeholder\"","\"send\"","\"attach\"","\"typing\"","\"moreSteps\"","\"hideSteps\"","\"unread\"","\"retry\"","\"tooLarge\"","\"stop\"","\"voice\"","\"hold\"","\"recording\"","\"review\"","\"notRecognized\"","\"micDenied\"","\"unsupported\"","\"confirm\"","\"text\"","\"approve\"","\"reject\"","\"wait\"","\"starting\"","\"queued\""],"sources":["../src/locales/en.json","../src/locales/ru.json","../src/locales/de.json","../src/locales/es.json","../src/locales/zh.json","../src/locales/index.ts"],"sourcesContent":["{\n \"loading\": \"Loading…\",\n \"cancel\": \"Cancel\",\n \"create\": \"Create\",\n \"close\": \"Close\",\n \"delete\": \"Delete\",\n \"remove\": \"Remove\",\n \"topbar\": {\n \"sections\": \"Sections\",\n \"profile\": \"Profile\"\n },\n \"chat\": {\n \"title\": \"Chat\",\n \"conversations\": \"Conversations\",\n \"conversation\": \"Conversation\",\n \"topics\": \"Topics\",\n \"archive\": \"Archive\",\n \"noTopics\": \"No topics yet\",\n \"newTopic\": \"New topic\",\n \"topicTitle\": \"Topic\",\n \"topicHint\": \"A topic has its own history and the same memory and space.\",\n \"loadOlder\": \"Earlier messages\",\n \"emptyTitle\": \"Hi, I am {name}\",\n \"placeholder\": \"Message {name}…\",\n \"send\": \"Send\",\n \"attach\": \"Attach files\",\n \"typing\": \"The agent is typing\",\n \"moreSteps\": \"{count, plural, one {# more step} other {# more steps}}\",\n \"hideSteps\": \"Hide steps\",\n \"unread\": \"{count, plural, one {# unread answer} other {# unread answers}}\",\n \"retry\": \"Retry\",\n \"tooLarge\": \"The file is too large.\",\n \"stop\": \"Stop\",\n \"voice\": {\n \"hold\": \"Hold to record\",\n \"stop\": \"Stop recording\",\n \"recording\": \"Recording… {seconds} s\",\n \"review\": \"Check the transcript before sending\",\n \"notRecognized\": \"The speech was not recognized\",\n \"micDenied\": \"No access to the microphone\",\n \"unsupported\": \"Voice input is not supported in this browser\"\n },\n \"confirm\": {\n \"title\": \"Confirm the action\",\n \"text\": \"The agent wants to perform: {action}\",\n \"approve\": \"Execute\",\n \"reject\": \"Reject\"\n },\n \"wait\": {\n \"starting\": \"The agent is starting…\",\n \"queued\": \"{count, plural, =0 {In the queue · you are next} one {In the queue · # ahead of you} other {In the queue · # ahead of you}}\"\n }\n }\n}\n","{\n \"loading\": \"Загрузка…\",\n \"cancel\": \"Отмена\",\n \"create\": \"Создать\",\n \"close\": \"Закрыть\",\n \"delete\": \"Удалить\",\n \"remove\": \"Убрать\",\n \"topbar\": {\n \"sections\": \"Разделы\",\n \"profile\": \"Профиль\"\n },\n \"chat\": {\n \"title\": \"Чат\",\n \"conversations\": \"Разговоры\",\n \"conversation\": \"Разговор\",\n \"topics\": \"Темы\",\n \"archive\": \"Архив\",\n \"noTopics\": \"Тем пока нет\",\n \"newTopic\": \"Новая тема\",\n \"topicTitle\": \"Тема\",\n \"topicHint\": \"У темы своя история, а память и пространство — те же.\",\n \"loadOlder\": \"Более ранние сообщения\",\n \"emptyTitle\": \"Привет, я {name}\",\n \"placeholder\": \"Сообщение для {name}…\",\n \"send\": \"Отправить\",\n \"attach\": \"Прикрепить файлы\",\n \"typing\": \"Агент печатает\",\n \"moreSteps\": \"{count, plural, one {ещё # шаг} few {ещё # шага} many {ещё # шагов} other {ещё # шага}}\",\n \"hideSteps\": \"Скрыть шаги\",\n \"unread\": \"{count, plural, one {# непрочитанный ответ} few {# непрочитанных ответа} many {# непрочитанных ответов} other {# непрочитанных ответа}}\",\n \"retry\": \"Повторить\",\n \"tooLarge\": \"Файл слишком большой.\",\n \"stop\": \"Остановить\",\n \"voice\": {\n \"hold\": \"Удерживайте для записи\",\n \"stop\": \"Остановить запись\",\n \"recording\": \"Запись… {seconds} с\",\n \"review\": \"Проверьте расшифровку перед отправкой\",\n \"notRecognized\": \"Речь не распознана\",\n \"micDenied\": \"Нет доступа к микрофону\",\n \"unsupported\": \"Голосовой ввод не поддерживается этим браузером\"\n },\n \"confirm\": {\n \"title\": \"Подтвердите действие\",\n \"text\": \"Агент хочет выполнить: {action}\",\n \"approve\": \"Выполнить\",\n \"reject\": \"Отклонить\"\n },\n \"wait\": {\n \"starting\": \"Агент запускается…\",\n \"queued\": \"{count, plural, =0 {В очереди · вы следующий} other {В очереди · перед вами #}}\"\n }\n }\n}\n","{\n \"loading\": \"Wird geladen…\",\n \"cancel\": \"Abbrechen\",\n \"create\": \"Erstellen\",\n \"close\": \"Schließen\",\n \"delete\": \"Löschen\",\n \"remove\": \"Entfernen\",\n \"topbar\": {\n \"sections\": \"Bereiche\",\n \"profile\": \"Profil\"\n },\n \"chat\": {\n \"title\": \"Chat\",\n \"conversations\": \"Gespräche\",\n \"conversation\": \"Gespräch\",\n \"topics\": \"Themen\",\n \"archive\": \"Archiv\",\n \"noTopics\": \"Noch keine Themen\",\n \"newTopic\": \"Neues Thema\",\n \"topicTitle\": \"Thema\",\n \"topicHint\": \"Ein Thema hat einen eigenen Verlauf, aber dasselbe Gedächtnis und denselben Arbeitsbereich.\",\n \"loadOlder\": \"Frühere Nachrichten\",\n \"emptyTitle\": \"Hallo, ich bin {name}\",\n \"placeholder\": \"Nachricht an {name}…\",\n \"send\": \"Senden\",\n \"attach\": \"Dateien anhängen\",\n \"typing\": \"Der Agent schreibt\",\n \"moreSteps\": \"{count, plural, one {# weiterer Schritt} other {# weitere Schritte}}\",\n \"hideSteps\": \"Schritte ausblenden\",\n \"unread\": \"{count, plural, one {# ungelesene Antwort} other {# ungelesene Antworten}}\",\n \"retry\": \"Wiederholen\",\n \"tooLarge\": \"Die Datei ist zu groß.\",\n \"stop\": \"Stoppen\",\n \"voice\": {\n \"hold\": \"Zum Aufnehmen gedrückt halten\",\n \"stop\": \"Aufnahme beenden\",\n \"recording\": \"Aufnahme… {seconds} s\",\n \"review\": \"Prüfen Sie die Transkription vor dem Senden\",\n \"notRecognized\": \"Die Sprache wurde nicht erkannt\",\n \"micDenied\": \"Kein Zugriff auf das Mikrofon\",\n \"unsupported\": \"Spracheingabe wird von diesem Browser nicht unterstützt\"\n },\n \"confirm\": {\n \"title\": \"Aktion bestätigen\",\n \"text\": \"Der Agent möchte ausführen: {action}\",\n \"approve\": \"Ausführen\",\n \"reject\": \"Ablehnen\"\n },\n \"wait\": {\n \"starting\": \"Der Agent startet…\",\n \"queued\": \"{count, plural, =0 {In der Warteschlange · Sie sind als Nächstes dran} other {In der Warteschlange · # vor Ihnen}}\"\n }\n }\n}\n","{\n \"loading\": \"Cargando…\",\n \"cancel\": \"Cancelar\",\n \"create\": \"Crear\",\n \"close\": \"Cerrar\",\n \"delete\": \"Eliminar\",\n \"remove\": \"Quitar\",\n \"topbar\": {\n \"sections\": \"Secciones\",\n \"profile\": \"Perfil\"\n },\n \"chat\": {\n \"title\": \"Chat\",\n \"conversations\": \"Conversaciones\",\n \"conversation\": \"Conversación\",\n \"topics\": \"Temas\",\n \"archive\": \"Archivo\",\n \"noTopics\": \"Aún no hay temas\",\n \"newTopic\": \"Nuevo tema\",\n \"topicTitle\": \"Tema\",\n \"topicHint\": \"Un tema tiene su propio historial y la misma memoria y espacio.\",\n \"loadOlder\": \"Mensajes anteriores\",\n \"emptyTitle\": \"Hola, soy {name}\",\n \"placeholder\": \"Mensaje para {name}…\",\n \"send\": \"Enviar\",\n \"attach\": \"Adjuntar archivos\",\n \"typing\": \"El agente está escribiendo\",\n \"moreSteps\": \"{count, plural, one {# paso más} other {# pasos más}}\",\n \"hideSteps\": \"Ocultar pasos\",\n \"unread\": \"{count, plural, one {# respuesta sin leer} other {# respuestas sin leer}}\",\n \"retry\": \"Reintentar\",\n \"tooLarge\": \"El archivo es demasiado grande.\",\n \"stop\": \"Detener\",\n \"voice\": {\n \"hold\": \"Mantenga pulsado para grabar\",\n \"stop\": \"Detener la grabación\",\n \"recording\": \"Grabando… {seconds} s\",\n \"review\": \"Revise la transcripción antes de enviar\",\n \"notRecognized\": \"No se reconoció la voz\",\n \"micDenied\": \"Sin acceso al micrófono\",\n \"unsupported\": \"Este navegador no admite la entrada de voz\"\n },\n \"confirm\": {\n \"title\": \"Confirme la acción\",\n \"text\": \"El agente quiere ejecutar: {action}\",\n \"approve\": \"Ejecutar\",\n \"reject\": \"Rechazar\"\n },\n \"wait\": {\n \"starting\": \"El agente se está iniciando…\",\n \"queued\": \"{count, plural, =0 {En cola · usted es el siguiente} other {En cola · # por delante}}\"\n }\n }\n}\n","{\n \"loading\": \"加载中…\",\n \"cancel\": \"取消\",\n \"create\": \"创建\",\n \"close\": \"关闭\",\n \"delete\": \"删除\",\n \"remove\": \"移除\",\n \"topbar\": {\n \"sections\": \"栏目\",\n \"profile\": \"个人资料\"\n },\n \"chat\": {\n \"title\": \"聊天\",\n \"conversations\": \"对话\",\n \"conversation\": \"对话\",\n \"topics\": \"话题\",\n \"archive\": \"归档\",\n \"noTopics\": \"暂无话题\",\n \"newTopic\": \"新话题\",\n \"topicTitle\": \"话题\",\n \"topicHint\": \"话题有独立的历史记录,记忆和空间与主对话相同。\",\n \"loadOlder\": \"更早的消息\",\n \"emptyTitle\": \"你好,我是 {name}\",\n \"placeholder\": \"给 {name} 发消息…\",\n \"send\": \"发送\",\n \"attach\": \"附加文件\",\n \"typing\": \"智能体正在输入\",\n \"moreSteps\": \"{count, plural, other {另外 # 个步骤}}\",\n \"hideSteps\": \"隐藏步骤\",\n \"unread\": \"{count} 条未读回复\",\n \"retry\": \"重试\",\n \"tooLarge\": \"文件太大。\",\n \"stop\": \"停止\",\n \"voice\": {\n \"hold\": \"按住录音\",\n \"stop\": \"停止录音\",\n \"recording\": \"录音中… {seconds} 秒\",\n \"review\": \"发送前请检查转写文本\",\n \"notRecognized\": \"未能识别语音\",\n \"micDenied\": \"无法访问麦克风\",\n \"unsupported\": \"此浏览器不支持语音输入\"\n },\n \"confirm\": {\n \"title\": \"确认操作\",\n \"text\": \"代理想要执行:{action}\",\n \"approve\": \"执行\",\n \"reject\": \"拒绝\"\n },\n \"wait\": {\n \"starting\": \"代理正在启动…\",\n \"queued\": \"{count, plural, =0 {排队中 · 您是下一位} other {排队中 · 前面还有 # 位}}\"\n }\n }\n}\n","import en from \"./en.json\";\nimport ru from \"./ru.json\";\nimport de from \"./de.json\";\nimport es from \"./es.json\";\nimport zh from \"./zh.json\";\n\n/** Strings of the components in the five languages of the products. A product adds\n * them to its i18next instance under the namespace `uikit`. */\nexport const resources = { en, ru, de, es, zh };\nexport type KitLanguage = keyof typeof resources;\nexport { UIKIT_NS } from \"../i18n\";\n"],"mappings":";;;AKQA,IAAa6B,IAAY;CAAE,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAA;CAAI,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAA;CAAI,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAA;CAAI,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAA;CAAI,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAA;AAAG"}
1
+ {"version":3,"file":"locales.js","names":["loading","cancel","create","close","remove","agentName","topbar","chat","loading","cancel","create","close","remove","agentName","topbar","chat","loading","cancel","create","close","remove","agentName","topbar","chat","loading","cancel","create","close","remove","agentName","topbar","chat","UIKIT_NS","resources","\"delete\"","\"sections\"","\"profile\"","\"title\"","\"conversations\"","\"conversation\"","\"topics\"","\"archive\"","\"noTopics\"","\"newTopic\"","\"topicTitle\"","\"topicHint\"","\"loadOlder\"","\"emptyTitle\"","\"placeholder\"","\"send\"","\"attach\"","\"typing\"","\"moreSteps\"","\"hideSteps\"","\"unread\"","\"retry\"","\"tooLarge\"","\"stop\"","\"voice\"","\"hold\"","\"recording\"","\"review\"","\"notRecognized\"","\"micDenied\"","\"unsupported\"","\"start\"","\"done\"","\"recognizing\"","\"recordingNow\"","\"confirm\"","\"text\"","\"approve\"","\"reject\"","\"wait\"","\"starting\"","\"queued\"","\"palette\"","\"commands\"","\"skills\"","\"noSkills\"","\"empty\"","\"unknownCommand\"","\"sendAsText\"","\"skillPlaceholder\"","\"context\"","\"meter\"","\"full\"","\"compact\"","\"reset\"","\"event\"","\"details\""],"sources":["../src/locales/en.json","../src/locales/ru.json","../src/locales/de.json","../src/locales/es.json","../src/locales/zh.json","../src/locales/index.ts"],"sourcesContent":["{\n \"loading\": \"Loading…\",\n \"cancel\": \"Cancel\",\n \"create\": \"Create\",\n \"close\": \"Close\",\n \"delete\": \"Delete\",\n \"remove\": \"Remove\",\n \"agentName\": \"Agent name\",\n \"topbar\": {\n \"sections\": \"Sections\",\n \"profile\": \"Profile\"\n },\n \"chat\": {\n \"title\": \"Chat\",\n \"conversations\": \"Conversations\",\n \"conversation\": \"Conversation\",\n \"topics\": \"Topics\",\n \"archive\": \"Archive\",\n \"noTopics\": \"No topics yet\",\n \"newTopic\": \"New topic\",\n \"topicTitle\": \"Topic\",\n \"topicHint\": \"A topic has its own history and the same memory and space.\",\n \"loadOlder\": \"Earlier messages\",\n \"emptyTitle\": \"Hi, I am {name}\",\n \"placeholder\": \"Message {name}…\",\n \"send\": \"Send\",\n \"attach\": \"Attach files\",\n \"typing\": \"The agent is typing\",\n \"moreSteps\": \"{count, plural, one {# more step} other {# more steps}}\",\n \"hideSteps\": \"Hide steps\",\n \"unread\": \"{count, plural, one {# unread answer} other {# unread answers}}\",\n \"retry\": \"Retry\",\n \"tooLarge\": \"The file is too large.\",\n \"stop\": \"Stop\",\n \"voice\": {\n \"hold\": \"Hold to record\",\n \"stop\": \"Stop recording\",\n \"recording\": \"Recording… {seconds} s\",\n \"review\": \"Check the transcript before sending\",\n \"notRecognized\": \"The speech was not recognized\",\n \"micDenied\": \"No access to the microphone\",\n \"unsupported\": \"Voice input is not supported in this browser\",\n \"start\": \"Record a voice message\",\n \"done\": \"Stop\",\n \"recognizing\": \"Recognizing…\",\n \"recordingNow\": \"Recording\"\n },\n \"confirm\": {\n \"title\": \"Confirm the action\",\n \"text\": \"The agent wants to perform: {action}\",\n \"approve\": \"Execute\",\n \"reject\": \"Reject\"\n },\n \"wait\": {\n \"starting\": \"The agent is starting…\",\n \"queued\": \"{count, plural, =0 {In the queue · you are next} one {In the queue · # ahead of you} other {In the queue · # ahead of you}}\"\n },\n \"palette\": {\n \"title\": \"Commands and skills\",\n \"commands\": \"Commands\",\n \"skills\": \"Skills\",\n \"noSkills\": \"No skills are granted to you\",\n \"empty\": \"Nothing found\"\n },\n \"unknownCommand\": \"Unknown command {name}\",\n \"sendAsText\": \"Send as text\",\n \"skillPlaceholder\": \"What to do with the skill?\",\n \"context\": {\n \"meter\": \"Context: {used} of {total} tokens ({pct}%)\",\n \"full\": \"Answers get more expensive and the agent may get confused.\",\n \"compact\": \"Compact\",\n \"reset\": \"Start over\"\n },\n \"event\": {\n \"details\": \"Summary\"\n }\n }\n}\n","{\n \"loading\": \"Загрузка…\",\n \"cancel\": \"Отмена\",\n \"create\": \"Создать\",\n \"close\": \"Закрыть\",\n \"delete\": \"Удалить\",\n \"remove\": \"Убрать\",\n \"agentName\": \"Имя агента\",\n \"topbar\": {\n \"sections\": \"Разделы\",\n \"profile\": \"Профиль\"\n },\n \"chat\": {\n \"title\": \"Чат\",\n \"conversations\": \"Разговоры\",\n \"conversation\": \"Разговор\",\n \"topics\": \"Темы\",\n \"archive\": \"Архив\",\n \"noTopics\": \"Тем пока нет\",\n \"newTopic\": \"Новая тема\",\n \"topicTitle\": \"Тема\",\n \"topicHint\": \"У темы своя история, а память и пространство — те же.\",\n \"loadOlder\": \"Более ранние сообщения\",\n \"emptyTitle\": \"Привет, я {name}\",\n \"placeholder\": \"Сообщение для {name}…\",\n \"send\": \"Отправить\",\n \"attach\": \"Прикрепить файлы\",\n \"typing\": \"Агент печатает\",\n \"moreSteps\": \"{count, plural, one {ещё # шаг} few {ещё # шага} many {ещё # шагов} other {ещё # шага}}\",\n \"hideSteps\": \"Скрыть шаги\",\n \"unread\": \"{count, plural, one {# непрочитанный ответ} few {# непрочитанных ответа} many {# непрочитанных ответов} other {# непрочитанных ответа}}\",\n \"retry\": \"Повторить\",\n \"tooLarge\": \"Файл слишком большой.\",\n \"stop\": \"Остановить\",\n \"voice\": {\n \"hold\": \"Удерживайте для записи\",\n \"stop\": \"Остановить запись\",\n \"recording\": \"Запись… {seconds} с\",\n \"review\": \"Проверьте расшифровку перед отправкой\",\n \"notRecognized\": \"Речь не распознана\",\n \"micDenied\": \"Нет доступа к микрофону\",\n \"unsupported\": \"Голосовой ввод не поддерживается этим браузером\",\n \"start\": \"Записать голосом\",\n \"done\": \"Стоп\",\n \"recognizing\": \"Распознаём…\",\n \"recordingNow\": \"Запись\"\n },\n \"confirm\": {\n \"title\": \"Подтвердите действие\",\n \"text\": \"Агент хочет выполнить: {action}\",\n \"approve\": \"Выполнить\",\n \"reject\": \"Отклонить\"\n },\n \"wait\": {\n \"starting\": \"Агент запускается…\",\n \"queued\": \"{count, plural, =0 {В очереди · вы следующий} other {В очереди · перед вами #}}\"\n },\n \"palette\": {\n \"title\": \"Команды и скиллы\",\n \"commands\": \"Команды\",\n \"skills\": \"Скиллы\",\n \"noSkills\": \"Вам не выдан ни один скилл\",\n \"empty\": \"Ничего не найдено\"\n },\n \"unknownCommand\": \"Неизвестная команда {name}\",\n \"sendAsText\": \"Отправить как текст\",\n \"skillPlaceholder\": \"Что сделать по скиллу?\",\n \"context\": {\n \"meter\": \"Контекст: {used} из {total} токенов ({pct} %)\",\n \"full\": \"Ответы дорожают, агент может путаться.\",\n \"compact\": \"Сжать\",\n \"reset\": \"Начать заново\"\n },\n \"event\": {\n \"details\": \"Изложение\"\n }\n }\n}\n","{\n \"loading\": \"Wird geladen…\",\n \"cancel\": \"Abbrechen\",\n \"create\": \"Erstellen\",\n \"close\": \"Schließen\",\n \"delete\": \"Löschen\",\n \"remove\": \"Entfernen\",\n \"agentName\": \"Name des Agenten\",\n \"topbar\": {\n \"sections\": \"Bereiche\",\n \"profile\": \"Profil\"\n },\n \"chat\": {\n \"title\": \"Chat\",\n \"conversations\": \"Gespräche\",\n \"conversation\": \"Gespräch\",\n \"topics\": \"Themen\",\n \"archive\": \"Archiv\",\n \"noTopics\": \"Noch keine Themen\",\n \"newTopic\": \"Neues Thema\",\n \"topicTitle\": \"Thema\",\n \"topicHint\": \"Ein Thema hat einen eigenen Verlauf, aber dasselbe Gedächtnis und denselben Arbeitsbereich.\",\n \"loadOlder\": \"Frühere Nachrichten\",\n \"emptyTitle\": \"Hallo, ich bin {name}\",\n \"placeholder\": \"Nachricht an {name}…\",\n \"send\": \"Senden\",\n \"attach\": \"Dateien anhängen\",\n \"typing\": \"Der Agent schreibt\",\n \"moreSteps\": \"{count, plural, one {# weiterer Schritt} other {# weitere Schritte}}\",\n \"hideSteps\": \"Schritte ausblenden\",\n \"unread\": \"{count, plural, one {# ungelesene Antwort} other {# ungelesene Antworten}}\",\n \"retry\": \"Wiederholen\",\n \"tooLarge\": \"Die Datei ist zu groß.\",\n \"stop\": \"Stoppen\",\n \"voice\": {\n \"hold\": \"Zum Aufnehmen gedrückt halten\",\n \"stop\": \"Aufnahme beenden\",\n \"recording\": \"Aufnahme… {seconds} s\",\n \"review\": \"Prüfen Sie die Transkription vor dem Senden\",\n \"notRecognized\": \"Die Sprache wurde nicht erkannt\",\n \"micDenied\": \"Kein Zugriff auf das Mikrofon\",\n \"unsupported\": \"Spracheingabe wird von diesem Browser nicht unterstützt\",\n \"start\": \"Sprachnachricht aufnehmen\",\n \"done\": \"Stopp\",\n \"recognizing\": \"Wird erkannt…\",\n \"recordingNow\": \"Aufnahme\"\n },\n \"confirm\": {\n \"title\": \"Aktion bestätigen\",\n \"text\": \"Der Agent möchte ausführen: {action}\",\n \"approve\": \"Ausführen\",\n \"reject\": \"Ablehnen\"\n },\n \"wait\": {\n \"starting\": \"Der Agent startet…\",\n \"queued\": \"{count, plural, =0 {In der Warteschlange · Sie sind als Nächstes dran} other {In der Warteschlange · # vor Ihnen}}\"\n },\n \"palette\": {\n \"title\": \"Befehle und Skills\",\n \"commands\": \"Befehle\",\n \"skills\": \"Skills\",\n \"noSkills\": \"Ihnen ist kein Skill freigegeben\",\n \"empty\": \"Nichts gefunden\"\n },\n \"unknownCommand\": \"Unbekannter Befehl {name}\",\n \"sendAsText\": \"Als Text senden\",\n \"skillPlaceholder\": \"Was soll mit dem Skill getan werden?\",\n \"context\": {\n \"meter\": \"Kontext: {used} von {total} Tokens ({pct} %)\",\n \"full\": \"Antworten werden teurer, der Agent kann durcheinanderkommen.\",\n \"compact\": \"Komprimieren\",\n \"reset\": \"Neu beginnen\"\n },\n \"event\": {\n \"details\": \"Zusammenfassung\"\n }\n }\n}\n","{\n \"loading\": \"Cargando…\",\n \"cancel\": \"Cancelar\",\n \"create\": \"Crear\",\n \"close\": \"Cerrar\",\n \"delete\": \"Eliminar\",\n \"remove\": \"Quitar\",\n \"agentName\": \"Nombre del agente\",\n \"topbar\": {\n \"sections\": \"Secciones\",\n \"profile\": \"Perfil\"\n },\n \"chat\": {\n \"title\": \"Chat\",\n \"conversations\": \"Conversaciones\",\n \"conversation\": \"Conversación\",\n \"topics\": \"Temas\",\n \"archive\": \"Archivo\",\n \"noTopics\": \"Aún no hay temas\",\n \"newTopic\": \"Nuevo tema\",\n \"topicTitle\": \"Tema\",\n \"topicHint\": \"Un tema tiene su propio historial y la misma memoria y espacio.\",\n \"loadOlder\": \"Mensajes anteriores\",\n \"emptyTitle\": \"Hola, soy {name}\",\n \"placeholder\": \"Mensaje para {name}…\",\n \"send\": \"Enviar\",\n \"attach\": \"Adjuntar archivos\",\n \"typing\": \"El agente está escribiendo\",\n \"moreSteps\": \"{count, plural, one {# paso más} other {# pasos más}}\",\n \"hideSteps\": \"Ocultar pasos\",\n \"unread\": \"{count, plural, one {# respuesta sin leer} other {# respuestas sin leer}}\",\n \"retry\": \"Reintentar\",\n \"tooLarge\": \"El archivo es demasiado grande.\",\n \"stop\": \"Detener\",\n \"voice\": {\n \"hold\": \"Mantenga pulsado para grabar\",\n \"stop\": \"Detener la grabación\",\n \"recording\": \"Grabando… {seconds} s\",\n \"review\": \"Revise la transcripción antes de enviar\",\n \"notRecognized\": \"No se reconoció la voz\",\n \"micDenied\": \"Sin acceso al micrófono\",\n \"unsupported\": \"Este navegador no admite la entrada de voz\",\n \"start\": \"Grabar un mensaje de voz\",\n \"done\": \"Detener\",\n \"recognizing\": \"Reconociendo…\",\n \"recordingNow\": \"Grabando\"\n },\n \"confirm\": {\n \"title\": \"Confirme la acción\",\n \"text\": \"El agente quiere ejecutar: {action}\",\n \"approve\": \"Ejecutar\",\n \"reject\": \"Rechazar\"\n },\n \"wait\": {\n \"starting\": \"El agente se está iniciando…\",\n \"queued\": \"{count, plural, =0 {En cola · usted es el siguiente} other {En cola · # por delante}}\"\n },\n \"palette\": {\n \"title\": \"Comandos y skills\",\n \"commands\": \"Comandos\",\n \"skills\": \"Skills\",\n \"noSkills\": \"No tiene skills disponibles\",\n \"empty\": \"No se encontró nada\"\n },\n \"unknownCommand\": \"Comando desconocido {name}\",\n \"sendAsText\": \"Enviar como texto\",\n \"skillPlaceholder\": \"¿Qué hacer con el skill?\",\n \"context\": {\n \"meter\": \"Contexto: {used} de {total} tokens ({pct} %)\",\n \"full\": \"Las respuestas se encarecen y el agente puede confundirse.\",\n \"compact\": \"Compactar\",\n \"reset\": \"Empezar de nuevo\"\n },\n \"event\": {\n \"details\": \"Resumen\"\n }\n }\n}\n","{\n \"loading\": \"加载中…\",\n \"cancel\": \"取消\",\n \"create\": \"创建\",\n \"close\": \"关闭\",\n \"delete\": \"删除\",\n \"remove\": \"移除\",\n \"agentName\": \"智能体名称\",\n \"topbar\": {\n \"sections\": \"栏目\",\n \"profile\": \"个人资料\"\n },\n \"chat\": {\n \"title\": \"聊天\",\n \"conversations\": \"对话\",\n \"conversation\": \"对话\",\n \"topics\": \"话题\",\n \"archive\": \"归档\",\n \"noTopics\": \"暂无话题\",\n \"newTopic\": \"新话题\",\n \"topicTitle\": \"话题\",\n \"topicHint\": \"话题有独立的历史记录,记忆和空间与主对话相同。\",\n \"loadOlder\": \"更早的消息\",\n \"emptyTitle\": \"你好,我是 {name}\",\n \"placeholder\": \"给 {name} 发消息…\",\n \"send\": \"发送\",\n \"attach\": \"附加文件\",\n \"typing\": \"智能体正在输入\",\n \"moreSteps\": \"{count, plural, other {另外 # 个步骤}}\",\n \"hideSteps\": \"隐藏步骤\",\n \"unread\": \"{count} 条未读回复\",\n \"retry\": \"重试\",\n \"tooLarge\": \"文件太大。\",\n \"stop\": \"停止\",\n \"voice\": {\n \"hold\": \"按住录音\",\n \"stop\": \"停止录音\",\n \"recording\": \"录音中… {seconds} 秒\",\n \"review\": \"发送前请检查转写文本\",\n \"notRecognized\": \"未能识别语音\",\n \"micDenied\": \"无法访问麦克风\",\n \"unsupported\": \"此浏览器不支持语音输入\",\n \"start\": \"录制语音\",\n \"done\": \"停止\",\n \"recognizing\": \"正在识别…\",\n \"recordingNow\": \"录音中\"\n },\n \"confirm\": {\n \"title\": \"确认操作\",\n \"text\": \"代理想要执行:{action}\",\n \"approve\": \"执行\",\n \"reject\": \"拒绝\"\n },\n \"wait\": {\n \"starting\": \"代理正在启动…\",\n \"queued\": \"{count, plural, =0 {排队中 · 您是下一位} other {排队中 · 前面还有 # 位}}\"\n },\n \"palette\": {\n \"title\": \"命令和技能\",\n \"commands\": \"命令\",\n \"skills\": \"技能\",\n \"noSkills\": \"您没有可用的技能\",\n \"empty\": \"未找到\"\n },\n \"unknownCommand\": \"未知命令 {name}\",\n \"sendAsText\": \"作为文本发送\",\n \"skillPlaceholder\": \"用这个技能做什么?\",\n \"context\": {\n \"meter\": \"上下文:{used} / {total} 个令牌({pct}%)\",\n \"full\": \"回答变得更贵,代理可能会混淆。\",\n \"compact\": \"压缩\",\n \"reset\": \"重新开始\"\n },\n \"event\": {\n \"details\": \"摘要\"\n }\n }\n}\n","import en from \"./en.json\";\nimport ru from \"./ru.json\";\nimport de from \"./de.json\";\nimport es from \"./es.json\";\nimport zh from \"./zh.json\";\n\n/** Strings of the components in the five languages of the products. A product adds\n * them to its i18next instance under the namespace `uikit`. */\nexport const resources = { en, ru, de, es, zh };\nexport type KitLanguage = keyof typeof resources;\nexport { UIKIT_NS } from \"../i18n\";\n"],"mappings":";;;AKQA,IAAaiC,IAAY;CAAE,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAA;CAAI,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAA;CAAI,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAA;CAAI,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAA;CAAI,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAA;AAAG"}
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.2.0",
2
+ "version": "1.1.0",
3
3
  "classes": [
4
4
  "a",
5
5
  "action",
@@ -7,11 +7,20 @@
7
7
  "acts",
8
8
  "admin",
9
9
  "agent",
10
+ "agentbtn",
11
+ "agentmenu",
12
+ "agentmodel",
13
+ "agentmodels",
14
+ "agentoption",
15
+ "agentoptions",
10
16
  "amber",
11
17
  "app",
12
18
  "arch",
13
19
  "atts",
14
20
  "avatar",
21
+ "badges",
22
+ "bg",
23
+ "body",
15
24
  "box",
16
25
  "brand",
17
26
  "brief",
@@ -19,31 +28,46 @@
19
28
  "bub",
20
29
  "burger",
21
30
  "business",
31
+ "cap",
22
32
  "card",
23
33
  "chan",
24
34
  "chip",
25
35
  "chips",
26
36
  "clickable",
37
+ "cmd-unknown",
27
38
  "composer",
39
+ "composer-wrap",
28
40
  "confirm",
29
41
  "count",
30
42
  "cov",
43
+ "ctxmeter",
44
+ "ctxring",
45
+ "ctxtip",
31
46
  "danger",
32
47
  "danger-fill",
33
48
  "dashed",
49
+ "dot",
34
50
  "draft",
51
+ "ds",
35
52
  "edit",
36
53
  "ellipsis",
37
54
  "empty",
55
+ "ending",
38
56
  "er",
39
57
  "err",
40
58
  "err-t",
41
59
  "err-text",
42
60
  "error",
61
+ "evchip",
62
+ "evdetails",
63
+ "evdiv",
64
+ "evline",
65
+ "fg",
43
66
  "field",
44
67
  "fill",
45
68
  "form-grid",
46
69
  "friendly",
70
+ "full",
47
71
  "gap",
48
72
  "ghost",
49
73
  "grow",
@@ -69,6 +93,7 @@
69
93
  "llmerr",
70
94
  "loading",
71
95
  "login",
96
+ "lvl",
72
97
  "m",
73
98
  "main",
74
99
  "mb",
@@ -95,14 +120,20 @@
95
120
  "open",
96
121
  "overlay",
97
122
  "page",
123
+ "palette",
124
+ "palette-empty",
125
+ "palette-h",
126
+ "palette-row",
98
127
  "panel",
99
128
  "panel-h",
100
129
  "pending-files",
101
130
  "primary",
102
131
  "prose",
103
132
  "q",
133
+ "radio",
104
134
  "rec",
105
135
  "rec-box",
136
+ "recbar",
106
137
  "row",
107
138
  "row2",
108
139
  "run",
@@ -111,11 +142,14 @@
111
142
  "sec",
112
143
  "sel",
113
144
  "side",
145
+ "skill-chip",
146
+ "slash",
114
147
  "sm",
115
148
  "small",
116
149
  "spacer",
117
150
  "spin",
118
151
  "sr-only",
152
+ "src",
119
153
  "st",
120
154
  "stack",
121
155
  "sub",
@@ -128,6 +162,8 @@
128
162
  "table",
129
163
  "tabs",
130
164
  "tag",
165
+ "textbtn",
166
+ "tm",
131
167
  "toast",
132
168
  "toast-wrap",
133
169
  "tool",
@@ -144,10 +180,17 @@
144
180
  "warn",
145
181
  "warn-t",
146
182
  "webhook",
147
- "wide"
183
+ "wide",
184
+ "with-skill"
148
185
  ],
149
186
  "roots": [
150
187
  "admin",
188
+ "agentbtn",
189
+ "agentmenu",
190
+ "agentmodel",
191
+ "agentmodels",
192
+ "agentoption",
193
+ "agentoptions",
151
194
  "app",
152
195
  "avatar",
153
196
  "brand",
@@ -157,15 +200,24 @@
157
200
  "chan",
158
201
  "chip",
159
202
  "chips",
203
+ "cmd-unknown",
160
204
  "composer",
205
+ "composer-wrap",
161
206
  "confirm",
162
207
  "count",
163
208
  "cov",
209
+ "ctxmeter",
210
+ "ctxring",
211
+ "ctxtip",
164
212
  "ellipsis",
165
213
  "empty",
166
214
  "err",
167
215
  "err-t",
168
216
  "err-text",
217
+ "evchip",
218
+ "evdetails",
219
+ "evdiv",
220
+ "evline",
169
221
  "field",
170
222
  "form-grid",
171
223
  "grow",
@@ -200,15 +252,21 @@
200
252
  "ok-t",
201
253
  "overlay",
202
254
  "page",
255
+ "palette",
256
+ "palette-empty",
257
+ "palette-h",
258
+ "palette-row",
203
259
  "panel",
204
260
  "panel-h",
205
261
  "pending-files",
206
262
  "prose",
263
+ "recbar",
207
264
  "row",
208
265
  "search",
209
266
  "sec",
210
267
  "sel",
211
268
  "side",
269
+ "skill-chip",
212
270
  "small",
213
271
  "spacer",
214
272
  "spin",
@@ -223,6 +281,7 @@
223
281
  "t2",
224
282
  "table",
225
283
  "tabs",
284
+ "textbtn",
226
285
  "toast",
227
286
  "toast-wrap",
228
287
  "tool",
package/dist/styles.css CHANGED
@@ -1218,7 +1218,7 @@ select.inp.inherit {
1218
1218
  .tool .er{color:var(--red)}
1219
1219
  .tool .run{color:var(--muted)}
1220
1220
  .tool .tx{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
1221
- .tools-fold{font-size:12px;color:var(--muted);border:0;background:none;padding:2px 0;margin-bottom:4px}
1221
+ .tools-fold{display:block;font-size:12px;color:var(--muted);border:0;background:none;padding:2px 0;margin-bottom:4px}
1222
1222
  .ok-t{color:var(--green)}
1223
1223
  .err-t{color:var(--red)}
1224
1224
  .warn-t{color:var(--amber)}
@@ -1281,6 +1281,18 @@ select.inp.inherit {
1281
1281
  .panel{position:fixed;inset:0;z-index:40;max-height:none;border-radius:0;border:0}
1282
1282
  .kvrow{grid-template-columns:minmax(0,1fr)}}
1283
1283
 
1284
+ /* The agent: its round button and its menu — the name and the options of the product as tiles. */
1285
+ .agentbtn{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--violet),#12A876);border:0;cursor:pointer;box-shadow:0 0 0 3px var(--violet-soft);flex:none}
1286
+ .agentbtn.s{width:28px;height:28px;box-shadow:none}
1287
+ .agentmenu{position:absolute;top:62px;left:16px;width:340px;max-width:calc(100% - 32px);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-l);box-shadow:var(--shadow-l, 0 12px 32px rgba(0,0,0,.18));padding:14px;z-index:20}
1288
+ .agentmenu .lab{font-size:12px;color:var(--muted);margin:0 0 6px}
1289
+ .agentoptions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
1290
+ /* a narrow place — a side panel: the tiles go in one column, or a long label would not fit */
1291
+ .agentmenu.narrow .agentoptions{grid-template-columns:1fr}
1292
+ .agentoption{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--border);border-radius:var(--r-m);font-size:14px;background:var(--surface);color:var(--text)}
1293
+ .agentoption.on{border-color:var(--violet);box-shadow:0 0 0 1px var(--violet);color:var(--violet-text)}
1294
+ .agentoption .ic{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--violet),#12A876);flex:none}
1295
+
1284
1296
  /* A long unbreakable line — a path in a tool step — never widens the list of messages. */
1285
1297
  .msgs{overflow-x:hidden}
1286
1298
  .m{min-width:0}
@@ -1292,3 +1304,56 @@ select.inp.inherit {
1292
1304
  .nb-app.narrow .nb-side.open{display:block;position:absolute;inset:0 30% 0 0;z-index:15;box-shadow:var(--shadow)}
1293
1305
  .nb-app.narrow .nb-scrim{display:block;position:absolute;inset:0;z-index:14;border:0;padding:0;background:rgba(0,0,0,.25)}
1294
1306
  .nb-app.narrow .nb-chat .m,.nb-app.narrow .nb-chat .m.u{max-width:92%}
1307
+ /* FTR.NAB.CHAT-0001 design §1, §3: the palette of commands, the skill of a message, the fill of the context,
1308
+ the dividers of events, the bar of a recording, the models of the agent. */
1309
+ .composer-wrap{position:relative;border-top:1px solid var(--border)}
1310
+ .composer-wrap .composer{border-top:0}
1311
+ .composer .field{flex:1;display:flex;align-items:flex-end;gap:6px;min-width:0}
1312
+ .composer .field textarea{min-width:0}
1313
+ .composer .field.with-skill{flex-wrap:wrap}
1314
+ .skill-chip{background:var(--violet-soft);color:var(--violet-text);border-color:transparent;align-self:center}
1315
+ .palette{position:absolute;left:10px;right:10px;bottom:calc(100% - 4px);z-index:15;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-m);box-shadow:var(--shadow-l, 0 12px 32px rgba(0,0,0,.18));padding:6px;max-height:300px;overflow-y:auto}
1316
+ .palette-h{font-size:11px;color:var(--muted);padding:6px 10px 4px;text-transform:uppercase;letter-spacing:.04em}
1317
+ .palette-row{display:grid;grid-template-columns:18px minmax(110px,auto) 1fr auto;gap:8px;align-items:center;width:100%;padding:7px 10px;border:0;border-radius:var(--r-s);background:none;color:var(--text);font-size:13px;text-align:left}
1318
+ .palette-row.on{background:var(--violet-soft)}
1319
+ .palette-row .slash{font-family:var(--mono);color:var(--muted);text-align:center}
1320
+ .palette-row .nm{font-family:var(--mono);white-space:nowrap}
1321
+ .palette-row .ds{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
1322
+ .palette-row .src{font-size:11px;color:var(--muted);white-space:nowrap}
1323
+ .palette-empty{font-size:13px;color:var(--muted);padding:6px 10px}
1324
+ .cmd-unknown{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--amber);padding:8px 12px 0}
1325
+ .textbtn{border:0;background:none;padding:0;color:var(--violet-text);font:inherit;cursor:pointer}
1326
+ .ctxmeter{position:relative;align-self:center}
1327
+ .ctxring{width:26px;height:26px;display:grid;place-items:center;border:0;background:none;padding:0;border-radius:50%}
1328
+ .ctxring svg{width:18px;height:18px}
1329
+ .ctxring circle{fill:none;stroke-width:3}
1330
+ .ctxring .bg{stroke:var(--border)}
1331
+ .ctxring .fg{stroke:var(--muted)}
1332
+ .ctxring.warn .fg{stroke:var(--amber)}
1333
+ .ctxring.full .fg{stroke:var(--red)}
1334
+ .ctxtip{position:absolute;right:0;bottom:calc(100% + 8px);z-index:16;width:260px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-m);box-shadow:var(--shadow-l, 0 12px 32px rgba(0,0,0,.18));padding:10px 12px;font-size:13px}
1335
+ .evdiv{display:flex;flex-direction:column;align-items:center;gap:6px}
1336
+ .evline{display:flex;align-items:center;gap:10px;width:100%;color:var(--muted);font-size:12px}
1337
+ .evline::before,.evline::after{content:"";flex:1;height:1px;background:var(--border)}
1338
+ .evchip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--border);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
1339
+ .evdetails{max-width:560px;font-size:13px;color:var(--text-2);background:var(--surface-2);border-radius:var(--r-m);padding:10px 12px;white-space:pre-wrap}
1340
+ .recbar{flex:1;display:flex;align-items:center;gap:10px;border:1px solid var(--red);border-radius:var(--r-m);padding:5px 8px 5px 12px;background:var(--red-soft);min-width:0}
1341
+ .recbar .dot{width:10px;height:10px;border-radius:50%;background:var(--red);flex:none;animation:blink 1.2s infinite}
1342
+ .recbar .tm{font-family:var(--mono);font-size:13px;white-space:nowrap}
1343
+ .recbar .lvl{flex:1;height:6px;border-radius:3px;background:var(--border);overflow:hidden;min-width:20px}
1344
+ .recbar .lvl i{display:block;height:100%;background:var(--red);transform-origin:left;transition:transform .1s linear}
1345
+ .recbar.ending{border-color:var(--amber);background:var(--amber-soft)}
1346
+ .recbar.ending .tm{color:var(--amber)}
1347
+ .recbar.ending .dot,.recbar.ending .lvl i{background:var(--amber)}
1348
+ .agentmodels{display:flex;flex-direction:column;gap:4px}
1349
+ .agentmodel{display:flex;gap:10px;align-items:flex-start;width:100%;padding:8px;border:0;border-radius:var(--r-m);background:none;color:var(--text);text-align:left}
1350
+ .agentmodel.on{background:var(--violet-soft)}
1351
+ .agentmodel:disabled{cursor:default}
1352
+ .agentmodel .radio{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--border-strong);margin-top:2px;flex:none}
1353
+ .agentmodel .radio.on{border:5px solid var(--violet)}
1354
+ .agentmodel .body{display:flex;flex-direction:column;gap:2px;min-width:0}
1355
+ .agentmodel .nm{font-size:14px;font-weight:500}
1356
+ .agentmodel .sub{font-size:12px;color:var(--muted)}
1357
+ .agentmodel .badges{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}
1358
+ .agentmodel .cap{display:inline-flex;align-items:center;gap:3px;font-size:11px;padding:1px 7px;border-radius:999px;background:var(--surface-2);color:var(--text-2)}
1359
+ .agentmodel .warn{font-size:12px;color:var(--amber);margin-top:2px}
@@ -73,7 +73,9 @@ var l = {
73
73
  globe: "<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18\"/>",
74
74
  download: "<path d=\"M12 4v12M7 11l5 5 5-5M5 20h14\"/>",
75
75
  pin: "<path d=\"M9 4h6l-1 6 4 4H6l4-4zM12 14v6\"/>",
76
- edit: "<path d=\"M4 20h4L19 9l-4-4L4 16zM14 6l4 4\"/>"
76
+ edit: "<path d=\"M4 20h4L19 9l-4-4L4 16zM14 6l4 4\"/>",
77
+ image: "<rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\"/><circle cx=\"9\" cy=\"10\" r=\"2\"/><path d=\"m21 16-5-5-9 9\"/>",
78
+ compress: "<path d=\"M4 14h6v6M20 10h-6V4M14 10l7-7M3 21l7-7\"/>"
77
79
  };
78
80
  function u({ name: e, size: n = 18, className: r = "" }) {
79
81
  return /* @__PURE__ */ t("svg", {
@@ -304,4 +306,4 @@ function w(e, t) {
304
306
  //#endregion
305
307
  export { x as a, v as c, u as d, h as i, m as l, S as n, _ as o, C as r, w as s, b as t, d as u };
306
308
 
307
- //# sourceMappingURL=ui-CGgZtEVm.js.map
309
+ //# sourceMappingURL=ui-joAvYmUH.js.map