@agent-native/toolkit 0.210.0-nightly-20261019153056 → 0.210.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.
Files changed (58) hide show
  1. package/LICENSE +21 -0
  2. package/dist/app/i18n/catalogs/ar-SA.d.ts.map +1 -1
  3. package/dist/app/i18n/catalogs/ar-SA.js +12 -3
  4. package/dist/app/i18n/catalogs/ar-SA.js.map +1 -1
  5. package/dist/app/i18n/catalogs/de-DE.d.ts.map +1 -1
  6. package/dist/app/i18n/catalogs/de-DE.js +12 -3
  7. package/dist/app/i18n/catalogs/de-DE.js.map +1 -1
  8. package/dist/app/i18n/catalogs/en-US.d.ts +12 -3
  9. package/dist/app/i18n/catalogs/en-US.d.ts.map +1 -1
  10. package/dist/app/i18n/catalogs/en-US.js +12 -3
  11. package/dist/app/i18n/catalogs/en-US.js.map +1 -1
  12. package/dist/app/i18n/catalogs/es-ES.d.ts.map +1 -1
  13. package/dist/app/i18n/catalogs/es-ES.js +12 -3
  14. package/dist/app/i18n/catalogs/es-ES.js.map +1 -1
  15. package/dist/app/i18n/catalogs/fr-FR.d.ts.map +1 -1
  16. package/dist/app/i18n/catalogs/fr-FR.js +12 -3
  17. package/dist/app/i18n/catalogs/fr-FR.js.map +1 -1
  18. package/dist/app/i18n/catalogs/hi-IN.d.ts.map +1 -1
  19. package/dist/app/i18n/catalogs/hi-IN.js +12 -3
  20. package/dist/app/i18n/catalogs/hi-IN.js.map +1 -1
  21. package/dist/app/i18n/catalogs/ja-JP.d.ts.map +1 -1
  22. package/dist/app/i18n/catalogs/ja-JP.js +12 -3
  23. package/dist/app/i18n/catalogs/ja-JP.js.map +1 -1
  24. package/dist/app/i18n/catalogs/ko-KR.d.ts.map +1 -1
  25. package/dist/app/i18n/catalogs/ko-KR.js +12 -3
  26. package/dist/app/i18n/catalogs/ko-KR.js.map +1 -1
  27. package/dist/app/i18n/catalogs/pt-BR.d.ts.map +1 -1
  28. package/dist/app/i18n/catalogs/pt-BR.js +12 -3
  29. package/dist/app/i18n/catalogs/pt-BR.js.map +1 -1
  30. package/dist/app/i18n/catalogs/zh-CN.d.ts.map +1 -1
  31. package/dist/app/i18n/catalogs/zh-CN.js +12 -3
  32. package/dist/app/i18n/catalogs/zh-CN.js.map +1 -1
  33. package/dist/app/i18n/catalogs/zh-TW.d.ts.map +1 -1
  34. package/dist/app/i18n/catalogs/zh-TW.js +12 -3
  35. package/dist/app/i18n/catalogs/zh-TW.js.map +1 -1
  36. package/dist/app/onboarding/FirstRunOnboarding.d.ts.map +1 -1
  37. package/dist/app/onboarding/FirstRunOnboarding.js +53 -33
  38. package/dist/app/onboarding/FirstRunOnboarding.js.map +1 -1
  39. package/dist/app/sharing/ShareButton.js +1 -1
  40. package/dist/app/sharing/ShareButton.js.map +1 -1
  41. package/dist/theme/resource-icons.css +18 -18
  42. package/package.json +4 -4
  43. package/src/app/i18n/catalogs/ar-SA.ts +15 -4
  44. package/src/app/i18n/catalogs/de-DE.ts +15 -5
  45. package/src/app/i18n/catalogs/en-US.ts +15 -4
  46. package/src/app/i18n/catalogs/es-ES.ts +15 -6
  47. package/src/app/i18n/catalogs/fr-FR.ts +15 -6
  48. package/src/app/i18n/catalogs/hi-IN.ts +15 -4
  49. package/src/app/i18n/catalogs/ja-JP.ts +15 -4
  50. package/src/app/i18n/catalogs/ko-KR.ts +15 -4
  51. package/src/app/i18n/catalogs/pt-BR.ts +15 -6
  52. package/src/app/i18n/catalogs/zh-CN.ts +15 -4
  53. package/src/app/i18n/catalogs/zh-TW.ts +15 -4
  54. package/src/app/onboarding/FirstRunOnboarding.spec.tsx +44 -6
  55. package/src/app/onboarding/FirstRunOnboarding.tsx +196 -59
  56. package/src/app/sharing/ShareButton.spec.tsx +34 -0
  57. package/src/app/sharing/ShareButton.tsx +7 -1
  58. package/src/theme/resource-icons.css +18 -18
@@ -1,23 +1,23 @@
1
1
  :root {
2
- --resource-icon-gray: #787774;
3
- --resource-icon-brown: #9f6b53;
4
- --resource-icon-orange: #c76c24;
5
- --resource-icon-yellow: #a78317;
6
- --resource-icon-green: #448361;
7
- --resource-icon-blue: #337ea9;
8
- --resource-icon-purple: #9065b0;
9
- --resource-icon-pink: #b64c7d;
10
- --resource-icon-red: #c4554d;
2
+ --resource-icon-gray: #525252;
3
+ --resource-icon-brown: #905a33;
4
+ --resource-icon-orange: #ca3500;
5
+ --resource-icon-yellow: #a65f00;
6
+ --resource-icon-green: #008236;
7
+ --resource-icon-blue: #1447e6;
8
+ --resource-icon-purple: #8200db;
9
+ --resource-icon-pink: #c6005c;
10
+ --resource-icon-red: #c10007;
11
11
  }
12
12
 
13
13
  .dark {
14
- --resource-icon-gray: #a6a6a3;
15
- --resource-icon-brown: #c19a80;
16
- --resource-icon-orange: #e6a168;
17
- --resource-icon-yellow: #d4bc6a;
18
- --resource-icon-green: #83bd9d;
19
- --resource-icon-blue: #78b5d9;
20
- --resource-icon-purple: #b89ed2;
21
- --resource-icon-pink: #dc96b6;
22
- --resource-icon-red: #e5948d;
14
+ --resource-icon-gray: #a1a1a1;
15
+ --resource-icon-brown: #e0b491;
16
+ --resource-icon-orange: #ffb86a;
17
+ --resource-icon-yellow: #ffdf20;
18
+ --resource-icon-green: #7bf1a8;
19
+ --resource-icon-blue: #8ec5ff;
20
+ --resource-icon-purple: #dab2ff;
21
+ --resource-icon-pink: #fda5d5;
22
+ --resource-icon-red: #ffa2a2;
23
23
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-native/toolkit",
3
- "version": "0.210.0-nightly-20261019153056",
3
+ "version": "0.210.0",
4
4
  "description": "Reusable app-building UI and helpers for Agent-Native apps.",
5
5
  "homepage": "https://github.com/BuilderIO/agent-native#readme",
6
6
  "bugs": {
@@ -678,7 +678,7 @@
678
678
  "y-protocols": "^1.0.7",
679
679
  "yjs": "^13.6.33",
680
680
  "zod": "^4.3.6",
681
- "@agent-native/agentkit": "^0.210.0-nightly-20261019153056"
681
+ "@agent-native/agentkit": "^0.210.0"
682
682
  },
683
683
  "devDependencies": {
684
684
  "@excalidraw/excalidraw": "0.18.1",
@@ -702,10 +702,10 @@
702
702
  "typescript-7": "npm:typescript@^7.0.2",
703
703
  "vite": "8.1.0",
704
704
  "vitest": "^4.1.5",
705
- "@agent-native/core": "^0.210.0-nightly-20261019153056"
705
+ "@agent-native/core": "^0.210.0"
706
706
  },
707
707
  "peerDependencies": {
708
- "@agent-native/core": "0.210.0-nightly-20261019153056",
708
+ "@agent-native/core": ">=0.205.1",
709
709
  "@excalidraw/excalidraw": ">=0.18",
710
710
  "@excalidraw/mermaid-to-excalidraw": ">=2",
711
711
  "@tanstack/react-query": "^5.99.2",
@@ -177,10 +177,21 @@ const messages: ToolkitAgentChatTranslation = {
177
177
  "onboarding.creditsActivate": "تفعيل الأرصدة المجانية",
178
178
  "onboarding.creditsFinePrint":
179
179
  "سيؤدي هذا إلى إنشاء حساب Builder.io مجاني. بالمتابعة، فأنت توافق على",
180
- "onboarding.creditsConnectExisting": "الاتصال بحساب Builder.io موجود",
181
180
  "onboarding.creditsMoreInfo": "المزيد من المعلومات",
182
- "onboarding.creditsSkipBody":
183
- "إذا تخطيت، ستحتاج إلى توصيل مفاتيحك الخاصة لاستخدام الذكاء الاصطناعي والتخزين.",
181
+ "onboarding.creditsSubtitle":
182
+ "احصل على أرصدة مجانية لنماذج LLM وJev والتخزين والمزيد لهذا التطبيق بنقرة واحدة من Builder.io.",
183
+ "onboarding.creditsLearnMore": "اعرف المزيد",
184
+ "onboarding.creditsSkip": "تخطي",
185
+ "onboarding.creditsSkipConfirmTitle": "هل أنت متأكد؟",
186
+ "onboarding.creditsSkipConfirmBody":
187
+ "تحتاج تطبيقات Agent-Native إلى نموذج LLM متصل لاستخدام معظم الميزات. لن تعمل معظم الوظائف بدونه.",
188
+ "onboarding.creditsSkipGoBack": "رجوع",
189
+ "onboarding.creditsSkipAnyway": "تخطي على أي حال",
190
+ "onboarding.creditsUseCustomKeys": "استخدام مفاتيحك الخاصة",
191
+ "onboarding.creditsAboutLabel": "حول الأرصدة المجانية",
192
+ "onboarding.creditsActivating": "جارٍ تفعيل الأرصدة المجانية",
193
+ "onboarding.creditsActivatingTooltip":
194
+ "توفر Builder أرصدة مجانية لنماذج LLM وJev والتخزين والمزيد، لتتمكن من استخدام ميزات الذكاء الاصطناعي في هذا التطبيق دون الحاجة إلى مفاتيحك الخاصة.",
184
195
  "onboarding.builderConnect": "الاتصال بـ Builder.io",
185
196
  "onboarding.builderActivating": "جارٍ تفعيل أرصدة Builder.io المجانية",
186
197
  "onboarding.builderConnecting": "جارٍ إعداد أرصدة Builder.io المجانية",
@@ -217,7 +228,7 @@ const messages: ToolkitAgentChatTranslation = {
217
228
  "onboarding.capability.embeddings.why":
218
229
  "تُحسّن التضمينات البحث الدلالي. يظل البحث بالكلمات المفتاحية يعمل من دونها.",
219
230
  "onboarding.capability.webSearch.label": "البحث على الويب",
220
- "onboarding.capability.webSearch.keySummary": "بحث على الويب مُدار من Builder",
231
+ "onboarding.capability.webSearch.keySummary": "البحث على الويب",
221
232
  "onboarding.capability.webSearch.why":
222
233
  "ابحث في المصادر العامة الحديثة على الويب. يستخدم البحث المُدار من Builder أرصدة Builder AI المضمنة، لذلك لا تحتاج إلى مفتاح بحث منفصل.",
223
234
  "onboarding.capability.systemOne.why":
@@ -189,10 +189,21 @@ const messages: ToolkitAgentChatTranslation = {
189
189
  "onboarding.creditsActivate": "Kostenlose Credits aktivieren",
190
190
  "onboarding.creditsFinePrint":
191
191
  "Dies erstellt ein kostenloses Builder.io-Konto. Mit dem Fortfahren akzeptierst du unsere",
192
- "onboarding.creditsConnectExisting": "Vorhandenes Builder.io-Konto verbinden",
193
192
  "onboarding.creditsMoreInfo": "Weitere Informationen",
194
- "onboarding.creditsSkipBody":
195
- "Falls du auslässt, musst du deine eigenen Schlüssel verbinden, um KI und Speicher zu verwenden.",
193
+ "onboarding.creditsSubtitle":
194
+ "Hol dir kostenlose Credits für LLMs, Jev, Speicher und mehr für diese App mit einem Klick von Builder.io.",
195
+ "onboarding.creditsLearnMore": "Mehr erfahren",
196
+ "onboarding.creditsSkip": "Überspringen",
197
+ "onboarding.creditsSkipConfirmTitle": "Bist du sicher?",
198
+ "onboarding.creditsSkipConfirmBody":
199
+ "Agent-Native-Apps brauchen ein verbundenes LLM, um die meisten Funktionen zu nutzen. Ohne eines funktioniert das meiste nicht.",
200
+ "onboarding.creditsSkipGoBack": "Zurück",
201
+ "onboarding.creditsSkipAnyway": "Trotzdem überspringen",
202
+ "onboarding.creditsUseCustomKeys": "Eigene Schlüssel verwenden",
203
+ "onboarding.creditsAboutLabel": "Über kostenlose Credits",
204
+ "onboarding.creditsActivating": "Gratis-Credits werden aktiviert",
205
+ "onboarding.creditsActivatingTooltip":
206
+ "Builder stellt kostenlose Credits für LLMs, Jev, Speicher und mehr bereit, damit du die KI-Funktionen dieser App ohne eigene Schlüssel nutzen kannst.",
196
207
  "onboarding.builderConnect": "Builder.io verbinden",
197
208
  "onboarding.builderActivating": "Builder.io-Gratiscredits werden aktiviert",
198
209
  "onboarding.builderConnecting": "Builder.io-Credits werden eingerichtet",
@@ -231,8 +242,7 @@ const messages: ToolkitAgentChatTranslation = {
231
242
  "onboarding.capability.embeddings.why":
232
243
  "Semantische Vektoren verbessern die semantische Suche. Die Stichwortsuche funktioniert auch ohne sie.",
233
244
  "onboarding.capability.webSearch.label": "Websuche",
234
- "onboarding.capability.webSearch.keySummary":
235
- "Von Builder verwaltete Websuche",
245
+ "onboarding.capability.webSearch.keySummary": "Websuche",
236
246
  "onboarding.capability.webSearch.why":
237
247
  "Durchsuche aktuelle öffentliche Webquellen. Die von Builder verwaltete Suche nutzt enthaltene Builder-KI-Credits, daher ist kein separater Such-API-Schlüssel erforderlich.",
238
248
  "onboarding.capability.systemOne.why":
@@ -180,10 +180,21 @@ const messages = {
180
180
  "onboarding.creditsActivate": "Activate free credits",
181
181
  "onboarding.creditsFinePrint":
182
182
  "This will create a free Builder.io account. By continuing, you agree to our",
183
- "onboarding.creditsConnectExisting": "Connect an existing Builder.io account",
184
183
  "onboarding.creditsMoreInfo": "More info",
185
- "onboarding.creditsSkipBody":
186
- "If you skip, you'll need to connect your own keys to use AI and storage.",
184
+ "onboarding.creditsSubtitle":
185
+ "Get free credits for LLMs, Jev, storage, and more for this app in one click from Builder.io.",
186
+ "onboarding.creditsLearnMore": "Learn more",
187
+ "onboarding.creditsSkip": "Skip",
188
+ "onboarding.creditsSkipConfirmTitle": "Are you sure?",
189
+ "onboarding.creditsSkipConfirmBody":
190
+ "Agent-Native apps need an LLM connected to use most features. Most functionality won't work without one.",
191
+ "onboarding.creditsSkipGoBack": "Go back",
192
+ "onboarding.creditsSkipAnyway": "Skip anyway",
193
+ "onboarding.creditsUseCustomKeys": "Use custom keys",
194
+ "onboarding.creditsAboutLabel": "About free credits",
195
+ "onboarding.creditsActivating": "Activating free credits",
196
+ "onboarding.creditsActivatingTooltip":
197
+ "Builder provides free credits for LLMs, Jev, storage, and more, so you can use this app’s AI features without bringing your own keys.",
187
198
  "onboarding.builderActivating": "Activating Builder.io free credits",
188
199
  "onboarding.builderConnecting": "Setting up Builder.io credits",
189
200
  "onboarding.builderProvisioningDescription":
@@ -219,7 +230,7 @@ const messages = {
219
230
  "onboarding.capability.embeddings.why":
220
231
  "Embeddings improve semantic search. Keyword search still works without them.",
221
232
  "onboarding.capability.webSearch.label": "Web search",
222
- "onboarding.capability.webSearch.keySummary": "Builder-managed web search",
233
+ "onboarding.capability.webSearch.keySummary": "Web search",
223
234
  "onboarding.capability.webSearch.why":
224
235
  "Search current public web sources. Builder-managed search uses included Builder AI credits, so no separate search API key is needed.",
225
236
  "onboarding.capability.systemOne.why":
@@ -186,11 +186,21 @@ const messages: ToolkitAgentChatTranslation = {
186
186
  "onboarding.creditsActivate": "Activar créditos gratuitos",
187
187
  "onboarding.creditsFinePrint":
188
188
  "Esto creará una cuenta de Builder.io gratuita. Al continuar, aceptas nuestros",
189
- "onboarding.creditsConnectExisting":
190
- "Conectar una cuenta de Builder.io existente",
191
189
  "onboarding.creditsMoreInfo": "Más información",
192
- "onboarding.creditsSkipBody":
193
- "Si omites, tendrás que conectar tus propias claves para usar IA y almacenamiento.",
190
+ "onboarding.creditsSubtitle":
191
+ "Obtén créditos gratuitos para LLMs, Jev, almacenamiento y más para esta app con un solo clic de Builder.io.",
192
+ "onboarding.creditsLearnMore": "Saber más",
193
+ "onboarding.creditsSkip": "Omitir",
194
+ "onboarding.creditsSkipConfirmTitle": "¿Estás seguro?",
195
+ "onboarding.creditsSkipConfirmBody":
196
+ "Las apps de Agent-Native necesitan un LLM conectado para usar la mayoría de las funciones. La mayoría no funcionará sin uno.",
197
+ "onboarding.creditsSkipGoBack": "Volver",
198
+ "onboarding.creditsSkipAnyway": "Omitir de todas formas",
199
+ "onboarding.creditsUseCustomKeys": "Usar claves personalizadas",
200
+ "onboarding.creditsAboutLabel": "Acerca de los créditos gratuitos",
201
+ "onboarding.creditsActivating": "Activando créditos gratuitos",
202
+ "onboarding.creditsActivatingTooltip":
203
+ "Builder ofrece créditos gratuitos para LLMs, Jev, almacenamiento y más, para que puedas usar las funciones de IA de esta app sin tus propias claves.",
194
204
  "onboarding.builderConnect": "Conectar Builder.io",
195
205
  "onboarding.builderActivating":
196
206
  "Activando los créditos gratuitos de Builder.io",
@@ -232,8 +242,7 @@ const messages: ToolkitAgentChatTranslation = {
232
242
  "onboarding.capability.embeddings.why":
233
243
  "Los vectores semánticos mejoran la búsqueda semántica. La búsqueda por palabras clave sigue funcionando sin ellos.",
234
244
  "onboarding.capability.webSearch.label": "Búsqueda web",
235
- "onboarding.capability.webSearch.keySummary":
236
- "Búsqueda web gestionada por Builder",
245
+ "onboarding.capability.webSearch.keySummary": "Búsqueda web",
237
246
  "onboarding.capability.webSearch.why":
238
247
  "Busca en fuentes públicas actuales de la web. La búsqueda gestionada por Builder usa los créditos de IA incluidos, así que no hace falta una clave de búsqueda aparte.",
239
248
  "onboarding.capability.systemOne.why":
@@ -186,11 +186,21 @@ const messages: ToolkitAgentChatTranslation = {
186
186
  "onboarding.creditsActivate": "Activer les crédits gratuits",
187
187
  "onboarding.creditsFinePrint":
188
188
  "Ceci créera un compte Builder.io gratuit. En continuant, vous acceptez nos",
189
- "onboarding.creditsConnectExisting":
190
- "Connecter un compte Builder.io existant",
191
189
  "onboarding.creditsMoreInfo": "Plus d’infos",
192
- "onboarding.creditsSkipBody":
193
- "Si vous ignorez, vous devrez connecter vos propres clés pour utiliser l’IA et le stockage.",
190
+ "onboarding.creditsSubtitle":
191
+ "Obtenez des crédits gratuits pour les LLM, Jev, le stockage et plus pour cette application en un clic avec Builder.io.",
192
+ "onboarding.creditsLearnMore": "En savoir plus",
193
+ "onboarding.creditsSkip": "Ignorer",
194
+ "onboarding.creditsSkipConfirmTitle": "Êtes-vous sûr ?",
195
+ "onboarding.creditsSkipConfirmBody":
196
+ "Les apps Agent-Native ont besoin d’un LLM connecté pour utiliser la plupart des fonctionnalités. La plupart ne fonctionneront pas sans.",
197
+ "onboarding.creditsSkipGoBack": "Retour",
198
+ "onboarding.creditsSkipAnyway": "Ignorer quand même",
199
+ "onboarding.creditsUseCustomKeys": "Utiliser mes propres clés",
200
+ "onboarding.creditsAboutLabel": "À propos des crédits gratuits",
201
+ "onboarding.creditsActivating": "Activation des crédits gratuits",
202
+ "onboarding.creditsActivatingTooltip":
203
+ "Builder fournit des crédits gratuits pour les LLM, Jev, le stockage et plus, pour que vous puissiez utiliser les fonctionnalités IA de cette application sans vos propres clés.",
194
204
  "onboarding.builderConnect": "Connecter Builder.io",
195
205
  "onboarding.builderActivating": "Activation des crédits gratuits Builder.io",
196
206
  "onboarding.builderConnecting":
@@ -232,8 +242,7 @@ const messages: ToolkitAgentChatTranslation = {
232
242
  "onboarding.capability.embeddings.why":
233
243
  "Les représentations vectorielles améliorent la recherche sémantique. La recherche par mots-clés fonctionne toujours sans elles.",
234
244
  "onboarding.capability.webSearch.label": "Recherche sur le Web",
235
- "onboarding.capability.webSearch.keySummary":
236
- "Recherche Web gérée par Builder",
245
+ "onboarding.capability.webSearch.keySummary": "Recherche sur le Web",
237
246
  "onboarding.capability.webSearch.why":
238
247
  "Recherche dans les sources publiques actuelles du Web. La recherche gérée par Builder utilise les crédits IA inclus ; aucune clé de recherche distincte n'est nécessaire.",
239
248
  "onboarding.capability.systemOne.why":
@@ -176,10 +176,21 @@ const messages: ToolkitAgentChatTranslation = {
176
176
  "onboarding.creditsActivate": "मुफ़्त क्रेडिट सक्रिय करें",
177
177
  "onboarding.creditsFinePrint":
178
178
  "यह एक मुफ़्त Builder.io खाता बनाएगा। जारी रखने से आप हमारे",
179
- "onboarding.creditsConnectExisting": "मौजूदा Builder.io खाता कनेक्ट करें",
180
179
  "onboarding.creditsMoreInfo": "अधिक जानकारी",
181
- "onboarding.creditsSkipBody":
182
- "यदि आप छोड़ते हैं, तो आपको AI और स्टोरेज का उपयोग करने के लिए अपनी स्वयं की कुंजियों को कनेक्ट करना होगा।",
180
+ "onboarding.creditsSubtitle":
181
+ "Builder.io से इस ऐप के लिए एक क्लिक में LLMs, Jev, स्टोरेज और बहुत कुछ के लिए मुफ़्त क्रेडिट पाएँ।",
182
+ "onboarding.creditsLearnMore": "और जानें",
183
+ "onboarding.creditsSkip": "छोड़ें",
184
+ "onboarding.creditsSkipConfirmTitle": "क्या आप निश्चित हैं?",
185
+ "onboarding.creditsSkipConfirmBody":
186
+ "Agent-Native ऐप्स को ज़्यादातर सुविधाओं के लिए एक जुड़ा हुआ LLM चाहिए। इसके बिना ज़्यादातर कार्यक्षमता काम नहीं करेगी।",
187
+ "onboarding.creditsSkipGoBack": "वापस जाएँ",
188
+ "onboarding.creditsSkipAnyway": "फिर भी छोड़ें",
189
+ "onboarding.creditsUseCustomKeys": "कस्टम कीज़ का उपयोग करें",
190
+ "onboarding.creditsAboutLabel": "मुफ़्त क्रेडिट के बारे में",
191
+ "onboarding.creditsActivating": "मुफ़्त क्रेडिट सक्रिय हो रहे हैं",
192
+ "onboarding.creditsActivatingTooltip":
193
+ "Builder LLMs, Jev, स्टोरेज और बहुत कुछ के लिए मुफ़्त क्रेडिट देता है, ताकि आप अपनी कीज़ के बिना इस ऐप की AI सुविधाओं का उपयोग कर सकें।",
183
194
  "onboarding.builderConnect": "Builder.io से कनेक्ट करें",
184
195
  "onboarding.builderActivating": "Builder.io के मुफ़्त क्रेडिट सक्रिय किए जा रहे हैं",
185
196
  "onboarding.builderConnecting": "Builder.io के मुफ़्त क्रेडिट सेट अप हो रहे हैं",
@@ -216,7 +227,7 @@ const messages: ToolkitAgentChatTranslation = {
216
227
  "onboarding.capability.embeddings.why":
217
228
  "एंबेडिंग अर्थपूर्ण खोज को बेहतर बनाती हैं। इनके बिना भी कीवर्ड खोज काम करती है।",
218
229
  "onboarding.capability.webSearch.label": "वेब खोज",
219
- "onboarding.capability.webSearch.keySummary": "Builder द्वारा प्रबंधित वेब खोज",
230
+ "onboarding.capability.webSearch.keySummary": "वेब खोज",
220
231
  "onboarding.capability.webSearch.why":
221
232
  "वेब पर मौजूदा सार्वजनिक स्रोत खोजें। Builder द्वारा प्रबंधित खोज शामिल Builder AI क्रेडिट का उपयोग करती है, इसलिए अलग खोज API कुंजी की ज़रूरत नहीं है।",
222
233
  "onboarding.capability.systemOne.why":
@@ -185,10 +185,21 @@ const messages: ToolkitAgentChatTranslation = {
185
185
  "onboarding.creditsActivate": "無料クレジットを有効化",
186
186
  "onboarding.creditsFinePrint":
187
187
  "無料の Builder.io アカウントが作成されます。続行することで、当社の",
188
- "onboarding.creditsConnectExisting": "既存の Builder.io アカウントを接続",
189
188
  "onboarding.creditsMoreInfo": "詳細情報",
190
- "onboarding.creditsSkipBody":
191
- "スキップする場合は、AI とストレージを使用するために独自のキーを接続する必要があります。",
189
+ "onboarding.creditsSubtitle":
190
+ "Builder.io から、このアプリ向けの LLM、Jev、ストレージなどの無料クレジットをワンクリックで入手できます。",
191
+ "onboarding.creditsLearnMore": "詳しく見る",
192
+ "onboarding.creditsSkip": "スキップ",
193
+ "onboarding.creditsSkipConfirmTitle": "よろしいですか?",
194
+ "onboarding.creditsSkipConfirmBody":
195
+ "Agent-Native アプリでは、ほとんどの機能を使うために LLM の接続が必要です。LLM がないと、ほとんどの機能は動作しません。",
196
+ "onboarding.creditsSkipGoBack": "戻る",
197
+ "onboarding.creditsSkipAnyway": "それでもスキップ",
198
+ "onboarding.creditsUseCustomKeys": "カスタムキーを使用",
199
+ "onboarding.creditsAboutLabel": "無料クレジットについて",
200
+ "onboarding.creditsActivating": "無料クレジットを有効化しています",
201
+ "onboarding.creditsActivatingTooltip":
202
+ "Builder は、LLM、Jev、ストレージなどの無料クレジットを提供します。自分のキーがなくても、このアプリの AI 機能を使えます。",
192
203
  "onboarding.builderConnect": "Builder.io に接続",
193
204
  "onboarding.builderActivating": "Builder.io 無料クレジットを有効化しています",
194
205
  "onboarding.builderConnecting": "Builder.io の無料クレジットを設定しています",
@@ -227,7 +238,7 @@ const messages: ToolkitAgentChatTranslation = {
227
238
  "onboarding.capability.embeddings.why":
228
239
  "埋め込みは意味検索を改善します。埋め込みがなくてもキーワード検索は使えます。",
229
240
  "onboarding.capability.webSearch.label": "ウェブ検索",
230
- "onboarding.capability.webSearch.keySummary": "Builder が管理するウェブ検索",
241
+ "onboarding.capability.webSearch.keySummary": "ウェブ検索",
231
242
  "onboarding.capability.webSearch.why":
232
243
  "ウェブ上の最新の公開情報を検索します。Builder 管理の検索では付属の Builder AI クレジットを使うため、別の検索 API キーは不要です。",
233
244
  "onboarding.capability.systemOne.why":
@@ -178,10 +178,21 @@ const messages: ToolkitAgentChatTranslation = {
178
178
  "onboarding.creditsActivate": "무료 크레딧 활성화",
179
179
  "onboarding.creditsFinePrint":
180
180
  "이렇게 하면 무료 Builder.io 계정이 생성됩니다. 계속하면 당사의",
181
- "onboarding.creditsConnectExisting": "기존 Builder.io 계정 연결",
182
181
  "onboarding.creditsMoreInfo": "자세한 정보",
183
- "onboarding.creditsSkipBody":
184
- "건너뛰면 AI와 저장소를 사용하기 위해 자신의 키를 연결해야 합니다.",
182
+ "onboarding.creditsSubtitle":
183
+ "Builder.io에서 이 앱을 위해 한 번의 클릭으로 LLM, Jev, 스토리지 등의 무료 크레딧을 받으세요.",
184
+ "onboarding.creditsLearnMore": "자세히 알아보기",
185
+ "onboarding.creditsSkip": "건너뛰기",
186
+ "onboarding.creditsSkipConfirmTitle": "정말 건너뛰시겠습니까?",
187
+ "onboarding.creditsSkipConfirmBody":
188
+ "Agent-Native 앱은 대부분의 기능을 사용하려면 연결된 LLM이 필요합니다. LLM이 없으면 대부분의 기능이 작동하지 않습니다.",
189
+ "onboarding.creditsSkipGoBack": "돌아가기",
190
+ "onboarding.creditsSkipAnyway": "그래도 건너뛰기",
191
+ "onboarding.creditsUseCustomKeys": "사용자 지정 키 사용",
192
+ "onboarding.creditsAboutLabel": "무료 크레딧 정보",
193
+ "onboarding.creditsActivating": "무료 크레딧 활성화 중",
194
+ "onboarding.creditsActivatingTooltip":
195
+ "Builder는 LLM, Jev, 스토리지 등을 위한 무료 크레딧을 제공하므로, 직접 키를 준비하지 않고도 이 앱의 AI 기능을 사용할 수 있습니다.",
185
196
  "onboarding.builderConnect": "Builder.io 연결",
186
197
  "onboarding.builderActivating": "Builder.io 무료 크레딧 활성화 중",
187
198
  "onboarding.builderConnecting": "Builder.io 무료 크레딧 설정 중",
@@ -218,7 +229,7 @@ const messages: ToolkitAgentChatTranslation = {
218
229
  "onboarding.capability.embeddings.why":
219
230
  "임베딩은 의미 검색을 개선합니다. 임베딩 없이도 키워드 검색은 작동합니다.",
220
231
  "onboarding.capability.webSearch.label": "웹 검색",
221
- "onboarding.capability.webSearch.keySummary": "Builder 관리 웹 검색",
232
+ "onboarding.capability.webSearch.keySummary": "웹 검색",
222
233
  "onboarding.capability.webSearch.why":
223
234
  "웹의 최신 공개 자료를 검색합니다. Builder 관리 검색은 포함된 Builder AI 크레딧을 사용하므로 별도의 검색 API 키가 필요하지 않습니다.",
224
235
  "onboarding.capability.systemOne.why":
@@ -182,11 +182,21 @@ const messages: ToolkitAgentChatTranslation = {
182
182
  "onboarding.creditsActivate": "Ativar créditos gratuitos",
183
183
  "onboarding.creditsFinePrint":
184
184
  "Isto criará uma conta Builder.io gratuita. Ao continuar, você concorda com nossos",
185
- "onboarding.creditsConnectExisting":
186
- "Conectar uma conta Builder.io existente",
187
185
  "onboarding.creditsMoreInfo": "Mais informações",
188
- "onboarding.creditsSkipBody":
189
- "Se você pular, precisará conectar suas próprias chaves para usar IA e armazenamento.",
186
+ "onboarding.creditsSubtitle":
187
+ "Ganhe créditos gratuitos para LLMs, Jev, armazenamento e muito mais para este app em um clique com a Builder.io.",
188
+ "onboarding.creditsLearnMore": "Saiba mais",
189
+ "onboarding.creditsSkip": "Pular",
190
+ "onboarding.creditsSkipConfirmTitle": "Tem certeza?",
191
+ "onboarding.creditsSkipConfirmBody":
192
+ "Apps Agent-Native precisam de um LLM conectado para usar a maioria dos recursos. A maioria das funcionalidades não funciona sem um.",
193
+ "onboarding.creditsSkipGoBack": "Voltar",
194
+ "onboarding.creditsSkipAnyway": "Pular mesmo assim",
195
+ "onboarding.creditsUseCustomKeys": "Usar chaves personalizadas",
196
+ "onboarding.creditsAboutLabel": "Sobre os créditos gratuitos",
197
+ "onboarding.creditsActivating": "Ativando créditos gratuitos",
198
+ "onboarding.creditsActivatingTooltip":
199
+ "A Builder oferece créditos gratuitos para LLMs, Jev, armazenamento e muito mais, para você usar os recursos de IA deste app sem suas próprias chaves.",
190
200
  "onboarding.builderConnect": "Conectar Builder.io",
191
201
  "onboarding.builderActivating":
192
202
  "Ativando os créditos gratuitos do Builder.io",
@@ -229,8 +239,7 @@ const messages: ToolkitAgentChatTranslation = {
229
239
  "onboarding.capability.embeddings.why":
230
240
  "Vetores semânticos melhoram a busca semântica. A busca por palavras-chave continua funcionando sem eles.",
231
241
  "onboarding.capability.webSearch.label": "Pesquisa na Web",
232
- "onboarding.capability.webSearch.keySummary":
233
- "Pesquisa na Web gerenciada pelo Builder",
242
+ "onboarding.capability.webSearch.keySummary": "Pesquisa na Web",
234
243
  "onboarding.capability.webSearch.why":
235
244
  "Pesquise em fontes públicas atuais na Web. A pesquisa gerenciada pelo Builder usa os créditos de IA incluídos, sem exigir uma chave de pesquisa separada.",
236
245
  "onboarding.capability.systemOne.why":
@@ -171,10 +171,21 @@ const messages: ToolkitAgentChatTranslation = {
171
171
  "onboarding.creditsActivate": "激活免费额度",
172
172
  "onboarding.creditsFinePrint":
173
173
  "这将创建一个免费的 Builder.io 账户。继续表示您同意我们的",
174
- "onboarding.creditsConnectExisting": "连接现有 Builder.io 账户",
175
174
  "onboarding.creditsMoreInfo": "更多信息",
176
- "onboarding.creditsSkipBody":
177
- "如果您跳过,您需要连接自己的密钥才能使用 AI 和存储。",
175
+ "onboarding.creditsSubtitle":
176
+ "从 Builder.io 一键获取适用于此应用的 LLM、Jev、存储等免费额度。",
177
+ "onboarding.creditsLearnMore": "了解更多",
178
+ "onboarding.creditsSkip": "跳过",
179
+ "onboarding.creditsSkipConfirmTitle": "确定要跳过吗?",
180
+ "onboarding.creditsSkipConfirmBody":
181
+ "Agent-Native 应用需要连接 LLM 才能使用大部分功能。没有 LLM,大部分功能都无法使用。",
182
+ "onboarding.creditsSkipGoBack": "返回",
183
+ "onboarding.creditsSkipAnyway": "仍然跳过",
184
+ "onboarding.creditsUseCustomKeys": "使用自定义密钥",
185
+ "onboarding.creditsAboutLabel": "关于免费额度",
186
+ "onboarding.creditsActivating": "正在激活免费额度",
187
+ "onboarding.creditsActivatingTooltip":
188
+ "Builder 提供 LLM、Jev、存储等免费额度,无需自备密钥即可使用此应用的 AI 功能。",
178
189
  "onboarding.builderConnect": "连接 Builder.io",
179
190
  "onboarding.builderActivating": "正在激活 Builder.io 免费额度",
180
191
  "onboarding.builderConnecting": "正在设置 Builder.io 免费额度",
@@ -208,7 +219,7 @@ const messages: ToolkitAgentChatTranslation = {
208
219
  "onboarding.capability.embeddings.why":
209
220
  "嵌入向量可以改进语义搜索。没有嵌入向量时,关键词搜索仍然有效。",
210
221
  "onboarding.capability.webSearch.label": "网页搜索",
211
- "onboarding.capability.webSearch.keySummary": "由 Builder 管理的网页搜索",
222
+ "onboarding.capability.webSearch.keySummary": "网页搜索",
212
223
  "onboarding.capability.webSearch.why":
213
224
  "搜索网页上的最新公开信息。Builder 管理的搜索使用随附的 Builder AI 积分,因此无需单独的搜索 API 密钥。",
214
225
  "onboarding.capability.systemOne.why":
@@ -172,10 +172,21 @@ const messages: ToolkitAgentChatTranslation = {
172
172
  "onboarding.creditsActivate": "啟用免費額度",
173
173
  "onboarding.creditsFinePrint":
174
174
  "這將建立一個免費的 Builder.io 帳戶。繼續表示您同意我們的",
175
- "onboarding.creditsConnectExisting": "連線至現有 Builder.io 帳戶",
176
175
  "onboarding.creditsMoreInfo": "更多資訊",
177
- "onboarding.creditsSkipBody":
178
- "如果您跳過,您將需要連線自己的密鑰才能使用 AI 和儲存空間。",
176
+ "onboarding.creditsSubtitle":
177
+ "從 Builder.io 一鍵取得適用於此應用程式的 LLM、Jev、儲存空間等免費額度。",
178
+ "onboarding.creditsLearnMore": "瞭解更多",
179
+ "onboarding.creditsSkip": "跳過",
180
+ "onboarding.creditsSkipConfirmTitle": "確定要跳過嗎?",
181
+ "onboarding.creditsSkipConfirmBody":
182
+ "Agent-Native 應用程式需要連接 LLM 才能使用大部分功能。沒有 LLM,大部分功能都無法運作。",
183
+ "onboarding.creditsSkipGoBack": "返回",
184
+ "onboarding.creditsSkipAnyway": "仍然跳過",
185
+ "onboarding.creditsUseCustomKeys": "使用自訂金鑰",
186
+ "onboarding.creditsAboutLabel": "關於免費額度",
187
+ "onboarding.creditsActivating": "正在啟用免費額度",
188
+ "onboarding.creditsActivatingTooltip":
189
+ "Builder 提供 LLM、Jev、儲存空間等免費額度,無需自備金鑰即可使用此應用程式的 AI 功能。",
179
190
  "onboarding.builderConnect": "連線至 Builder.io",
180
191
  "onboarding.builderActivating": "正在啟用 Builder.io 免費額度",
181
192
  "onboarding.builderConnecting": "正在設定 Builder.io 免費額度",
@@ -210,7 +221,7 @@ const messages: ToolkitAgentChatTranslation = {
210
221
  "onboarding.capability.embeddings.why":
211
222
  "嵌入向量可改善語意搜尋。沒有嵌入向量時,關鍵字搜尋仍可運作。",
212
223
  "onboarding.capability.webSearch.label": "網頁搜尋",
213
- "onboarding.capability.webSearch.keySummary": "由 Builder 管理的網頁搜尋",
224
+ "onboarding.capability.webSearch.keySummary": "網頁搜尋",
214
225
  "onboarding.capability.webSearch.why":
215
226
  "搜尋網頁上的最新公開資訊。Builder 管理的搜尋使用隨附的 Builder AI 點數,因此不需要另外設定搜尋 API 金鑰。",
216
227
  "onboarding.capability.systemOne.why":
@@ -1080,9 +1080,7 @@ describe("FirstRunOnboarding", () => {
1080
1080
  ?.dispatchEvent(new MouseEvent("click", { bubbles: true }));
1081
1081
  });
1082
1082
 
1083
- expect(document.body.textContent).toContain(
1084
- "Activating Builder.io free credits",
1085
- );
1083
+ expect(document.body.textContent).toContain("Activating free credits");
1086
1084
  expect(document.body.textContent).toContain(
1087
1085
  "Creating your Builder.io account and activating free credits.",
1088
1086
  );
@@ -2927,6 +2925,10 @@ describe("FirstRunOnboarding", () => {
2927
2925
  mocks.useBuilderConnectFlow.mockReturnValue(flow());
2928
2926
  openChoice();
2929
2927
  expect(q("first-run-credits-offer")).toBeNull();
2928
+ expect(
2929
+ document.body.querySelector("[data-onboarding-loading='true']"),
2930
+ ).toBeNull();
2931
+ expect(q("first-run-open-key-settings")).not.toBeNull();
2930
2932
  expect(mocks.setOnboardingExperiment).not.toHaveBeenCalled();
2931
2933
  });
2932
2934
 
@@ -2963,18 +2965,20 @@ describe("FirstRunOnboarding", () => {
2963
2965
  expect(q("first-run-setup-skip")).toBeNull();
2964
2966
  });
2965
2967
 
2966
- it("shows the cards, a skip warning and a working skip under More info in Clips", () => {
2968
+ it("keeps skip out of More info and confirms it from the corner in Clips", () => {
2967
2969
  openClipsChoice();
2968
2970
  click("first-run-credits-more-info");
2969
2971
  expect(q("first-run-open-key-settings")).not.toBeNull();
2970
- expect(q("first-run-credits-details")?.textContent).toContain(
2972
+ expect(q("first-run-setup-skip")).toBeNull();
2973
+ expect(q("first-run-credits-details")?.textContent).not.toContain(
2971
2974
  "If you skip, you'll need to connect your own keys to use AI and storage.",
2972
2975
  );
2973
2976
  expect(mocks.trackOnboardingEvent).not.toHaveBeenCalledWith(
2974
2977
  "onboarding_step_skipped",
2975
2978
  expect.objectContaining({ step_id: "choice" }),
2976
2979
  );
2977
- click("first-run-setup-skip");
2980
+ click("first-run-credits-skip");
2981
+ click("first-run-credits-skip-confirm");
2978
2982
  expect(mocks.trackOnboardingEvent).toHaveBeenCalledWith(
2979
2983
  "onboarding_step_skipped",
2980
2984
  expect.objectContaining({ step_id: "choice" }),
@@ -2988,6 +2992,23 @@ describe("FirstRunOnboarding", () => {
2988
2992
  expect(q("first-run-setup-skip")).toBeNull();
2989
2993
  });
2990
2994
 
2995
+ it("asks before skipping from the credits offer and skips on confirm", () => {
2996
+ mocks.useBuilderConnectFlow.mockReturnValue(flow());
2997
+ openChoice();
2998
+ click("first-run-credits-skip");
2999
+ expect(document.body.textContent).toContain("Are you sure?");
3000
+ mocks.trackOnboardingEvent.mockClear();
3001
+ expect(mocks.trackOnboardingEvent).not.toHaveBeenCalledWith(
3002
+ "onboarding_step_skipped",
3003
+ expect.anything(),
3004
+ );
3005
+ click("first-run-credits-skip-confirm");
3006
+ expect(mocks.trackOnboardingEvent).toHaveBeenCalledWith(
3007
+ "onboarding_step_skipped",
3008
+ expect.objectContaining({ step_id: "choice" }),
3009
+ );
3010
+ });
3011
+
2991
3012
  it("activates credits by provisioning an account", () => {
2992
3013
  const start = vi.fn();
2993
3014
  mocks.useBuilderConnectFlow.mockReturnValue(flow({ start }));
@@ -3037,6 +3058,23 @@ describe("FirstRunOnboarding", () => {
3037
3058
  expect(q("first-run-open-key-settings")).toBeNull();
3038
3059
  });
3039
3060
 
3061
+ it("opens the same More info panel from the Learn more link beside the subtitle", () => {
3062
+ mocks.useBuilderConnectFlow.mockReturnValue(flow());
3063
+ openChoice();
3064
+ expect(q("first-run-credits-offer")?.textContent).toContain(
3065
+ "Get free credits for LLMs, Jev, storage, and more for this app in one click from Builder.io.",
3066
+ );
3067
+ click("first-run-credits-learn-more");
3068
+ expect(mocks.trackOnboardingEvent).toHaveBeenCalledWith(
3069
+ "onboarding_more_info_opened",
3070
+ { flow: "first_run", step_id: "choice" },
3071
+ );
3072
+ expect(
3073
+ q("first-run-credits-more-info")?.getAttribute("aria-expanded"),
3074
+ ).toBe("true");
3075
+ expect(q("first-run-builder-create-account")).not.toBeNull();
3076
+ });
3077
+
3040
3078
  it("holds a skeleton until Builder status is known", () => {
3041
3079
  mocks.useBuilderConnectFlow.mockReturnValue(
3042
3080
  flow({ hasFetchedStatus: false }),