@jini-ai/ui 0.3.9 → 0.3.10

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 (36) hide show
  1. package/dist/browser/useFileDropTarget.js +1 -1
  2. package/dist/features/execution/react/components/ByokProviderForm.js +3 -3
  3. package/dist/features/html-editor/canvas-embed-placeholders.d.ts +4 -0
  4. package/dist/features/html-editor/canvas-embed-placeholders.js +51 -1
  5. package/dist/features/html-editor/canvas-style.d.ts +11 -0
  6. package/dist/features/html-editor/canvas-style.js +16 -1
  7. package/dist/features/html-editor/index.d.ts +1 -1
  8. package/dist/features/html-editor/react/components/InteractiveHtmlEditor.d.ts +23 -11
  9. package/dist/features/html-editor/react/components/InteractiveHtmlEditor.js +5 -3
  10. package/dist/features/html-editor/react/hooks/useInteractiveHtmlEditor.d.ts +11 -1
  11. package/dist/features/html-editor/react/hooks/useInteractiveHtmlEditor.js +356 -30
  12. package/dist/features/html-editor/source-splice.d.ts +56 -0
  13. package/dist/features/html-editor/source-splice.js +89 -0
  14. package/dist/features/i18n/dictionaries/settings-dialog.ar.js +2 -0
  15. package/dist/features/i18n/dictionaries/settings-dialog.bn.js +2 -0
  16. package/dist/features/i18n/dictionaries/settings-dialog.de.js +2 -0
  17. package/dist/features/i18n/dictionaries/settings-dialog.en.js +2 -0
  18. package/dist/features/i18n/dictionaries/settings-dialog.es.js +2 -0
  19. package/dist/features/i18n/dictionaries/settings-dialog.fa.js +2 -0
  20. package/dist/features/i18n/dictionaries/settings-dialog.fr.js +2 -0
  21. package/dist/features/i18n/dictionaries/settings-dialog.hi.js +2 -0
  22. package/dist/features/i18n/dictionaries/settings-dialog.hu.js +2 -0
  23. package/dist/features/i18n/dictionaries/settings-dialog.id.js +2 -0
  24. package/dist/features/i18n/dictionaries/settings-dialog.it.js +2 -0
  25. package/dist/features/i18n/dictionaries/settings-dialog.ja.js +2 -0
  26. package/dist/features/i18n/dictionaries/settings-dialog.ko.js +2 -0
  27. package/dist/features/i18n/dictionaries/settings-dialog.pl.js +2 -0
  28. package/dist/features/i18n/dictionaries/settings-dialog.pt-BR.js +2 -0
  29. package/dist/features/i18n/dictionaries/settings-dialog.ru.js +2 -0
  30. package/dist/features/i18n/dictionaries/settings-dialog.th.js +2 -0
  31. package/dist/features/i18n/dictionaries/settings-dialog.tr.js +2 -0
  32. package/dist/features/i18n/dictionaries/settings-dialog.uk.js +2 -0
  33. package/dist/features/i18n/dictionaries/settings-dialog.ur.js +2 -0
  34. package/dist/features/i18n/dictionaries/settings-dialog.zh-CN.js +2 -0
  35. package/dist/features/i18n/dictionaries/settings-dialog.zh-TW.js +2 -0
  36. package/package.json +4 -3
@@ -48,6 +48,8 @@ export const SETTINGS_DIALOG_EN = {
48
48
  'Copy': 'Copy',
49
49
  'Copy to clipboard': 'Copy to clipboard',
50
50
  'Could not load live models: {message}': 'Could not load live models: {message}',
51
+ 'No API key — connection test needs the key from this browser.': 'No API key — connection test needs the key from this browser.',
52
+ 'No API key — model discovery needs the key from this browser.': 'No API key — model discovery needs the key from this browser.',
51
53
  'Could not load skills: {error}': 'Could not load skills: {error}',
52
54
  'Could not reach the daemon: {error}': 'Could not reach the daemon: {error}',
53
55
  'Could not reach the server. Showing local changes only.': 'Could not reach the server. Showing local changes only.',
@@ -48,6 +48,8 @@ export const SETTINGS_DIALOG_ES = {
48
48
  'Copy': 'Copiar',
49
49
  'Copy to clipboard': 'Copiar al portapapeles',
50
50
  'Could not load live models: {message}': 'No se pudieron cargar los modelos en vivo: {message}',
51
+ 'No API key — connection test needs the key from this browser.': 'Sin clave de API: la prueba de conexión necesita la clave desde este navegador.',
52
+ 'No API key — model discovery needs the key from this browser.': 'Sin clave de API: la detección de modelos necesita la clave desde este navegador.',
51
53
  'Could not load skills: {error}': 'No se pudieron cargar las skills: {error}',
52
54
  'Could not reach the daemon: {error}': 'No se pudo contactar con el daemon: {error}',
53
55
  'Could not reach the server. Showing local changes only.': 'No se pudo contactar con el servidor. Mostrando solo cambios locales.',
@@ -48,6 +48,8 @@ export const SETTINGS_DIALOG_FA = {
48
48
  'Copy': 'کپی',
49
49
  'Copy to clipboard': 'کپی در کلیپ‌بورد',
50
50
  'Could not load live models: {message}': 'بارگذاری مدل‌های زنده ممکن نشد: {message}',
51
+ 'No API key — connection test needs the key from this browser.': 'کلید API وجود ندارد — آزمون اتصال به کلید از همین مرورگر نیاز دارد.',
52
+ 'No API key — model discovery needs the key from this browser.': 'کلید API وجود ندارد — کشف مدل‌ها به کلید از همین مرورگر نیاز دارد.',
51
53
  'Could not load skills: {error}': 'بارگذاری مهارت‌ها ممکن نشد: {error}',
52
54
  'Could not reach the daemon: {error}': 'ارتباط با دیمون برقرار نشد: {error}',
53
55
  'Could not reach the server. Showing local changes only.': 'ارتباط با سرور برقرار نشد. فقط تغییرات محلی نمایش داده می‌شود.',
@@ -48,6 +48,8 @@ export const SETTINGS_DIALOG_FR = {
48
48
  'Copy': 'Copier',
49
49
  'Copy to clipboard': 'Copier dans le presse-papiers',
50
50
  'Could not load live models: {message}': 'Impossible de charger les modèles en direct : {message}',
51
+ 'No API key — connection test needs the key from this browser.': 'Aucune clé API — le test de connexion nécessite la clé depuis ce navigateur.',
52
+ 'No API key — model discovery needs the key from this browser.': 'Aucune clé API — la découverte des modèles nécessite la clé depuis ce navigateur.',
51
53
  'Could not load skills: {error}': 'Impossible de charger les compétences : {error}',
52
54
  'Could not reach the daemon: {error}': 'Impossible de contacter le daemon : {error}',
53
55
  'Could not reach the server. Showing local changes only.': 'Impossible de contacter le serveur. Affichage des modifications locales uniquement.',
@@ -48,6 +48,8 @@ export const SETTINGS_DIALOG_HI = {
48
48
  'Copy': 'कॉपी करें',
49
49
  'Copy to clipboard': 'क्लिपबोर्ड पर कॉपी करें',
50
50
  'Could not load live models: {message}': 'लाइव मॉडल लोड नहीं हो सके: {message}',
51
+ 'No API key — connection test needs the key from this browser.': 'कोई API कुंजी नहीं — कनेक्शन परीक्षण के लिए इस ब्राउज़र से कुंजी चाहिए।',
52
+ 'No API key — model discovery needs the key from this browser.': 'कोई API कुंजी नहीं — मॉडल खोजने के लिए इस ब्राउज़र से कुंजी चाहिए।',
51
53
  'Could not load skills: {error}': 'स्किल्स लोड नहीं हो सकीं: {error}',
52
54
  'Could not reach the daemon: {error}': 'डेमन तक नहीं पहुंच सके: {error}',
53
55
  'Could not reach the server. Showing local changes only.': 'सर्वर तक नहीं पहुंच सके। केवल स्थानीय बदलाव दिखाए जा रहे हैं।',
@@ -48,6 +48,8 @@ export const SETTINGS_DIALOG_HU = {
48
48
  'Copy': 'Másolás',
49
49
  'Copy to clipboard': 'Másolás vágólapra',
50
50
  'Could not load live models: {message}': 'Nem sikerült betölteni az élő modelleket: {message}',
51
+ 'No API key — connection test needs the key from this browser.': 'Nincs API-kulcs — a kapcsolati teszthez a kulcs szükséges ebből a böngészőből.',
52
+ 'No API key — model discovery needs the key from this browser.': 'Nincs API-kulcs — a modellek felderítéséhez a kulcs szükséges ebből a böngészőből.',
51
53
  'Could not load skills: {error}': 'Nem sikerült betölteni a képességeket: {error}',
52
54
  'Could not reach the daemon: {error}': 'Nem sikerült elérni a démont: {error}',
53
55
  'Could not reach the server. Showing local changes only.': 'Nem sikerült elérni a szervert. Csak a helyi módosítások jelennek meg.',
@@ -48,6 +48,8 @@ export const SETTINGS_DIALOG_ID = {
48
48
  'Copy': 'Salin',
49
49
  'Copy to clipboard': 'Salin ke clipboard',
50
50
  'Could not load live models: {message}': 'Tidak dapat memuat model live: {message}',
51
+ 'No API key — connection test needs the key from this browser.': 'Tidak ada kunci API — uji koneksi memerlukan kunci dari browser ini.',
52
+ 'No API key — model discovery needs the key from this browser.': 'Tidak ada kunci API — penemuan model memerlukan kunci dari browser ini.',
51
53
  'Could not load skills: {error}': 'Tidak dapat memuat skill: {error}',
52
54
  'Could not reach the daemon: {error}': 'Tidak dapat menjangkau daemon: {error}',
53
55
  'Could not reach the server. Showing local changes only.': 'Tidak dapat menjangkau server. Hanya menampilkan perubahan lokal.',
@@ -48,6 +48,8 @@ export const SETTINGS_DIALOG_IT = {
48
48
  'Copy': 'Copia',
49
49
  'Copy to clipboard': 'Copia negli appunti',
50
50
  'Could not load live models: {message}': 'Impossibile caricare i modelli in tempo reale: {message}',
51
+ 'No API key — connection test needs the key from this browser.': 'Nessuna chiave API — il test di connessione richiede la chiave da questo browser.',
52
+ 'No API key — model discovery needs the key from this browser.': 'Nessuna chiave API — il rilevamento dei modelli richiede la chiave da questo browser.',
51
53
  'Could not load skills: {error}': 'Impossibile caricare le competenze: {error}',
52
54
  'Could not reach the daemon: {error}': 'Impossibile contattare il daemon: {error}',
53
55
  'Could not reach the server. Showing local changes only.': 'Impossibile contattare il server. Vengono mostrate solo le modifiche locali.',
@@ -48,6 +48,8 @@ export const SETTINGS_DIALOG_JA = {
48
48
  'Copy': 'コピー',
49
49
  'Copy to clipboard': 'クリップボードにコピー',
50
50
  'Could not load live models: {message}': 'ライブモデルを読み込めませんでした:{message}',
51
+ 'No API key — connection test needs the key from this browser.': 'API キーがありません — 接続テストには、このブラウザーからのキーが必要です。',
52
+ 'No API key — model discovery needs the key from this browser.': 'API キーがありません — モデルの検出には、このブラウザーからのキーが必要です。',
51
53
  'Could not load skills: {error}': 'スキルを読み込めませんでした:{error}',
52
54
  'Could not reach the daemon: {error}': 'デーモンに接続できませんでした:{error}',
53
55
  'Could not reach the server. Showing local changes only.': 'サーバーに接続できませんでした。ローカルの変更のみ表示しています。',
@@ -48,6 +48,8 @@ export const SETTINGS_DIALOG_KO = {
48
48
  'Copy': '복사',
49
49
  'Copy to clipboard': '클립보드에 복사',
50
50
  'Could not load live models: {message}': '실시간 모델을 불러올 수 없습니다: {message}',
51
+ 'No API key — connection test needs the key from this browser.': 'API 키가 없습니다 — 연결 테스트에는 이 브라우저의 키가 필요합니다.',
52
+ 'No API key — model discovery needs the key from this browser.': 'API 키가 없습니다 — 모델 검색에는 이 브라우저의 키가 필요합니다.',
51
53
  'Could not load skills: {error}': '스킬을 불러올 수 없습니다: {error}',
52
54
  'Could not reach the daemon: {error}': '데몬에 연결할 수 없습니다: {error}',
53
55
  'Could not reach the server. Showing local changes only.': '서버에 연결할 수 없습니다. 로컬 변경 사항만 표시합니다.',
@@ -48,6 +48,8 @@ export const SETTINGS_DIALOG_PL = {
48
48
  'Copy': 'Kopiuj',
49
49
  'Copy to clipboard': 'Kopiuj do schowka',
50
50
  'Could not load live models: {message}': 'Nie udało się wczytać modeli na żywo: {message}',
51
+ 'No API key — connection test needs the key from this browser.': 'Brak klucza API — test połączenia wymaga klucza z tej przeglądarki.',
52
+ 'No API key — model discovery needs the key from this browser.': 'Brak klucza API — wykrywanie modeli wymaga klucza z tej przeglądarki.',
51
53
  'Could not load skills: {error}': 'Nie udało się wczytać umiejętności: {error}',
52
54
  'Could not reach the daemon: {error}': 'Nie udało się połączyć z demonem: {error}',
53
55
  'Could not reach the server. Showing local changes only.': 'Nie udało się połączyć z serwerem. Wyświetlane są tylko zmiany lokalne.',
@@ -48,6 +48,8 @@ export const SETTINGS_DIALOG_PT_BR = {
48
48
  'Copy': 'Copiar',
49
49
  'Copy to clipboard': 'Copiar para a área de transferência',
50
50
  'Could not load live models: {message}': 'Não foi possível carregar os modelos em tempo real: {message}',
51
+ 'No API key — connection test needs the key from this browser.': 'Sem chave de API — o teste de conexão precisa da chave deste navegador.',
52
+ 'No API key — model discovery needs the key from this browser.': 'Sem chave de API — a descoberta de modelos precisa da chave deste navegador.',
51
53
  'Could not load skills: {error}': 'Não foi possível carregar as skills: {error}',
52
54
  'Could not reach the daemon: {error}': 'Não foi possível contatar o daemon: {error}',
53
55
  'Could not reach the server. Showing local changes only.': 'Não foi possível contatar o servidor. Mostrando apenas as alterações locais.',
@@ -48,6 +48,8 @@ export const SETTINGS_DIALOG_RU = {
48
48
  'Copy': 'Копировать',
49
49
  'Copy to clipboard': 'Копировать в буфер обмена',
50
50
  'Could not load live models: {message}': 'Не удалось загрузить актуальные модели: {message}',
51
+ 'No API key — connection test needs the key from this browser.': 'Нет API-ключа — для проверки подключения нужен ключ из этого браузера.',
52
+ 'No API key — model discovery needs the key from this browser.': 'Нет API-ключа — для поиска моделей нужен ключ из этого браузера.',
51
53
  'Could not load skills: {error}': 'Не удалось загрузить навыки: {error}',
52
54
  'Could not reach the daemon: {error}': 'Не удалось связаться с демоном: {error}',
53
55
  'Could not reach the server. Showing local changes only.': 'Не удалось связаться с сервером. Показаны только локальные изменения.',
@@ -48,6 +48,8 @@ export const SETTINGS_DIALOG_TH = {
48
48
  'Copy': 'คัดลอก',
49
49
  'Copy to clipboard': 'คัดลอกไปยังคลิปบอร์ด',
50
50
  'Could not load live models: {message}': 'ไม่สามารถโหลดโมเดลแบบเรียลไทม์ได้: {message}',
51
+ 'No API key — connection test needs the key from this browser.': 'ไม่มีคีย์ API — การทดสอบการเชื่อมต่อต้องใช้คีย์จากเบราว์เซอร์นี้',
52
+ 'No API key — model discovery needs the key from this browser.': 'ไม่มีคีย์ API — การค้นหาโมเดลต้องใช้คีย์จากเบราว์เซอร์นี้',
51
53
  'Could not load skills: {error}': 'ไม่สามารถโหลดทักษะได้: {error}',
52
54
  'Could not reach the daemon: {error}': 'ไม่สามารถติดต่อดีมอนได้: {error}',
53
55
  'Could not reach the server. Showing local changes only.': 'ไม่สามารถติดต่อเซิร์ฟเวอร์ได้ กำลังแสดงเฉพาะการเปลี่ยนแปลงในเครื่อง',
@@ -48,6 +48,8 @@ export const SETTINGS_DIALOG_TR = {
48
48
  'Copy': 'Kopyala',
49
49
  'Copy to clipboard': 'Panoya kopyala',
50
50
  'Could not load live models: {message}': 'Canlı modeller yüklenemedi: {message}',
51
+ 'No API key — connection test needs the key from this browser.': 'API anahtarı yok — bağlantı testi için bu tarayıcıdan anahtar gerekiyor.',
52
+ 'No API key — model discovery needs the key from this browser.': 'API anahtarı yok — model keşfi için bu tarayıcıdan anahtar gerekiyor.',
51
53
  'Could not load skills: {error}': 'Beceriler yüklenemedi: {error}',
52
54
  'Could not reach the daemon: {error}': 'Arka plan sürecine ulaşılamadı: {error}',
53
55
  'Could not reach the server. Showing local changes only.': 'Sunucuya ulaşılamadı. Yalnızca yerel değişiklikler gösteriliyor.',
@@ -48,6 +48,8 @@ export const SETTINGS_DIALOG_UK = {
48
48
  'Copy': 'Копіювати',
49
49
  'Copy to clipboard': 'Копіювати в буфер обміну',
50
50
  'Could not load live models: {message}': 'Не вдалося завантажити актуальні моделі: {message}',
51
+ 'No API key — connection test needs the key from this browser.': 'Немає API-ключа — для перевірки підключення потрібен ключ із цього браузера.',
52
+ 'No API key — model discovery needs the key from this browser.': 'Немає API-ключа — для пошуку моделей потрібен ключ із цього браузера.',
51
53
  'Could not load skills: {error}': 'Не вдалося завантажити навички: {error}',
52
54
  'Could not reach the daemon: {error}': 'Не вдалося з\'єднатися з демоном: {error}',
53
55
  'Could not reach the server. Showing local changes only.': 'Не вдалося з\'єднатися з сервером. Показано лише локальні зміни.',
@@ -48,6 +48,8 @@ export const SETTINGS_DIALOG_UR = {
48
48
  'Copy': 'کاپی کریں',
49
49
  'Copy to clipboard': 'کلپ بورڈ پر کاپی کریں',
50
50
  'Could not load live models: {message}': 'لائیو ماڈلز لوڈ نہیں ہو سکے: {message}',
51
+ 'No API key — connection test needs the key from this browser.': 'کوئی API کلید نہیں — کنکشن ٹیسٹ کے لیے اسی براؤزر سے کلید درکار ہے۔',
52
+ 'No API key — model discovery needs the key from this browser.': 'کوئی API کلید نہیں — ماڈلز کی دریافت کے لیے اسی براؤزر سے کلید درکار ہے۔',
51
53
  'Could not load skills: {error}': 'اسکلز لوڈ نہیں ہو سکیں: {error}',
52
54
  'Could not reach the daemon: {error}': 'ڈیمن تک رسائی نہیں ہو سکی: {error}',
53
55
  'Could not reach the server. Showing local changes only.': 'سرور تک رسائی نہیں ہو سکی۔ صرف مقامی تبدیلیاں دکھائی جا رہی ہیں۔',
@@ -48,6 +48,8 @@ export const SETTINGS_DIALOG_ZH_CN = {
48
48
  'Copy': '复制',
49
49
  'Copy to clipboard': '复制到剪贴板',
50
50
  'Could not load live models: {message}': '无法加载实时模型列表:{message}',
51
+ 'No API key — connection test needs the key from this browser.': '没有 API 密钥——连接测试需要来自此浏览器的密钥。',
52
+ 'No API key — model discovery needs the key from this browser.': '没有 API 密钥——模型发现需要来自此浏览器的密钥。',
51
53
  'Could not load skills: {error}': '无法加载技能:{error}',
52
54
  'Could not reach the daemon: {error}': '无法连接到守护进程:{error}',
53
55
  'Could not reach the server. Showing local changes only.': '无法连接到服务器,仅显示本地更改。',
@@ -48,6 +48,8 @@ export const SETTINGS_DIALOG_ZH_TW = {
48
48
  'Copy': '複製',
49
49
  'Copy to clipboard': '複製到剪貼簿',
50
50
  'Could not load live models: {message}': '無法載入即時模型清單:{message}',
51
+ 'No API key — connection test needs the key from this browser.': '沒有 API 金鑰——連線測試需要來自此瀏覽器的金鑰。',
52
+ 'No API key — model discovery needs the key from this browser.': '沒有 API 金鑰——模型探索需要來自此瀏覽器的金鑰。',
51
53
  'Could not load skills: {error}': '無法載入技能:{error}',
52
54
  'Could not reach the daemon: {error}': '無法連上背景程序:{error}',
53
55
  'Could not reach the server. Showing local changes only.': '無法連上伺服器,僅顯示本機變更。',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jini-ai/ui",
3
- "version": "0.3.9",
3
+ "version": "0.3.10",
4
4
  "description": "Generic, product-neutral React UI primitives and feature domains. Framework-free types, decision rules, catalogs, and host port contracts live behind ./core (no React, no DOM). The Excalidraw and Lexical editors live behind ./sketch-editor and ./lexical-rich-text-editor; the GrapesJS-backed inline HTML editor lives behind ./html-editor.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -102,13 +102,14 @@
102
102
  "clsx": "^2.1.1",
103
103
  "micromark": "^4.0.0",
104
104
  "micromark-extension-gfm": "^3.0.0",
105
+ "parse5": "^8.0.1",
105
106
  "recharts": "^3.10.1",
106
107
  "shiki": "^1.24.4",
107
108
  "tailwind-merge": "^2.6.0",
108
109
  "zod": "^3.25.76",
109
- "@jini-ai/protocol": "0.3.0",
110
+ "@jini-ai/agentic": "0.3.6",
110
111
  "@jini-ai/platform": "0.3.0",
111
- "@jini-ai/agentic": "0.3.6"
112
+ "@jini-ai/protocol": "0.3.0"
112
113
  },
113
114
  "devDependencies": {
114
115
  "@excalidraw/excalidraw": "0.18.1",